· 7 years ago · Nov 13, 2018, 09:58 AM
1 METHOD dyncreate_all_idoc_sement_data.
2*&H***************************************************************
3*&H SAP-Module : FI-LCT *
4*&H Author : S.Kühnel *
5*&H Company/Department: Sopra Steria GmbH *
6*&H Phone : *
7*&H E-Mail : sascha.kuehnel@soprasteria.com *
8*&H Date of creation: 2018-02-01 *
9*&D***************************************************************
10*&D Description : *
11*&D creates idoc data dynamically matching *
12*&D customizing and mapping *
13*&C***************************************************************
14*&C Change history : *
15*&C Developer | Code/Date | Description *
16*&C -------------------------------------------------------------*
17*&C <Name> | <code>.<Date>| <Description> *
18*&C***************************************************************
19 " data definitions
20 FIELD-SYMBOLS: <ls_edid4_copy> TYPE zlctedid4_t. "66975940 kuehnesa 20180116
21
22 DATA: ls_document TYPE zlctedid4_t.
23
24 CONSTANTS: lc_hlevel_head TYPE edi4hlevec VALUE '01'.
25 CONSTANTS: lc_hlevel_item TYPE edi4hlevec VALUE '02'.
26 CONSTANTS: lc_hlevel_sub_item TYPE edi4hlevec VALUE '03'.
27 CONSTANTS: lc_hlevel_sub_sub TYPE edi4hlevec VALUE '04'.
28 CONSTANTS: lc_hlevel_sub_sub_sub TYPE edi4hlevec VALUE '05'.
29
30
31
32
33 FIELD-SYMBOLS: <lfs_ref_to_parent> TYPE zlct_xmlel_mls_s,
34 <lfs_ref_to_element> TYPE zlct_xmlel_mls_s.
35
36 FIELD-SYMBOLS: <ls_zlctdate> TYPE zlctdate_t,
37 <ls_zlctoption> TYPE zlctoption_t,
38 <ls_zlctpartrel> TYPE zlctpartrel_t,
39 <ls_zlctobject> TYPE zlctobject_t,
40 <ls_zlctcoksst> TYPE zlctcoksst_t,
41 <ls_zlctcond> TYPE zlctcond_t.
42
43* Data access
44 FIELD-SYMBOLS: <lfs_current_struc> TYPE any.
45 FIELD-SYMBOLS: <lfs_current_table> TYPE ANY TABLE.
46
47 DATA: lv_tag_name TYPE string.
48
49 DATA: lo_outbd_mapper TYPE REF TO zficln_lct_outbd_mapper.
50
51
52* Zugriff auf Kontraktdaten
53 DATA: ls_ctrkey TYPE zlctcontract_s.
54
55 DATA: ls_zlctoutfile_s TYPE zlct_outfile_s,
56 lt_zlctoutfile TYPE TABLE OF zlct_outfile_s.
57
58* Strukturen und Hilfstabellen
59 DATA: ls_zlctcontract TYPE zlctcontract_t,
60 lt_zlctcontract TYPE TABLE OF zlctcontract_t,
61 ls_zlctheader TYPE zlctheader_t,
62 lt_zlctheader TYPE TABLE OF zlctheader_t,
63 ls_zlctsale TYPE zlctsale_t,
64 lt_zlctsale TYPE TABLE OF zlctsale_t.
65
66* Strukturen und Tabellen
67 DATA:
68 lt_zlctstatus TYPE TABLE OF zlctstatus_t,
69 ls_zlctstatus TYPE zlctstatus_t,
70 lt_zlctstatus_2 TYPE TABLE OF zlctstatus_t,
71 lt_zlctdate TYPE TABLE OF zlctdate_t,
72 ls_zlctdate TYPE zlctdate_t,
73 lt_zlctoption TYPE TABLE OF zlctoption_t,
74 ls_zlctoption TYPE zlctoption_t,
75 lt_zlctpartrel TYPE TABLE OF zlctpartrel_t,
76 lt_zlctobject TYPE TABLE OF zlctobject_t,
77 ls_zlctobject TYPE zlctobject_t,
78 lt_zlctaro TYPE TABLE OF zlctaro_t,
79 ls_zlctaro TYPE zlctaro_t,
80 lt_zlctcoksst TYPE TABLE OF zlctcoksst_t,
81 ls_zlctcoksst TYPE zlctcoksst_t,
82 lt_zlctcond TYPE TABLE OF zlctcond_t,
83 ls_zlctcond TYPE zlctcond_t,
84 lt_zlctvalue TYPE TABLE OF zlctvalue_t,
85 ls_zlctvalue TYPE zlctvalue_t,
86 lt_zlctimage TYPE TABLE OF zlctimage_t,
87 ls_zlctimage TYPE zlctimage_t,
88 ls_dd40 TYPE edi_dd40,
89 ls_zlctcompany TYPE zlct_company_t,
90 ls_lnl_map_t TYPE zlct_lnl_map_t,
91 ls_zlct_opco_type_t TYPE zlct_opco_type_t,
92 lv_zahlrhythmus TYPE zlctcondrth,
93 lv_item_count TYPE i,
94 lv_zlctoptreacer TYPE zlctoptreacer.
95
96
97 FIELD-SYMBOLS: <ls_edid4> TYPE edi_dd40.
98
99 DATA: lv_psgnum_zlcte1con_head TYPE edi4psgnuc,
100 lv_psgnum_zlcte1con_item TYPE edi4psgnuc,
101 lv_psgnum_zlcte1con_item_eo TYPE edi4psgnuc,
102 lv_psgnum_zlcte1con_item_put TYPE edi4psgnuc,
103 lv_psgnum_zlcte1con_item_pur TYPE edi4psgnuc,
104 lv_psgnum_zlcte1con_item_to TYPE edi4psgnuc,
105 lv_psgnum_zlcte1con_item_rv TYPE edi4psgnuc,
106 lv_psgnm_ze1con_item_as_loc TYPE edi4psgnuc,
107 lv_psgnm_ze1con_item_as_ca_loc TYPE edi4psgnuc,
108 lv_psgnm_ze1con_item_as_ifr TYPE edi4psgnuc,
109 lv_psgnm_ze1con_item_as_ca_ifr TYPE edi4psgnuc.
110
111
112* exception handling
113 FIELD-SYMBOLS: <msg> TYPE bapiret2.
114 " DATA: lv_sy_tabix TYPE sy-tabix.
115
116* Temp vars
117 DATA: lv_current_parent_node TYPE zlctelement.
118 DATA: lv_tab_name TYPE string.
119
120 DATA: ls_return TYPE bapiret2.
121
122 DATA: lt_edid4 TYPE TABLE OF edid4,
123 ls_edid4 TYPE edid4,
124 ls_edidc TYPE edidc,
125 lt_string TYPE TABLE OF string,
126 lv_string TYPE string,
127 lv_merged_file TYPE string.
128
129 DATA: lv_hlevel TYPE edi4hlevec.
130 DATA: lv_hlevel_numc(2) TYPE n.
131
132
133*>>66975940 kuehnesa 20180116 segment key aufbauen
134 CONSTANTS: lc_client TYPE mandt VALUE space,
135 lc_map_const TYPE c LENGTH 1 VALUE 0,
136 lc_map_struc TYPE c LENGTH 1 VALUE 1,
137 lc_map_tab TYPE c LENGTH 1 VALUE 2,
138 lc_map_code TYPE c LENGTH 1 VALUE 3,
139 lc_head_switch TYPE zlct_item_head VALUE 'HEAD',
140 lc_item_switch TYPE zlct_item_head VALUE 'ITEM'.
141
142*<<66975940 kuehnesa 20180116 segment key aufbauen
143 DATA: ls_zlcte1con_head_extid TYPE zlcte1con_head_extid,
144 lt_zlcte1con_head_extid TYPE zlcte1con_head_extid_tt,
145 ls_zlcte1con_item_extid TYPE zlcte1con_item_extid,
146 lt_zlcte1con_item_extid TYPE zlcte1con_item_extid_tt.
147
148 DATA: ls_zlcte1con_head_accfact TYPE zlcte1con_head_accfact,
149 ls_zlcte1con_head_bp TYPE zlcte1con_head_bp,
150 ls_zlcte1con_item TYPE zlcte1con_item,
151 ls_zlcte1con_item_gen TYPE zlcte1con_item_gen,
152 ls_zlcte1con_item_leext TYPE zlcte1con_item_leext,
153 ls_zlcte1con_item_retob TYPE zlcte1con_item_retob,
154 ls_zlcte1con_item_gext TYPE zlcte1con_item_gext,
155 ls_zlcte1con_item_cond TYPE zlcte1con_item_cond,
156 ls_zlcte1con_item_index TYPE zlcte1con_item_index,
157 ls_zlcte1con_item_float TYPE zlcte1con_item_float,
158 ls_zlcte1con_item_eo TYPE zlcte1con_item_eo,
159 ls_zlcte1con_eo_cond TYPE zlcte1con_eo_cond,
160 ls_zlcte1con_item_put TYPE zlcte1con_item_put,
161 ls_zlcte1con_put_cond TYPE zlcte1con_put_cond,
162 ls_zlcte1con_item_pur TYPE zlcte1con_item_pur,
163 ls_zlcte1con_pur_cond TYPE zlcte1con_pur_cond,
164 ls_zlcte1con_item_to TYPE zlcte1con_item_to,
165 ls_zlcte1con_to_cond TYPE zlcte1con_to_cond,
166 ls_zlcte1con_item_rv TYPE zlcte1con_item_rv,
167 ls_zlcte1con_rv_cond TYPE zlcte1con_rv_cond,
168 ls_zlcte1con_item_leint TYPE zlcte1con_item_leint,
169 ls_zlcte1con_item_ap TYPE zlcte1con_item_ap,
170 ls_zlcte1con_item_as TYPE zlcte1con_item_as,
171 ls_zlcte1con_as_ca TYPE zlcte1con_as_ca,
172 ls_zlcte1con_ca_cond TYPE zlcte1con_ca_cond,
173 ls_zlcte1con_item_classm TYPE zlcte1con_item_classm,
174 ls_zlcte1con_item_condv TYPE zlcte1con_item_condv,
175 ls_zlcte1con_item_cfact TYPE zlcte1con_item_cfact,
176 ls_zlcte1con_item_qty_reduc TYPE zlcte1con_item_qty_reduc,
177 ls_zlcte1con_item_val_var TYPE zlcte1con_item_val_var,
178 ls_zlcte1con_item_term TYPE zlcte1con_item_term. " ins JB 20181016
179
180 DATA: lv_count TYPE i VALUE 1,
181 lv_cust_err TYPE c LENGTH 1.
182
183 IF NOT mo_ut_app_log IS BOUND.
184 CREATE OBJECT mo_ut_app_log
185 EXPORTING
186 iv_subobject = lv_subobject
187* IV_LOGHANDLE =
188* IV_EXTNUMBER =
189 iv_object = lv_object.
190 ENDIF.
191
192 ls_ctrkey-zlctintreno = iv_zlctintreno.
193 ls_ctrkey-zcondlfd = iv_condlfd.
194 " if old version flag is false and runid is initial -> get new contract data and save this data to shadow database
195 IF iv_old_version = abap_false.
196
197 IF mv_rouid IS INITIAL.
198
199 CALL METHOD zficln_lct_db_contracts=>read_contract_data
200 EXPORTING
201 iv_not_select_deactivated = abap_true
202 is_zlctcontract_key = ls_ctrkey " LCT-Vertrags-Keyfelder
203 IMPORTING
204 es_zlctheader = ls_zlctheader " LCT Kopfdaten
205 es_zlctcontract = ls_zlctcontract " LCT Vertragsdaten
206 es_zlctsale = ls_zlctsale " LCT Umsätze
207 et_zlctstatus = lt_zlctstatus " LCT Status
208 et_zlctdate = lt_zlctdate " Tabellentyp LCT Datumsdaten
209 et_zlctoption = lt_zlctoption " Tabellentyp LCT Optionen
210 et_zlctpartrel = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
211 et_zlctobject = lt_zlctobject " Tabellentyp LCT Objekte
212 et_zlctaro = lt_zlctaro " LCT ARO
213 et_zlctcoksst = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
214 et_zlctcond = lt_zlctcond " Tabellentyp LCT Kondition
215 et_zlctvalue = lt_zlctvalue " Tabellentyp LCT Werte
216 et_zlctimage = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archi
217 EXCEPTIONS
218 contract_key_empty = 1
219 contract_not_found = 2
220 OTHERS = 3.
221
222 IF sy-subrc NE 0.
223
224 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
225
226 CLEAR: <msg>.
227
228 " Intreno-Nbr. &1 not valid.
229 <msg>-type = 'E'.
230 <msg>-id = 'ZFI_LCT_DB'.
231 <msg>-number = '12'.
232 <msg>-message_v1 = ls_zlctheader-zlctintreno.
233
234 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
235 EXPORTING
236 is_message = <msg>.
237
238 CALL METHOD mo_ut_app_log->save.
239
240 MESSAGE e012(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
241
242 UNASSIGN: <msg>.
243
244 EXIT.
245
246 ELSE.
247
248 SORT lt_zlctaro BY zobjguid zarodlfd.
249
250 ENDIF.
251
252 CALL METHOD mo_outbd_service->save_contract_data
253 EXPORTING
254 is_zlctheader = ls_zlctheader " LCT Kopfdaten
255 is_zlctcontract = ls_zlctcontract " LCT Vertragsdaten
256 is_zlctsale = ls_zlctsale " LCT Umsätze
257 it_zlctstatus = lt_zlctstatus " LCT Status
258 it_zlctdate = lt_zlctdate " Tabellentyp LCT Datumsdaten
259 it_zlctoption = lt_zlctoption " Tabellentyp LCT Optionen
260 it_zlctpartrel = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
261 it_zlctobject = lt_zlctobject " Tabellentyp LCT Objekte
262 it_zlctaro = lt_zlctaro " LCT ARO
263 it_zlctcoksst = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
264 it_zlctcond = lt_zlctcond " Tabellentyp LCT Kondition
265 it_zlctvalue = lt_zlctvalue " Tabellentyp LCT Werte
266 it_zlctimage = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
267 CHANGING
268 ct_return = ct_return
269 EXCEPTIONS
270 error_on_insert = 1
271 OTHERS = 0.
272
273 IF sy-subrc <> 0.
274 EXIT.
275 ELSE.
276 COMMIT WORK.
277 ENDIF.
278
279 " if old version flag is false and runid is not initial -> get contract data for runid
280 ELSE.
281
282 CALL METHOD mo_outbd_service->read_old_contract_data
283 EXPORTING
284 is_zlctcontract_key = ls_ctrkey " LCT-Vertrags-Keyfelder
285 IMPORTING
286 es_zlctheader = ls_zlctheader " LCT Kopfdaten
287 es_zlctcontract = ls_zlctcontract " LCT Vertragsdaten
288 es_zlctsale = ls_zlctsale " LCT Umsätze
289 et_zlctstatus = lt_zlctstatus " LCT Status
290 et_zlctdate = lt_zlctdate " Tabellentyp LCT Datumsdaten
291 et_zlctoption = lt_zlctoption " Tabellentyp LCT Optionen
292 et_zlctpartrel = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
293 et_zlctobject = lt_zlctobject " Tabellentyp LCT Objekte
294 et_zlctaro = lt_zlctaro " LCT ARO
295 et_zlctcoksst = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
296 et_zlctcond = lt_zlctcond " Tabellentyp LCT Kondition
297 et_zlctvalue = lt_zlctvalue " Tabellentyp LCT Werte
298 et_zlctimage = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
299 ev_rouid = ev_rouid
300 EXCEPTIONS
301 contract_key_empty = 1
302 contract_not_found = 2
303 OTHERS = 3.
304
305 IF sy-subrc NE 0.
306
307 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
308
309 CLEAR: <msg>.
310
311 " no contract could be found for run-id &1.
312 <msg>-type = 'E'.
313 <msg>-id = 'ZFI_LCT_DB'.
314 <msg>-number = '57'.
315 <msg>-message_v1 = ev_rouid.
316
317 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
318 EXPORTING
319 is_message = <msg>.
320
321 CALL METHOD mo_ut_app_log->save.
322
323 MESSAGE e057(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
324
325 UNASSIGN: <msg>.
326
327 EXIT.
328
329 ELSE.
330
331 SORT lt_zlctaro BY zobjguid zarodlfd.
332
333 ENDIF.
334
335 ENDIF.
336
337 ELSE.
338 " if old version flag is true -> get old contract data of preversion
339
340 CALL METHOD mo_outbd_service->read_old_contract_data
341 EXPORTING
342 iv_last_version = abap_true
343 is_zlctcontract_key = ls_ctrkey " LCT-Vertrags-Keyfelder
344 IMPORTING
345 es_zlctheader = ls_zlctheader " LCT Kopfdaten
346 es_zlctcontract = ls_zlctcontract " LCT Vertragsdaten
347 es_zlctsale = ls_zlctsale " LCT Umsätze
348 et_zlctstatus = lt_zlctstatus " LCT Status
349 et_zlctdate = lt_zlctdate " Tabellentyp LCT Datumsdaten
350 et_zlctoption = lt_zlctoption " Tabellentyp LCT Optionen
351 et_zlctpartrel = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
352 et_zlctobject = lt_zlctobject " Tabellentyp LCT Objekte
353 et_zlctaro = lt_zlctaro " LCT ARO
354 et_zlctcoksst = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
355 et_zlctcond = lt_zlctcond " Tabellentyp LCT Kondition
356 et_zlctvalue = lt_zlctvalue " Tabellentyp LCT Werte
357 et_zlctimage = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
358 ev_rouid = ev_rouid
359 EXCEPTIONS
360 contract_key_empty = 1
361 contract_not_found = 2
362 OTHERS = 3.
363
364 IF sy-subrc NE 0.
365
366 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
367
368 CLEAR: <msg>.
369
370 " no prior version could be found for intreno nr. &1.
371 <msg>-type = 'I'.
372 <msg>-id = 'ZFI_LCT_DB'.
373 <msg>-number = '59'.
374 <msg>-message_v1 = ls_zlctheader-zlctintreno.
375
376 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
377 EXPORTING
378 is_message = <msg>.
379
380 CALL METHOD mo_ut_app_log->save.
381
382 MESSAGE i059(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
383
384 UNASSIGN: <msg>.
385
386 EXIT.
387
388 ELSE.
389
390 SORT lt_zlctaro BY zobjguid zarodlfd.
391
392 ENDIF.
393
394 ENDIF.
395
396 " delete entries of table that don´t fit into timespace
397* LOOP AT lt_zlctdate ASSIGNING <ls_zlctdate>.
398* IF <ls_zlctdate>-zvalidfr1 > sy-datum OR <ls_zlctdate>-zvalidto1 < sy-datum OR <ls_zlctdate>-zvalidfr1 = <ls_zlctdate>-zvalidto1.
399* DELETE TABLE lt_zlctdate FROM <ls_zlctdate>.
400* ENDIF.
401* ENDLOOP.
402*
403* LOOP AT lt_zlctoption ASSIGNING <ls_zlctoption>.
404* IF <ls_zlctoption>-zvalidfr1 > sy-datum OR <ls_zlctoption>-zvalidto1 < sy-datum OR <ls_zlctoption>-zvalidfr1 = <ls_zlctoption>-zvalidto1.
405* DELETE TABLE lt_zlctoption FROM <ls_zlctoption>.
406* ENDIF.
407* ENDLOOP.
408*
409* LOOP AT lt_zlctpartrel ASSIGNING <ls_zlctpartrel>.
410* IF <ls_zlctpartrel>-zvalidfr1 > sy-datum OR <ls_zlctpartrel>-zvalidto1 < sy-datum OR <ls_zlctpartrel>-zvalidfr1 = <ls_zlctpartrel>-zvalidto1.
411* DELETE TABLE lt_zlctpartrel FROM <ls_zlctpartrel>.
412* ENDIF.
413* ENDLOOP.
414*
415* LOOP AT lt_zlctobject ASSIGNING <ls_zlctobject>.
416* IF <ls_zlctobject>-zvalidfr1 > sy-datum OR <ls_zlctobject>-zvalidto1 < sy-datum OR <ls_zlctobject>-zvalidfr1 = <ls_zlctobject>-zvalidto1.
417* DELETE TABLE lt_zlctobject FROM <ls_zlctobject>.
418* ENDIF.
419* ENDLOOP.
420*
421* LOOP AT lt_zlctcoksst ASSIGNING <ls_zlctcoksst>.
422* IF <ls_zlctcoksst>-zvalidfr1 > sy-datum OR <ls_zlctcoksst>-zvalidto1 < sy-datum OR <ls_zlctcoksst>-zvalidfr1 = <ls_zlctcoksst>-zvalidto1.
423* DELETE TABLE lt_zlctcoksst FROM <ls_zlctcoksst>.
424* ENDIF.
425* ENDLOOP.
426*
427* LOOP AT lt_zlctcond ASSIGNING <ls_zlctcond>.
428* IF <ls_zlctcond>-zvalidfr1 > sy-datum OR <ls_zlctcond>-zvalidto1 < sy-datum OR <ls_zlctcond>-zvalidfr1 = <ls_zlctcond>-zvalidto1.
429* DELETE TABLE lt_zlctcond FROM <ls_zlctcond>.
430* ENDIF.
431* ENDLOOP.
432
433 " check customizing of mapping
434 CALL METHOD zficln_lct_outbd_mapper=>check_mapping_cust
435 EXCEPTIONS
436 mapping_error = 1
437 OTHERS = 2.
438
439 IF sy-subrc <> 0.
440 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
441
442 CLEAR: <msg>.
443
444 " error in LNL mapping customizing
445 <msg>-type = 'E'.
446 <msg>-id = 'ZFI_LCT_DB'.
447 <msg>-number = '19'.
448
449 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
450 EXPORTING
451 is_message = <msg>.
452
453 CALL METHOD mo_ut_app_log->save.
454
455 MESSAGE e019(zfi_lct_db) INTO <msg>-message.
456
457 UNASSIGN: <msg>.
458
459 EXIT.
460 ENDIF.
461
462
463*** beg cha JB 180917 Defect: 2060118401, LNL_erstmals fällig
464 " if only one object exists in contract, take this object for all tables
465 CALL METHOD mo_outbd_service->set_object_relation_for_1obj
466 EXPORTING
467 it_zlctobject = lt_zlctobject
468 CHANGING
469 ct_zlctoption = lt_zlctoption
470 ct_zlctcond = lt_zlctcond
471 ct_zlctdate = lt_zlctdate
472 ct_zlctcoksst = lt_zlctcoksst.
473*** end cha JB 180917
474
475
476 " read company customizing
477 READ TABLE mt_company_lnl INTO ls_zlctcompany WITH KEY bukrs = ls_zlctheader-zlctbukrs.
478
479* Deaktivierte Objete sind nicht relevant(, da sie in Portfolios zusammengefaßt sind).
480* ZPORSTAT ZLCTPORSTAT CHAR 1 0 Einzelobjekt deaktiviert
481 DELETE lt_zlctobject WHERE zporstat IS NOT INITIAL.
482
483
484
485
486
487*** beg ins JB 20181019
488
489*************************************************************************
490* Sort the tables for consistent processing.
491*************************************************************************
492
493*sort lt_zlctstatus by . " LCT Status
494 SORT lt_zlctdate BY zlctintreno zobjzuord zdatart zvalidfr1 zvalidto1 zdatdate zdatebis zdatdat1. " Tabellentyp LCT Datumsdaten
495 SORT lt_zlctoption BY zlctintreno zoptlfdnr zobjzuord zvalidfr1 zvalidto1 zoptart zopdate zopdat1 zoptbeg zoptend. " Tabellentyp LCT Optionen
496 SORT lt_zlctpartrel BY zlctintreno zvalidfr1 zvalidto1. " Tabellentyp LCT Partner Relationen
497 SORT lt_zlctobject BY zlctintreno zobjid zobjtype zobjtext zobjextid zvalidobjfr1 zvalidtobjo1 zvalidfr1 zvalidto1. " Tabellentyp LCT Objekte
498 SORT lt_zlctaro BY zlctintreno. " LCT ARO
499 SORT lt_zlctcoksst BY zlctintreno zobjzuord zcolart zvalidfr1 zvalidto1. " Tabellentyp LCT Kostenstellen
500 SORT lt_zlctcond BY zlctintreno zcondgaap zobjzuord zcondart zvalidfr1 zvalidto1 zportknz1 zcondnach zcondreacer zcondwert zcondcurr zcondvat zcondrth zcondservi. " Tabellentyp LCT Kondition
501 SORT lt_zlctvalue BY zlctintreno zvaluegaap zvaluekind zvalidfr1 zvalidto1 zcondlfd. " Tabellentyp LCT Werte
502* SORT lt_zlctimage BY zlctintreno. " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
503
504*** end ins JB 20181019
505
506
507*************************************************************************
508* segment creation
509*************************************************************************
510
511
512*************************************************************************
513* ------------------------------------------------------------------------------------------------
514* Segment E1CON_HEAD
515* ------------------------------------------------------------------------------------------------
516
517
518 CREATE OBJECT lo_outbd_mapper
519 EXPORTING
520 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
521 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
522 is_zlctsale_t = ls_zlctsale " LCT Umsätze
523 it_zlctstatus_t = lt_zlctstatus " LCT Status
524 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
525 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
526 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
527 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
528 it_zlctaro_t = lt_zlctaro " LCT ARO
529 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
530 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
531 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
532 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
533 it_segment_fields = mt_segment_fields.
534
535
536 lv_count = 0.
537
538
539 CALL METHOD lo_outbd_mapper->map_head
540 EXPORTING
541 iv_segment = '/DTLN/E1CON_HEAD'
542 iv_initd = iv_initd
543 iv_initial_load = iv_initial_load
544 iv_mandt = lc_client
545 iv_docnum = iv_docnum
546 iv_hlevel = lc_hlevel_head
547 iv_source = mv_source
548 IMPORTING
549 ev_activ = DATA(lv_activ)
550 CHANGING
551 cv_count = lv_count
552 ct_document = et_document.
553
554 lv_psgnum_zlcte1con_head = lv_count.
555
556 CHECK lv_activ = abap_true.
557
558* ------------------------------------------------------------------------------------------------
559* Segment E1CON_HEAD_GEN
560* ------------------------------------------------------------------------------------------------
561
562 CALL METHOD lo_outbd_mapper->map_head_gen
563 EXPORTING
564 iv_segment = '/DTLN/E1CON_HEAD_GEN'
565 iv_mandt = lc_client
566 iv_docnum = iv_docnum
567 iv_psgnum = lv_psgnum_zlcte1con_head
568 iv_hlevel = lc_hlevel_item
569 CHANGING
570 ct_count = lv_count
571 ct_document = et_document.
572
573* ------------------------------------------------------------------------------------------------
574* Segment ZLCTE1CON_HEAD_BP
575* ------------------------------------------------------------------------------------------------
576 CLEAR: ls_zlcte1con_head_bp.
577
578 CALL METHOD lo_outbd_mapper->map_head_bp
579 EXPORTING
580 iv_segment = '/DTLN/E1CON_HEAD_BP'
581 iv_mandt = lc_client
582 iv_docnum = iv_docnum
583 iv_psgnum = lv_psgnum_zlcte1con_head
584 iv_hlevel = lc_hlevel_item
585 CHANGING
586 ct_count = lv_count
587 ct_document = et_document.
588
589* ------------------------------------------------------------------------------------------------
590* Segment ZLCTE1CON_HEAD_EXT externer Identifikationstyp
591* ------------------------------------------------------------------------------------------------
592 CLEAR lt_zlcte1con_head_extid.
593
594 CALL METHOD zficln_lct_outbd_mapper=>map_extid_type_and_value
595 EXPORTING
596 iv_head_item = lc_head_switch
597 is_zlctheader = ls_zlctheader
598 is_zlctcontract = ls_zlctcontract
599 is_zlctsale = ls_zlctsale
600 it_zlctstatus_t = lt_zlctstatus
601 it_zlctdate_t = lt_zlctdate
602 it_zlctoption_t = lt_zlctoption
603 it_zlctpartrel_t = lt_zlctpartrel
604 itt_zlctobject_t = lt_zlctobject
605 it_zlctaro_t = lt_zlctaro
606 it_zlctcoksst_t = lt_zlctcoksst
607 it_zlctcond_t = lt_zlctcond
608 it_zlctvalue_t = lt_zlctvalue
609 it_zlctimage_t = lt_zlctimage
610 IMPORTING
611 et_head_extid = lt_zlcte1con_head_extid.
612
613 LOOP AT lt_zlcte1con_head_extid INTO ls_zlcte1con_head_extid.
614
615 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
616 EXPORTING
617 iv_segment = '/DTLN/E1CON_HEAD_EXTID'
618 it_segment_fields = mt_segment_fields
619 CHANGING
620 cs_segment = ls_zlcte1con_head_extid
621 EXCEPTIONS
622 error_on_reading_element = 1
623 error_on_creation_of_datatype = 2
624 error_on_assigment = 3
625 OTHERS = 4.
626
627 IF sy-subrc <> 0.
628 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
629
630 CLEAR: <msg>.
631
632 <msg>-type = 'I'.
633 <msg>-id = 'ZFI_LCT_DB'.
634 <msg>-number = '866'.
635 <msg>-message_v1 = '/DTLN/E1CON_HEAD_EXTID'.
636
637 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
638 EXPORTING
639 is_message = <msg>.
640
641 CALL METHOD mo_ut_app_log->save.
642
643 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
644
645 UNASSIGN: <msg>.
646 ENDIF.
647
648 CALL METHOD create_idoc_segment
649 EXPORTING
650 iv_segnam = '/DTLN/E1CON_HEAD_EXTID'
651 iv_mandt = lc_client
652 iv_docnum = iv_docnum
653 iv_psgnum = lv_psgnum_zlcte1con_head
654 iv_hlevel = lc_hlevel_item
655 is_structure = ls_zlcte1con_head_extid
656 CHANGING
657 ct_count = lv_count
658 ct_document = et_document.
659
660 ENDLOOP.
661* ------------------------------------------------------------------------------------------------
662* Segment ZLCTE1CON_HEAD_ACCFACT
663* ------------------------------------------------------------------------------------------------
664
665 CALL METHOD lo_outbd_mapper->map_head_accfact
666 EXPORTING
667 iv_segment = '/DTLN/E1CON_HEAD_ACCFACT'
668 iv_mandt = lc_client
669 iv_docnum = iv_docnum
670 iv_psgnum = lv_psgnum_zlcte1con_head
671 iv_hlevel = lc_hlevel_item
672 CHANGING
673 ct_count = lv_count
674 ct_document = et_document.
675
676* ------------------------------------------------------------------------------------------------
677* ZLCTE1CON_ITEM erforderliche Daten für Vertragsposition
678* ------------------------------------------------------------------------------------------------
679 LOOP AT lt_zlctobject INTO ls_zlctobject.
680
681 CLEAR: ls_zlcte1con_item.
682
683 CALL METHOD zficln_lct_outbd_mapper=>map_item
684 EXPORTING
685 iv_segment = '/DTLN/E1CON_ITEM'
686 is_zlctobject_t = ls_zlctobject
687 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
688 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
689 is_zlctsale_t = ls_zlctsale " LCT Umsätze
690 it_zlctstatus_t = lt_zlctstatus " LCT Status
691 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
692 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
693 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
694 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
695 it_zlctaro_t = lt_zlctaro " LCT ARO
696 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
697 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
698 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
699 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
700 IMPORTING
701 es_item_data = ls_zlcte1con_item.
702
703 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
704 EXPORTING
705 iv_segment = '/DTLN/E1CON_ITEM'
706 it_segment_fields = mt_segment_fields
707 CHANGING
708 cs_segment = ls_zlcte1con_item
709 EXCEPTIONS
710 error_on_reading_element = 1
711 error_on_creation_of_datatype = 2
712 error_on_assigment = 3
713 OTHERS = 4.
714
715 IF sy-subrc <> 0.
716 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
717
718 CLEAR: <msg>.
719
720 <msg>-type = 'I'.
721 <msg>-id = 'ZFI_LCT_DB'.
722 <msg>-number = '866'.
723 <msg>-message_v1 = '/DTLN/E1CON_ITEM'.
724
725 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
726 EXPORTING
727 is_message = <msg>.
728
729 CALL METHOD mo_ut_app_log->save.
730
731 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
732
733 UNASSIGN: <msg>.
734 ENDIF.
735
736 CALL METHOD create_idoc_segment
737 EXPORTING
738 iv_segnam = '/DTLN/E1CON_ITEM'
739 iv_mandt = lc_client
740 iv_docnum = iv_docnum
741 iv_psgnum = lv_psgnum_zlcte1con_head
742 iv_hlevel = lc_hlevel_item
743 is_structure = ls_zlcte1con_item
744 CHANGING
745 ct_count = lv_count
746 ct_document = et_document.
747
748 lv_psgnum_zlcte1con_item = lv_count.
749* ------------------------------------------------------------------------------------------------
750* cSegment ZLCTE1CON_ITEM_GEN Allgemeine Objektdaten
751* ------------------------------------------------------------------------------------------------
752 CLEAR: ls_zlcte1con_item_gen.
753
754 CALL METHOD zficln_lct_outbd_mapper=>map_item_gen
755 EXPORTING
756 iv_segment = '/DTLN/E1CON_ITEM_GEN'
757 is_zlctobject_t = ls_zlctobject
758 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
759 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
760 is_zlctsale_t = ls_zlctsale " LCT Umsätze
761 it_zlctstatus_t = lt_zlctstatus " LCT Status
762 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
763 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
764 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
765 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
766 it_zlctaro_t = lt_zlctaro " LCT ARO
767 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
768 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
769 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
770 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
771 IMPORTING
772 es_item_gen_data = ls_zlcte1con_item_gen.
773
774 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
775 EXPORTING
776 iv_segment = '/DTLN/E1CON_ITEM_GEN'
777 it_segment_fields = mt_segment_fields
778 CHANGING
779 cs_segment = ls_zlcte1con_item_gen
780 EXCEPTIONS
781 error_on_reading_element = 1
782 error_on_creation_of_datatype = 2
783 error_on_assigment = 3
784 OTHERS = 4.
785
786 IF sy-subrc <> 0.
787 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
788
789 CLEAR: <msg>.
790
791 <msg>-type = 'I'.
792 <msg>-id = 'ZFI_LCT_DB'.
793 <msg>-number = '866'.
794 <msg>-message_v1 = '/DTLN/E1CON_ITEM_GEN'.
795
796 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
797 EXPORTING
798 is_message = <msg>.
799
800 CALL METHOD mo_ut_app_log->save.
801
802 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
803
804 UNASSIGN: <msg>.
805 ENDIF.
806
807 CALL METHOD create_idoc_segment
808 EXPORTING
809 iv_segnam = '/DTLN/E1CON_ITEM_GEN'
810 iv_mandt = lc_client
811 iv_docnum = iv_docnum
812 iv_psgnum = lv_psgnum_zlcte1con_item
813 iv_hlevel = lc_hlevel_sub_item
814 is_structure = ls_zlcte1con_item_gen
815 CHANGING
816 ct_count = lv_count
817 ct_document = et_document.
818* ------------------------------------------------------------------------------------------------
819* Segment ZLCTE1CON_ITEM_GEN externer Identifikationstyp
820* ------------------------------------------------------------------------------------------------
821 CLEAR lt_zlcte1con_item_extid.
822
823 CALL METHOD zficln_lct_outbd_mapper=>map_extid_type_and_value
824 EXPORTING
825 iv_head_item = lc_item_switch
826 is_zlctobject = ls_zlctobject
827 is_zlctheader = ls_zlctheader
828 is_zlctcontract = ls_zlctcontract
829 is_zlctsale = ls_zlctsale
830 it_zlctstatus_t = lt_zlctstatus
831 it_zlctdate_t = lt_zlctdate
832 it_zlctoption_t = lt_zlctoption
833 it_zlctpartrel_t = lt_zlctpartrel
834 itt_zlctobject_t = lt_zlctobject
835 it_zlctaro_t = lt_zlctaro
836 it_zlctcoksst_t = lt_zlctcoksst
837 it_zlctcond_t = lt_zlctcond
838 it_zlctvalue_t = lt_zlctvalue
839 it_zlctimage_t = lt_zlctimage
840 IMPORTING
841 et_item_extid = lt_zlcte1con_item_extid.
842
843 LOOP AT lt_zlcte1con_item_extid INTO ls_zlcte1con_item_extid.
844
845 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
846 EXPORTING
847 iv_segment = '/DTLN/E1CON_ITEM_EXTID'
848 it_segment_fields = mt_segment_fields
849 CHANGING
850 cs_segment = ls_zlcte1con_item_extid
851 EXCEPTIONS
852 error_on_reading_element = 1
853 error_on_creation_of_datatype = 2
854 error_on_assigment = 3
855 OTHERS = 4.
856
857 IF sy-subrc <> 0.
858 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
859
860 CLEAR: <msg>.
861
862 <msg>-type = 'I'.
863 <msg>-id = 'ZFI_LCT_DB'.
864 <msg>-number = '866'.
865 <msg>-message_v1 = '/DTLN/E1CON_ITEM_EXTID'.
866
867 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
868 EXPORTING
869 is_message = <msg>.
870
871 CALL METHOD mo_ut_app_log->save.
872
873 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
874
875 UNASSIGN: <msg>.
876 ENDIF.
877
878 CALL METHOD create_idoc_segment
879 EXPORTING
880 iv_segnam = '/DTLN/E1CON_ITEM_EXTID'
881 iv_mandt = lc_client
882 iv_docnum = iv_docnum
883 iv_psgnum = lv_psgnum_zlcte1con_item
884 iv_hlevel = lc_hlevel_sub_item
885 is_structure = ls_zlcte1con_item_extid
886 CHANGING
887 ct_count = lv_count
888 ct_document = et_document.
889
890 ENDLOOP.
891* ------------------------------------------------------------------------------------------------
892* Segment ZLCTE1CON_ITEM_GEXT sonstige Vertragsdaten zum angemieteten Objekt
893* ------------------------------------------------------------------------------------------------
894 CLEAR: ls_zlcte1con_item_gext.
895
896 CALL METHOD zficln_lct_outbd_mapper=>map_item_gext
897 EXPORTING
898 iv_segment = '/DTLN/E1CON_ITEM_GEXT'
899 is_zlctobject_t = ls_zlctobject
900 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
901 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
902 is_zlctsale_t = ls_zlctsale " LCT Umsätze
903 it_zlctstatus_t = lt_zlctstatus " LCT Status
904 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
905 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
906 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
907 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
908 it_zlctaro_t = lt_zlctaro " LCT ARO
909 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
910 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
911 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
912 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
913 IMPORTING
914 es_item_gext_data = ls_zlcte1con_item_gext.
915
916 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
917 EXPORTING
918 iv_segment = '/DTLN/E1CON_ITEM_GEXT'
919 it_segment_fields = mt_segment_fields
920 CHANGING
921 cs_segment = ls_zlcte1con_item_gext
922 EXCEPTIONS
923 error_on_reading_element = 1
924 error_on_creation_of_datatype = 2
925 error_on_assigment = 3
926 OTHERS = 4.
927
928 IF sy-subrc <> 0.
929 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
930
931 CLEAR: <msg>.
932
933 <msg>-type = 'I'.
934 <msg>-id = 'ZFI_LCT_DB'.
935 <msg>-number = '866'.
936 <msg>-message_v1 = '/DTLN/E1CON_ITEM_GEXT'.
937
938 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
939 EXPORTING
940 is_message = <msg>.
941
942 CALL METHOD mo_ut_app_log->save.
943
944 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
945
946 UNASSIGN: <msg>.
947 ENDIF.
948
949 CALL METHOD create_idoc_segment
950 EXPORTING
951 iv_segnam = '/DTLN/E1CON_ITEM_GEXT'
952 iv_mandt = lc_client
953 iv_docnum = iv_docnum
954 iv_psgnum = lv_psgnum_zlcte1con_item
955 iv_hlevel = lc_hlevel_sub_item
956 is_structure = ls_zlcte1con_item_gext
957 CHANGING
958 ct_count = lv_count
959 ct_document = et_document.
960* ------------------------------------------------------------------------------------------------
961* ZLCTE1CON_ITEM_LEINT interne Daten zum angemieteten Objekt
962* ------------------------------------------------------------------------------------------------
963 CLEAR: ls_zlcte1con_item_leint.
964
965 CALL METHOD zficln_lct_outbd_mapper=>map_item_leint
966 EXPORTING
967 iv_segment = '/DTLN/E1CON_ITEM_LEINT'
968 is_zlctobject_t = ls_zlctobject
969 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
970 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
971 is_zlctsale_t = ls_zlctsale " LCT Umsätze
972 it_zlctstatus_t = lt_zlctstatus " LCT Status
973 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
974 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
975 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
976 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
977 it_zlctaro_t = lt_zlctaro " LCT ARO
978 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
979 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
980 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
981 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
982 IMPORTING
983 es_item_leint_data = ls_zlcte1con_item_leint.
984
985 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
986 EXPORTING
987 iv_segment = '/DTLN/E1CON_ITEM_LEINT'
988 it_segment_fields = mt_segment_fields
989 CHANGING
990 cs_segment = ls_zlcte1con_item_leint
991 EXCEPTIONS
992 error_on_reading_element = 1
993 error_on_creation_of_datatype = 2
994 error_on_assigment = 3
995 OTHERS = 4.
996
997 IF sy-subrc <> 0.
998 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
999
1000 CLEAR: <msg>.
1001
1002 <msg>-type = 'I'.
1003 <msg>-id = 'ZFI_LCT_DB'.
1004 <msg>-number = '866'.
1005 <msg>-message_v1 = '/DTLN/E1CON_ITEM_LEINT'.
1006
1007 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1008 EXPORTING
1009 is_message = <msg>.
1010
1011 CALL METHOD mo_ut_app_log->save.
1012
1013 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1014
1015 UNASSIGN: <msg>.
1016 ENDIF.
1017
1018 CALL METHOD create_idoc_segment
1019 EXPORTING
1020 iv_segnam = '/DTLN/E1CON_ITEM_LEINT'
1021 iv_mandt = lc_client
1022 iv_docnum = iv_docnum
1023 iv_psgnum = lv_psgnum_zlcte1con_item
1024 iv_hlevel = lc_hlevel_sub_item
1025 is_structure = ls_zlcte1con_item_leint
1026 CHANGING
1027 ct_count = lv_count
1028 ct_document = et_document.
1029* ------------------------------------------------------------------------------------------------
1030* Segment ZLCTE1CON_ITEM_LEEXT Vertragsdaten zum angemieteten Objekt
1031* ------------------------------------------------------------------------------------------------
1032 CLEAR: ls_zlcte1con_item_leext.
1033
1034 CALL METHOD zficln_lct_outbd_mapper=>map_item_leext
1035 EXPORTING
1036 iv_segment = '/DTLN/E1CON_ITEM_LEEXT'
1037 is_zlctobject_t = ls_zlctobject
1038 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1039 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1040 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1041 it_zlctstatus_t = lt_zlctstatus " LCT Status
1042 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1043 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1044 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1045 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1046 it_zlctaro_t = lt_zlctaro " LCT ARO
1047 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1048 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1049 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1050 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1051 IMPORTING
1052 es_item_leext_data = ls_zlcte1con_item_leext.
1053
1054 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1055 EXPORTING
1056 iv_segment = '/DTLN/E1CON_ITEM_LEEXT'
1057 it_segment_fields = mt_segment_fields
1058 CHANGING
1059 cs_segment = ls_zlcte1con_item_leext
1060 EXCEPTIONS
1061 error_on_reading_element = 1
1062 error_on_creation_of_datatype = 2
1063 error_on_assigment = 3
1064 OTHERS = 4.
1065
1066 IF sy-subrc <> 0.
1067 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
1068
1069 CLEAR: <msg>.
1070
1071 <msg>-type = 'I'.
1072 <msg>-id = 'ZFI_LCT_DB'.
1073 <msg>-number = '866'.
1074 <msg>-message_v1 = '/DTLN/E1CON_ITEM_LEEXT'.
1075
1076 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1077 EXPORTING
1078 is_message = <msg>.
1079
1080 CALL METHOD mo_ut_app_log->save.
1081
1082 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1083
1084 UNASSIGN: <msg>.
1085 ENDIF.
1086
1087 CALL METHOD create_idoc_segment
1088 EXPORTING
1089 iv_segnam = '/DTLN/E1CON_ITEM_LEEXT'
1090 iv_mandt = lc_client
1091 iv_docnum = iv_docnum
1092 iv_psgnum = lv_psgnum_zlcte1con_item
1093 iv_hlevel = lc_hlevel_sub_item
1094 is_structure = ls_zlcte1con_item_leext
1095 CHANGING
1096 ct_count = lv_count
1097 ct_document = et_document.
1098* ------------------------------------------------------------------------------------------------
1099* ZLCTE1CON_ITEM_CFACT Erhöhungs- und Minderungssachverhalte
1100* ------------------------------------------------------------------------------------------------
1101 LOOP AT lt_zlctcond INTO ls_zlctcond WHERE zobjzuord = ls_zlctobject-zobjid.
1102 CLEAR ls_zlcte1con_item_cfact.
1103
1104 CALL METHOD zficln_lct_outbd_mapper=>map_item_cfact
1105 EXPORTING
1106 iv_segment = '/DTLN/E1CON_ITEM_CFACT'
1107 is_zlctobject_t = ls_zlctobject
1108 is_zlctcond_t = ls_zlctcond
1109 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1110 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1111 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1112 it_zlctstatus_t = lt_zlctstatus " LCT Status
1113 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1114 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1115 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1116 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1117 it_zlctaro_t = lt_zlctaro " LCT ARO
1118 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1119 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1120 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1121 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1122 IMPORTING
1123 es_item_cfact_data = ls_zlcte1con_item_cfact.
1124
1125 IF ls_zlcte1con_item_cfact IS INITIAL.
1126 CONTINUE.
1127 ENDIF.
1128
1129 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1130 EXPORTING
1131 iv_segment = '/DTLN/E1CON_ITEM_CFACT'
1132 it_segment_fields = mt_segment_fields
1133 CHANGING
1134 cs_segment = ls_zlcte1con_item_cfact
1135 EXCEPTIONS
1136 error_on_reading_element = 1
1137 error_on_creation_of_datatype = 2
1138 error_on_assigment = 3
1139 OTHERS = 4.
1140
1141 IF sy-subrc <> 0.
1142 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
1143
1144 CLEAR: <msg>.
1145
1146 <msg>-type = 'I'.
1147 <msg>-id = 'ZFI_LCT_DB'.
1148 <msg>-number = '866'.
1149 <msg>-message_v1 = '/DTLN/E1CON_ITEM_CFACT'.
1150
1151 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1152 EXPORTING
1153 is_message = <msg>.
1154
1155 CALL METHOD mo_ut_app_log->save.
1156
1157 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1158
1159 UNASSIGN: <msg>.
1160 ENDIF.
1161
1162 CALL METHOD create_idoc_segment
1163 EXPORTING
1164 iv_segnam = '/DTLN/E1CON_ITEM_CFACT'
1165 iv_mandt = lc_client
1166 iv_docnum = iv_docnum
1167 iv_psgnum = lv_psgnum_zlcte1con_item
1168 iv_hlevel = lc_hlevel_sub_item
1169 is_structure = ls_zlcte1con_item_cfact
1170 CHANGING
1171 ct_count = lv_count
1172 ct_document = et_document.
1173
1174 ENDLOOP.
1175* ------------------------------------------------------------------------------------------------
1176* Segment E1CON_ITEM_RETOB RBV spezifische Vertragsdaten
1177* ------------------------------------------------------------------------------------------------
1178 CLEAR: ls_zlcte1con_item_retob.
1179
1180 CALL METHOD zficln_lct_outbd_mapper=>map_item_retob
1181 EXPORTING
1182 iv_segment = '/DTLN/E1CON_ITEM_RETOB'
1183 is_zlctobject_t = ls_zlctobject
1184 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1185 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1186 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1187 it_zlctstatus_t = lt_zlctstatus " LCT Status
1188 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1189 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1190 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1191 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1192 it_zlctaro_t = lt_zlctaro " LCT ARO
1193 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1194 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1195 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1196 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1197 IMPORTING
1198 es_item_retob_data = ls_zlcte1con_item_retob.
1199
1200 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1201 EXPORTING
1202 iv_segment = '/DTLN/E1CON_ITEM_RETOB'
1203 it_segment_fields = mt_segment_fields
1204 CHANGING
1205 cs_segment = ls_zlcte1con_item_retob
1206 EXCEPTIONS
1207 error_on_reading_element = 1
1208 error_on_creation_of_datatype = 2
1209 error_on_assigment = 3
1210 OTHERS = 4.
1211
1212 IF sy-subrc <> 0.
1213 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
1214
1215 CLEAR: <msg>.
1216
1217 <msg>-type = 'I'.
1218 <msg>-id = 'ZFI_LCT_DB'.
1219 <msg>-number = '866'.
1220 <msg>-message_v1 = '/DTLN/E1CON_ITEM_RETOB'.
1221
1222 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1223 EXPORTING
1224 is_message = <msg>.
1225
1226 CALL METHOD mo_ut_app_log->save.
1227
1228 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1229
1230 UNASSIGN: <msg>.
1231 ENDIF.
1232
1233 CALL METHOD create_idoc_segment
1234 EXPORTING
1235 iv_segnam = '/DTLN/E1CON_ITEM_RETOB'
1236 iv_mandt = lc_client
1237 iv_docnum = iv_docnum
1238 iv_psgnum = lv_psgnum_zlcte1con_item
1239 iv_hlevel = lc_hlevel_sub_item
1240 is_structure = ls_zlcte1con_item_retob
1241 CHANGING
1242 ct_count = lv_count
1243 ct_document = et_document.
1244* ------------------------------------------------------------------------------------------------
1245* Segment E1CON_ITEM_COND Zahlungskonditionen
1246* ------------------------------------------------------------------------------------------------
1247 LOOP AT lt_zlctcond INTO ls_zlctcond WHERE zobjzuord = ls_zlctobject-zobjid
1248 AND zoptguid = space. " INS JB 20181018
1249 CLEAR ls_zlcte1con_item_cond.
1250
1251
1252
1253 CALL METHOD zficln_lct_outbd_mapper=>map_item_cond
1254 EXPORTING
1255 iv_segment = '/DTLN/E1CON_ITEM_COND'
1256 is_zlctobject_t = ls_zlctobject
1257 is_zlctcond_t = ls_zlctcond
1258 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1259 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1260 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1261 it_zlctstatus_t = lt_zlctstatus " LCT Status
1262 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1263 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1264 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1265 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1266 it_zlctaro_t = lt_zlctaro " LCT ARO
1267 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1268 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1269 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1270 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1271 IMPORTING
1272 es_item_cond_data = ls_zlcte1con_item_cond.
1273
1274 IF ls_zlcte1con_item_cond IS INITIAL.
1275 CONTINUE.
1276 ENDIF.
1277
1278 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1279 EXPORTING
1280 iv_segment = '/DTLN/E1CON_ITEM_COND'
1281 it_segment_fields = mt_segment_fields
1282 CHANGING
1283 cs_segment = ls_zlcte1con_item_cond
1284 EXCEPTIONS
1285 error_on_reading_element = 1
1286 error_on_creation_of_datatype = 2
1287 error_on_assigment = 3
1288 OTHERS = 4.
1289
1290 IF sy-subrc <> 0.
1291 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
1292
1293 CLEAR: <msg>.
1294
1295 <msg>-type = 'I'.
1296 <msg>-id = 'ZFI_LCT_DB'.
1297 <msg>-number = '866'.
1298 <msg>-message_v1 = '/DTLN/E1CON_ITEM_COND'.
1299
1300 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1301 EXPORTING
1302 is_message = <msg>.
1303
1304 CALL METHOD mo_ut_app_log->save.
1305
1306 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1307
1308 UNASSIGN: <msg>.
1309 ENDIF.
1310
1311 CALL METHOD create_idoc_segment
1312 EXPORTING
1313 iv_segnam = '/DTLN/E1CON_ITEM_COND'
1314 iv_mandt = lc_client
1315 iv_docnum = iv_docnum
1316 iv_psgnum = lv_psgnum_zlcte1con_item
1317 iv_hlevel = lc_hlevel_sub_item
1318 is_structure = ls_zlcte1con_item_cond
1319 CHANGING
1320 ct_count = lv_count
1321 ct_document = et_document.
1322
1323 ENDLOOP.
1324* ------------------------------------------------------------------------------------------------
1325* ZLCTE1CON_ITEM_CONDV Wertkonditionen
1326* ------------------------------------------------------------------------------------------------
1327 LOOP AT lt_zlctcond INTO ls_zlctcond WHERE zobjzuord = ls_zlctobject-zobjid.
1328 CLEAR ls_zlcte1con_item_condv.
1329
1330 CALL METHOD zficln_lct_outbd_mapper=>map_item_condv
1331 EXPORTING
1332 iv_segment = '/DTLN/E1CON_ITEM_CONDV'
1333 is_zlctobject_t = ls_zlctobject
1334 is_zlctcond_t = ls_zlctcond
1335 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1336 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1337 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1338 it_zlctstatus_t = lt_zlctstatus " LCT Status
1339 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1340 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1341 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1342 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1343 it_zlctaro_t = lt_zlctaro " LCT ARO
1344 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1345 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1346 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1347 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1348 IMPORTING
1349 es_item_condv_data = ls_zlcte1con_item_condv.
1350
1351 IF ls_zlcte1con_item_condv IS INITIAL.
1352 CONTINUE.
1353 ENDIF.
1354
1355 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1356 EXPORTING
1357 iv_segment = '/DTLN/E1CON_ITEM_CONDV'
1358 it_segment_fields = mt_segment_fields
1359 CHANGING
1360 cs_segment = ls_zlcte1con_item_condv
1361 EXCEPTIONS
1362 error_on_reading_element = 1
1363 error_on_creation_of_datatype = 2
1364 error_on_assigment = 3
1365 OTHERS = 4.
1366
1367 IF sy-subrc <> 0.
1368 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
1369
1370 CLEAR: <msg>.
1371
1372 <msg>-type = 'I'.
1373 <msg>-id = 'ZFI_LCT_DB'.
1374 <msg>-number = '866'.
1375 <msg>-message_v1 = '/DTLN/E1CON_ITEM_CONDV'.
1376
1377 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1378 EXPORTING
1379 is_message = <msg>.
1380
1381 CALL METHOD mo_ut_app_log->save.
1382
1383 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1384
1385 UNASSIGN: <msg>.
1386 ENDIF.
1387
1388 CALL METHOD create_idoc_segment
1389 EXPORTING
1390 iv_segnam = '/DTLN/E1CON_ITEM_CONDV'
1391 iv_mandt = lc_client
1392 iv_docnum = iv_docnum
1393 iv_psgnum = lv_psgnum_zlcte1con_item
1394 iv_hlevel = lc_hlevel_sub_item
1395 is_structure = ls_zlcte1con_item_condv
1396 CHANGING
1397 ct_count = lv_count
1398 ct_document = et_document.
1399
1400 ENDLOOP.
1401* ------------------------------------------------------------------------------------------------
1402* Segment ZLCTE1CON_ITEM_INDEX Indexanpassungsraten
1403* ------------------------------------------------------------------------------------------------
1404 LOOP AT lt_zlctcond INTO ls_zlctcond WHERE zobjzuord = ls_zlctobject-zobjid.
1405 CLEAR ls_zlcte1con_item_index.
1406
1407 CALL METHOD zficln_lct_outbd_mapper=>map_item_index
1408 EXPORTING
1409 iv_segment = '/DTLN/E1CON_ITEM_INDEX'
1410 is_zlctobject_t = ls_zlctobject
1411 is_zlctcond_t = ls_zlctcond
1412 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1413 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1414 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1415 it_zlctstatus_t = lt_zlctstatus " LCT Status
1416 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1417 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1418 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1419 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1420 it_zlctaro_t = lt_zlctaro " LCT ARO
1421 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1422 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1423 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1424 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1425 IMPORTING
1426 es_item_index_data = ls_zlcte1con_item_index.
1427
1428 IF ls_zlcte1con_item_index IS INITIAL.
1429 CONTINUE.
1430 ENDIF.
1431
1432 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1433 EXPORTING
1434 iv_segment = '/DTLN/E1CON_ITEM_INDEX'
1435 it_segment_fields = mt_segment_fields
1436 CHANGING
1437 cs_segment = ls_zlcte1con_item_index
1438 EXCEPTIONS
1439 error_on_reading_element = 1
1440 error_on_creation_of_datatype = 2
1441 error_on_assigment = 3
1442 OTHERS = 4.
1443
1444 IF sy-subrc <> 0.
1445 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
1446
1447 CLEAR: <msg>.
1448
1449 <msg>-type = 'I'.
1450 <msg>-id = 'ZFI_LCT_DB'.
1451 <msg>-number = '866'.
1452 <msg>-message_v1 = '/DTLN/E1CON_ITEM_INDEX'.
1453
1454 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1455 EXPORTING
1456 is_message = <msg>.
1457
1458 CALL METHOD mo_ut_app_log->save.
1459
1460 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1461
1462 UNASSIGN: <msg>.
1463 ENDIF.
1464
1465 CALL METHOD create_idoc_segment
1466 EXPORTING
1467 iv_segnam = '/DTLN/E1CON_ITEM_INDEX'
1468 iv_mandt = lc_client
1469 iv_docnum = iv_docnum
1470 iv_psgnum = lv_psgnum_zlcte1con_item
1471 iv_hlevel = lc_hlevel_sub_item
1472 is_structure = ls_zlcte1con_item_index
1473 CHANGING
1474 ct_count = lv_count
1475 ct_document = et_document.
1476
1477 ENDLOOP.
1478* ------------------------------------------------------------------------------------------------
1479* Segment ZLCTE1CON_ITEM_FLOAT Vertragsdaten zum angemieteten Objekt
1480* ------------------------------------------------------------------------------------------------
1481 LOOP AT lt_zlctcond INTO ls_zlctcond WHERE zobjzuord = ls_zlctobject-zobjid.
1482 CLEAR ls_zlcte1con_item_float.
1483
1484 CALL METHOD zficln_lct_outbd_mapper=>map_item_float
1485 EXPORTING
1486 iv_segment = '/DTLN/E1CON_ITEM_FLOAT'
1487 is_zlctobject_t = ls_zlctobject
1488 is_zlctcond_t = ls_zlctcond
1489 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1490 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1491 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1492 it_zlctstatus_t = lt_zlctstatus " LCT Status
1493 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1494 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1495 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1496 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1497 it_zlctaro_t = lt_zlctaro " LCT ARO
1498 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1499 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1500 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1501 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1502 IMPORTING
1503 es_item_float_data = ls_zlcte1con_item_float.
1504
1505 IF ls_zlcte1con_item_float IS INITIAL.
1506 CONTINUE.
1507 ENDIF.
1508
1509 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1510 EXPORTING
1511 iv_segment = '/DTLN/E1CON_ITEM_FLOAT'
1512 it_segment_fields = mt_segment_fields
1513 CHANGING
1514 cs_segment = ls_zlcte1con_item_float
1515 EXCEPTIONS
1516 error_on_reading_element = 1
1517 error_on_creation_of_datatype = 2
1518 error_on_assigment = 3
1519 OTHERS = 4.
1520
1521 IF sy-subrc <> 0.
1522 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
1523
1524 CLEAR: <msg>.
1525
1526 <msg>-type = 'I'.
1527 <msg>-id = 'ZFI_LCT_DB'.
1528 <msg>-number = '866'.
1529 <msg>-message_v1 = '/DTLN/E1CON_ITEM_FLOAT'.
1530
1531 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1532 EXPORTING
1533 is_message = <msg>.
1534
1535 CALL METHOD mo_ut_app_log->save.
1536
1537 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1538
1539 UNASSIGN: <msg>.
1540 ENDIF.
1541
1542 CALL METHOD create_idoc_segment
1543 EXPORTING
1544 iv_segnam = '/DTLN/E1CON_ITEM_FLOAT'
1545 iv_mandt = lc_client
1546 iv_docnum = iv_docnum
1547 iv_psgnum = lv_psgnum_zlcte1con_item
1548 iv_hlevel = lc_hlevel_sub_item
1549 is_structure = ls_zlcte1con_item_float
1550 CHANGING
1551 ct_count = lv_count
1552 ct_document = et_document.
1553
1554 ENDLOOP.
1555* ------------------------------------------------------------------------------------------------
1556* Segment ZLCTE1CON_ITEM_EO Verlängerungsoptionen
1557* ------------------------------------------------------------------------------------------------
1558 LOOP AT lt_zlctoption INTO ls_zlctoption WHERE zobjzuord = ls_zlctobject-zobjid.
1559
1560 CLEAR: ls_zlcte1con_item_eo.
1561
1562 CALL METHOD zficln_lct_outbd_mapper=>map_item_eo
1563 EXPORTING
1564 iv_segment = '/DTLN/E1CON_ITEM_EO'
1565 is_zlctobject_t = ls_zlctobject
1566 is_zlctoption_t = ls_zlctoption
1567 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1568 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1569 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1570 it_zlctstatus_t = lt_zlctstatus " LCT Status
1571 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1572 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1573 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1574 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1575 it_zlctaro_t = lt_zlctaro " LCT ARO
1576 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1577 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1578 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1579 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1580 IMPORTING
1581 es_item_eo_data = ls_zlcte1con_item_eo.
1582
1583 IF ls_zlcte1con_item_eo IS INITIAL.
1584 CONTINUE.
1585 ENDIF.
1586
1587 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1588 EXPORTING
1589 iv_segment = '/DTLN/E1CON_ITEM_EO'
1590 it_segment_fields = mt_segment_fields
1591 CHANGING
1592 cs_segment = ls_zlcte1con_item_eo
1593 EXCEPTIONS
1594 error_on_reading_element = 1
1595 error_on_creation_of_datatype = 2
1596 error_on_assigment = 3
1597 OTHERS = 4.
1598
1599 IF sy-subrc <> 0.
1600 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
1601
1602 CLEAR: <msg>.
1603
1604 <msg>-type = 'I'.
1605 <msg>-id = 'ZFI_LCT_DB'.
1606 <msg>-number = '866'.
1607 <msg>-message_v1 = '/DTLN/E1CON_ITEM_EO'.
1608
1609 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1610 EXPORTING
1611 is_message = <msg>.
1612
1613 CALL METHOD mo_ut_app_log->save.
1614
1615 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1616
1617 UNASSIGN: <msg>.
1618 ENDIF.
1619
1620 CALL METHOD create_idoc_segment
1621 EXPORTING
1622 iv_segnam = '/DTLN/E1CON_ITEM_EO'
1623 iv_mandt = lc_client
1624 iv_docnum = iv_docnum
1625 iv_psgnum = lv_psgnum_zlcte1con_item
1626 iv_hlevel = lc_hlevel_sub_item
1627 is_structure = ls_zlcte1con_item_eo
1628 CHANGING
1629 ct_count = lv_count
1630 ct_document = et_document.
1631
1632 lv_psgnum_zlcte1con_item_eo = lv_count.
1633* ------------------------------------------------------------------------------------------------
1634* Segment E1CON_EO_COND Zahlungskonditionen für Verlängerungsoptionen
1635* ------------------------------------------------------------------------------------------------
1636 LOOP AT lt_zlctcond INTO ls_zlctcond WHERE zoptguid = ls_zlctoption-zoptguid.
1637
1638 CLEAR: ls_zlcte1con_eo_cond.
1639
1640 CALL METHOD lo_outbd_mapper->map_item_eo_cond
1641 EXPORTING
1642 iv_segment = '/DTLN/E1CON_EO_COND'
1643 iv_parent = '/DTLN/E1CON_ITEM_EO'
1644 is_zlctobject_t = ls_zlctobject
1645 is_zlctoption_t = ls_zlctoption
1646 is_zlctcond_t = ls_zlctcond
1647 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1648 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1649 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1650 it_zlctstatus_t = lt_zlctstatus " LCT Status
1651 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1652 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1653 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1654 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1655 it_zlctaro_t = lt_zlctaro " LCT ARO
1656 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1657 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1658 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1659 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1660 IMPORTING
1661 es_item_eo_cond_data = ls_zlcte1con_eo_cond.
1662
1663 IF ls_zlcte1con_eo_cond IS INITIAL.
1664 CONTINUE.
1665 ENDIF.
1666
1667 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1668 EXPORTING
1669 iv_segment = '/DTLN/E1CON_EO_COND'
1670 it_segment_fields = mt_segment_fields
1671 CHANGING
1672 cs_segment = ls_zlcte1con_eo_cond
1673 EXCEPTIONS
1674 error_on_reading_element = 1
1675 error_on_creation_of_datatype = 2
1676 error_on_assigment = 3
1677 OTHERS = 4.
1678
1679 IF sy-subrc <> 0.
1680 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
1681
1682 CLEAR: <msg>.
1683
1684 <msg>-type = 'I'.
1685 <msg>-id = 'ZFI_LCT_DB'.
1686 <msg>-number = '866'.
1687 <msg>-message_v1 = '/DTLN/E1CON_EO_COND'.
1688
1689 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1690 EXPORTING
1691 is_message = <msg>.
1692
1693 CALL METHOD mo_ut_app_log->save.
1694
1695 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1696
1697 UNASSIGN: <msg>.
1698 ENDIF.
1699
1700 CALL METHOD create_idoc_segment
1701 EXPORTING
1702 iv_segnam = '/DTLN/E1CON_EO_COND'
1703 iv_mandt = lc_client
1704 iv_docnum = iv_docnum
1705 iv_psgnum = lv_psgnum_zlcte1con_item_eo
1706 iv_hlevel = lc_hlevel_sub_sub
1707 is_structure = ls_zlcte1con_eo_cond
1708 CHANGING
1709 ct_count = lv_count
1710 ct_document = et_document.
1711
1712 ENDLOOP. "lt_zlctcond
1713
1714 ENDLOOP. "lt_zlctoption
1715* ------------------------------------------------------------------------------------------------
1716* Segment ZLCTE1CON_ITEM_PUT Andienungsrecht
1717* ------------------------------------------------------------------------------------------------
1718 LOOP AT lt_zlctoption INTO ls_zlctoption WHERE zobjzuord = ls_zlctobject-zobjid.
1719
1720 CLEAR: ls_zlcte1con_item_put.
1721
1722 CALL METHOD zficln_lct_outbd_mapper=>map_item_put
1723 EXPORTING
1724 iv_segment = '/DTLN/E1CON_ITEM_PUT'
1725 is_zlctobject_t = ls_zlctobject
1726 is_zlctoption_t = ls_zlctoption
1727 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1728 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1729 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1730 it_zlctstatus_t = lt_zlctstatus " LCT Status
1731 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1732 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1733 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1734 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1735 it_zlctaro_t = lt_zlctaro " LCT ARO
1736 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1737 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1738 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1739 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1740 IMPORTING
1741 es_item_put_data = ls_zlcte1con_item_put.
1742
1743 IF ls_zlcte1con_item_put IS INITIAL.
1744 CONTINUE.
1745 ENDIF.
1746
1747 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1748 EXPORTING
1749 iv_segment = '/DTLN/E1CON_ITEM_PUT'
1750 it_segment_fields = mt_segment_fields
1751 CHANGING
1752 cs_segment = ls_zlcte1con_item_put
1753 EXCEPTIONS
1754 error_on_reading_element = 1
1755 error_on_creation_of_datatype = 2
1756 error_on_assigment = 3
1757 OTHERS = 4.
1758
1759 IF sy-subrc <> 0.
1760 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
1761
1762 CLEAR: <msg>.
1763
1764 <msg>-type = 'I'.
1765 <msg>-id = 'ZFI_LCT_DB'.
1766 <msg>-number = '866'.
1767 <msg>-message_v1 = '/DTLN/E1CON_ITEM_PUT'.
1768
1769 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1770 EXPORTING
1771 is_message = <msg>.
1772
1773 CALL METHOD mo_ut_app_log->save.
1774
1775 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1776
1777 UNASSIGN: <msg>.
1778 ENDIF.
1779
1780 CALL METHOD create_idoc_segment
1781 EXPORTING
1782 iv_segnam = '/DTLN/E1CON_ITEM_PUT'
1783 iv_mandt = lc_client
1784 iv_docnum = iv_docnum
1785 iv_psgnum = lv_psgnum_zlcte1con_item
1786 iv_hlevel = lc_hlevel_sub_item
1787 is_structure = ls_zlcte1con_item_put
1788 CHANGING
1789 ct_count = lv_count
1790 ct_document = et_document.
1791
1792 lv_psgnum_zlcte1con_item_put = lv_count.
1793* ------------------------------------------------------------------------------------------------
1794* --ZLCTE1CON_PUT_COND Zahlungskonditionen für Andienungsrecht
1795* ------------------------------------------------------------------------------------------------
1796 LOOP AT lt_zlctcond INTO ls_zlctcond WHERE zoptguid = ls_zlctoption-zoptguid.
1797
1798 CLEAR: ls_zlcte1con_put_cond.
1799
1800 CALL METHOD lo_outbd_mapper->map_item_put_cond
1801 EXPORTING
1802 iv_segment = '/DTLN/E1CON_PUT_COND'
1803 iv_parent = '/DTLN/E1CON_ITEM_PUT'
1804 is_zlctobject_t = ls_zlctobject
1805 is_zlctoption_t = ls_zlctoption
1806 is_zlctcond_t = ls_zlctcond
1807 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1808 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1809 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1810 it_zlctstatus_t = lt_zlctstatus " LCT Status
1811 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1812 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1813 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1814 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1815 it_zlctaro_t = lt_zlctaro " LCT ARO
1816 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1817 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1818 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1819 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1820 IMPORTING
1821 es_item_put_cond_data = ls_zlcte1con_put_cond.
1822
1823 IF ls_zlcte1con_put_cond IS INITIAL.
1824 CONTINUE.
1825 ENDIF.
1826
1827 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1828 EXPORTING
1829 iv_segment = '/DTLN/E1CON_PUT_COND'
1830 it_segment_fields = mt_segment_fields
1831 CHANGING
1832 cs_segment = ls_zlcte1con_put_cond
1833 EXCEPTIONS
1834 error_on_reading_element = 1
1835 error_on_creation_of_datatype = 2
1836 error_on_assigment = 3
1837 OTHERS = 4.
1838
1839 IF sy-subrc <> 0.
1840 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
1841
1842 CLEAR: <msg>.
1843
1844 <msg>-type = 'I'.
1845 <msg>-id = 'ZFI_LCT_DB'.
1846 <msg>-number = '866'.
1847 <msg>-message_v1 = '/DTLN/E1CON_PUT_COND'.
1848
1849 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1850 EXPORTING
1851 is_message = <msg>.
1852
1853 CALL METHOD mo_ut_app_log->save.
1854
1855 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1856
1857 UNASSIGN: <msg>.
1858 ENDIF.
1859
1860 CALL METHOD create_idoc_segment
1861 EXPORTING
1862 iv_segnam = '/DTLN/E1CON_PUT_COND'
1863 iv_mandt = lc_client
1864 iv_docnum = iv_docnum
1865 iv_psgnum = lv_psgnum_zlcte1con_item_put
1866 iv_hlevel = lc_hlevel_sub_sub
1867 is_structure = ls_zlcte1con_put_cond
1868 CHANGING
1869 ct_count = lv_count
1870 ct_document = et_document.
1871 ENDLOOP. "lt_zlctcond
1872
1873 ENDLOOP. "lt_zlctoption
1874*************************************************************************
1875* ZLCTE1CON_ITEM_PUR Kaufoption
1876*************************************************************************
1877 LOOP AT lt_zlctoption INTO ls_zlctoption WHERE zobjzuord = ls_zlctobject-zobjid.
1878
1879 CLEAR: ls_zlcte1con_item_pur.
1880
1881 CALL METHOD zficln_lct_outbd_mapper=>map_item_pur
1882 EXPORTING
1883 iv_segment = '/DTLN/E1CON_ITEM_PUR'
1884 is_zlctobject_t = ls_zlctobject
1885 is_zlctoption_t = ls_zlctoption
1886 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1887 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1888 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1889 it_zlctstatus_t = lt_zlctstatus " LCT Status
1890 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1891 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1892 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1893 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1894 it_zlctaro_t = lt_zlctaro " LCT ARO
1895 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1896 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1897 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1898 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1899 IMPORTING
1900 es_item_pur_data = ls_zlcte1con_item_pur.
1901
1902 IF ls_zlcte1con_item_pur IS INITIAL.
1903 CONTINUE.
1904 ENDIF.
1905
1906 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1907 EXPORTING
1908 iv_segment = '/DTLN/E1CON_ITEM_PUR'
1909 it_segment_fields = mt_segment_fields
1910 CHANGING
1911 cs_segment = ls_zlcte1con_item_pur
1912 EXCEPTIONS
1913 error_on_reading_element = 1
1914 error_on_creation_of_datatype = 2
1915 error_on_assigment = 3
1916 OTHERS = 4.
1917
1918 IF sy-subrc <> 0.
1919 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
1920
1921 CLEAR: <msg>.
1922
1923 <msg>-type = 'I'.
1924 <msg>-id = 'ZFI_LCT_DB'.
1925 <msg>-number = '866'.
1926 <msg>-message_v1 = '/DTLN/E1CON_ITEM_PUR'.
1927
1928 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
1929 EXPORTING
1930 is_message = <msg>.
1931
1932 CALL METHOD mo_ut_app_log->save.
1933
1934 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
1935
1936 UNASSIGN: <msg>.
1937 ENDIF.
1938
1939 CALL METHOD create_idoc_segment
1940 EXPORTING
1941 iv_segnam = '/DTLN/E1CON_ITEM_PUR'
1942 iv_mandt = lc_client
1943 iv_docnum = iv_docnum
1944 iv_psgnum = lv_psgnum_zlcte1con_item
1945 iv_hlevel = lc_hlevel_sub_item
1946 is_structure = ls_zlcte1con_item_pur
1947 CHANGING
1948 ct_count = lv_count
1949 ct_document = et_document.
1950
1951 lv_psgnum_zlcte1con_item_pur = lv_count.
1952*************************************************************************
1953* ZLCTE1CON_PUR_COND Zahlungskonditionen für Kaufoption
1954*************************************************************************
1955 LOOP AT lt_zlctcond INTO ls_zlctcond WHERE zoptguid = ls_zlctoption-zoptguid.
1956
1957 CLEAR: ls_zlcte1con_pur_cond.
1958
1959 CALL METHOD zficln_lct_outbd_mapper=>map_item_pur_cond
1960 EXPORTING
1961 iv_segment = '/DTLN/E1CON_PUR_COND'
1962 iv_parent = '/DTLN/E1CON_ITEM_PUR'
1963 is_zlctobject_t = ls_zlctobject
1964 is_zlctoption_t = ls_zlctoption
1965 is_zlctcond_t = ls_zlctcond
1966 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
1967 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
1968 is_zlctsale_t = ls_zlctsale " LCT Umsätze
1969 it_zlctstatus_t = lt_zlctstatus " LCT Status
1970 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
1971 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
1972 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
1973 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
1974 it_zlctaro_t = lt_zlctaro " LCT ARO
1975 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
1976 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
1977 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
1978 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
1979 IMPORTING
1980 es_item_pur_cond_data = ls_zlcte1con_pur_cond.
1981
1982 IF ls_zlcte1con_pur_cond IS INITIAL.
1983 CONTINUE.
1984 ENDIF.
1985
1986 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
1987 EXPORTING
1988 iv_segment = '/DTLN/E1CON_PUR_COND'
1989 it_segment_fields = mt_segment_fields
1990 CHANGING
1991 cs_segment = ls_zlcte1con_pur_cond
1992 EXCEPTIONS
1993 error_on_reading_element = 1
1994 error_on_creation_of_datatype = 2
1995 error_on_assigment = 3
1996 OTHERS = 4.
1997
1998 IF sy-subrc <> 0.
1999 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2000
2001 CLEAR: <msg>.
2002
2003 <msg>-type = 'I'.
2004 <msg>-id = 'ZFI_LCT_DB'.
2005 <msg>-number = '866'.
2006 <msg>-message_v1 = '/DTLN/E1CON_PUR_COND'.
2007
2008 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2009 EXPORTING
2010 is_message = <msg>.
2011
2012 CALL METHOD mo_ut_app_log->save.
2013
2014 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2015
2016 UNASSIGN: <msg>.
2017 ENDIF.
2018
2019 CALL METHOD create_idoc_segment
2020 EXPORTING
2021 iv_segnam = '/DTLN/E1CON_PUR_COND'
2022 iv_mandt = lc_client
2023 iv_docnum = iv_docnum
2024 iv_psgnum = lv_psgnum_zlcte1con_item_pur
2025 iv_hlevel = lc_hlevel_sub_sub
2026 is_structure = ls_zlcte1con_pur_cond
2027 CHANGING
2028 ct_count = lv_count
2029 ct_document = et_document.
2030
2031 ENDLOOP.
2032
2033 ENDLOOP.
2034* ------------------------------------------------------------------------------------------------
2035* ZLCTE1CON_ITEM_TO Kündigungsregeln
2036* ------------------------------------------------------------------------------------------------
2037 LOOP AT lt_zlctoption INTO ls_zlctoption WHERE zobjzuord = ls_zlctobject-zobjid.
2038
2039 CLEAR: ls_zlcte1con_item_to.
2040
2041 CALL METHOD zficln_lct_outbd_mapper=>map_item_to
2042 EXPORTING
2043 iv_segment = '/DTLN/E1CON_ITEM_TO'
2044 is_zlctobject_t = ls_zlctobject
2045 is_zlctoption_t = ls_zlctoption
2046 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
2047 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
2048 is_zlctsale_t = ls_zlctsale " LCT Umsätze
2049 it_zlctstatus_t = lt_zlctstatus " LCT Status
2050 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
2051 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
2052 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
2053 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
2054 it_zlctaro_t = lt_zlctaro " LCT ARO
2055 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
2056 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
2057 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
2058 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
2059 IMPORTING
2060 es_item_to_data = ls_zlcte1con_item_to.
2061
2062 IF ls_zlcte1con_item_to IS INITIAL.
2063 CONTINUE.
2064 ENDIF.
2065
2066 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
2067 EXPORTING
2068 iv_segment = '/DTLN/E1CON_ITEM_TO'
2069 it_segment_fields = mt_segment_fields
2070 CHANGING
2071 cs_segment = ls_zlcte1con_item_to
2072 EXCEPTIONS
2073 error_on_reading_element = 1
2074 error_on_creation_of_datatype = 2
2075 error_on_assigment = 3
2076 OTHERS = 4.
2077
2078 IF sy-subrc <> 0.
2079 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2080
2081 CLEAR: <msg>.
2082
2083 <msg>-type = 'I'.
2084 <msg>-id = 'ZFI_LCT_DB'.
2085 <msg>-number = '866'.
2086 <msg>-message_v1 = '/DTLN/E1CON_ITEM_TO'.
2087
2088 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2089 EXPORTING
2090 is_message = <msg>.
2091
2092 CALL METHOD mo_ut_app_log->save.
2093
2094 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2095
2096 UNASSIGN: <msg>.
2097 ENDIF.
2098
2099 CALL METHOD create_idoc_segment
2100 EXPORTING
2101 iv_segnam = '/DTLN/E1CON_ITEM_TO'
2102 iv_mandt = lc_client
2103 iv_docnum = iv_docnum
2104 iv_psgnum = lv_psgnum_zlcte1con_item
2105 iv_hlevel = lc_hlevel_sub_item
2106 is_structure = ls_zlcte1con_item_to
2107 CHANGING
2108 ct_count = lv_count
2109 ct_document = et_document.
2110
2111 lv_psgnum_zlcte1con_item_to = lv_count.
2112* -----------------------------------------------------------------------------------
2113* ZLCTE1CON_TO_COND Zahlungskonditionen für Kündigungsregeln
2114* ------------------------------------------------------------------------------------------------
2115 LOOP AT lt_zlctcond INTO ls_zlctcond WHERE zoptguid = ls_zlctoption-zoptguid.
2116
2117 CLEAR: ls_zlcte1con_to_cond.
2118
2119 CALL METHOD zficln_lct_outbd_mapper=>map_item_to_cond
2120 EXPORTING
2121 iv_segment = '/DTLN/E1CON_TO_COND'
2122 iv_parent = '/DTLN/E1CON_ITEM_TO'
2123 is_zlctobject_t = ls_zlctobject
2124 is_zlctoption_t = ls_zlctoption
2125 is_zlctcond_t = ls_zlctcond
2126 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
2127 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
2128 is_zlctsale_t = ls_zlctsale " LCT Umsätze
2129 it_zlctstatus_t = lt_zlctstatus " LCT Status
2130 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
2131 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
2132 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
2133 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
2134 it_zlctaro_t = lt_zlctaro " LCT ARO
2135 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
2136 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
2137 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
2138 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
2139 IMPORTING
2140 es_item_to_cond_data = ls_zlcte1con_to_cond.
2141
2142 IF ls_zlcte1con_to_cond IS INITIAL.
2143 CONTINUE.
2144 ENDIF.
2145
2146 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
2147 EXPORTING
2148 iv_segment = '/DTLN/E1CON_TO_COND'
2149 it_segment_fields = mt_segment_fields
2150 CHANGING
2151 cs_segment = ls_zlcte1con_to_cond
2152 EXCEPTIONS
2153 error_on_reading_element = 1
2154 error_on_creation_of_datatype = 2
2155 error_on_assigment = 3
2156 OTHERS = 4.
2157
2158 IF sy-subrc <> 0.
2159 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2160
2161 CLEAR: <msg>.
2162
2163 <msg>-type = 'I'.
2164 <msg>-id = 'ZFI_LCT_DB'.
2165 <msg>-number = '866'.
2166 <msg>-message_v1 = '/DTLN/E1CON_TO_COND'.
2167
2168 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2169 EXPORTING
2170 is_message = <msg>.
2171
2172 CALL METHOD mo_ut_app_log->save.
2173
2174 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2175
2176 UNASSIGN: <msg>.
2177 ENDIF.
2178
2179 CALL METHOD create_idoc_segment
2180 EXPORTING
2181 iv_segnam = '/DTLN/E1CON_TO_COND'
2182 iv_mandt = lc_client
2183 iv_docnum = iv_docnum
2184 iv_psgnum = lv_psgnum_zlcte1con_item_to
2185 iv_hlevel = lc_hlevel_sub_sub
2186 is_structure = ls_zlcte1con_to_cond
2187 CHANGING
2188 ct_count = lv_count
2189 ct_document = et_document.
2190
2191 ENDLOOP.
2192
2193 ENDLOOP.
2194* ------------------------------------------------------------------------------------------------
2195* ZLCTE1CON_ITEM_RV Restwertgarantie
2196* ------------------------------------------------------------------------------------------------
2197 LOOP AT lt_zlctoption INTO ls_zlctoption WHERE zobjzuord = ls_zlctobject-zobjid.
2198
2199 CLEAR: ls_zlcte1con_item_rv.
2200
2201 CALL METHOD zficln_lct_outbd_mapper=>map_item_rv
2202 EXPORTING
2203 iv_segment = '/DTLN/E1CON_ITEM_RV'
2204 is_zlctobject_t = ls_zlctobject
2205 is_zlctoption_t = ls_zlctoption
2206 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
2207 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
2208 is_zlctsale_t = ls_zlctsale " LCT Umsätze
2209 it_zlctstatus_t = lt_zlctstatus " LCT Status
2210 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
2211 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
2212 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
2213 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
2214 it_zlctaro_t = lt_zlctaro " LCT ARO
2215 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
2216 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
2217 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
2218 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
2219 IMPORTING
2220 es_item_rv_data = ls_zlcte1con_item_rv.
2221
2222 IF ls_zlcte1con_item_rv IS INITIAL.
2223 CONTINUE.
2224 ENDIF.
2225
2226 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
2227 EXPORTING
2228 iv_segment = '/DTLN/E1CON_ITEM_RV'
2229 it_segment_fields = mt_segment_fields
2230 CHANGING
2231 cs_segment = ls_zlcte1con_item_rv
2232 EXCEPTIONS
2233 error_on_reading_element = 1
2234 error_on_creation_of_datatype = 2
2235 error_on_assigment = 3
2236 OTHERS = 4.
2237
2238 IF sy-subrc <> 0.
2239 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2240
2241 CLEAR: <msg>.
2242
2243 <msg>-type = 'I'.
2244 <msg>-id = 'ZFI_LCT_DB'.
2245 <msg>-number = '866'.
2246 <msg>-message_v1 = '/DTLN/E1CON_ITEM_RV'.
2247
2248 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2249 EXPORTING
2250 is_message = <msg>.
2251
2252 CALL METHOD mo_ut_app_log->save.
2253
2254 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2255
2256 UNASSIGN: <msg>.
2257 ENDIF.
2258
2259 CALL METHOD create_idoc_segment
2260 EXPORTING
2261 iv_segnam = '/DTLN/E1CON_ITEM_RV'
2262 iv_mandt = lc_client
2263 iv_docnum = iv_docnum
2264 iv_psgnum = lv_psgnum_zlcte1con_item
2265 iv_hlevel = lc_hlevel_sub_item
2266 is_structure = ls_zlcte1con_item_rv
2267 CHANGING
2268 ct_count = lv_count
2269 ct_document = et_document.
2270
2271 lv_psgnum_zlcte1con_item_rv = lv_count.
2272* ------------------------------------------------------------------------------------------------
2273* ZLCTE1CON_RV_COND Zahlungskonditionen für Restwertgarantie
2274* ------------------------------------------------------------------------------------------------
2275 LOOP AT lt_zlctcond INTO ls_zlctcond WHERE zoptguid = ls_zlctoption-zoptguid.
2276
2277 CLEAR: ls_zlcte1con_rv_cond.
2278
2279 CALL METHOD zficln_lct_outbd_mapper=>map_item_rv_cond
2280 EXPORTING
2281 iv_segment = '/DTLN/E1CON_RV_COND'
2282 iv_parent = '/DTLN/E1CON_ITEM_RV'
2283 is_zlctobject_t = ls_zlctobject
2284 is_zlctoption_t = ls_zlctoption
2285 is_zlctcond_t = ls_zlctcond
2286 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
2287 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
2288 is_zlctsale_t = ls_zlctsale " LCT Umsätze
2289 it_zlctstatus_t = lt_zlctstatus " LCT Status
2290 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
2291 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
2292 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
2293 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
2294 it_zlctaro_t = lt_zlctaro " LCT ARO
2295 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
2296 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
2297 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
2298 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
2299 IMPORTING
2300 es_item_rv_cond_data = ls_zlcte1con_rv_cond.
2301
2302 IF ls_zlcte1con_rv_cond IS INITIAL.
2303 CONTINUE.
2304 ENDIF.
2305
2306 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
2307 EXPORTING
2308 iv_segment = '/DTLN/E1CON_RV_COND'
2309 it_segment_fields = mt_segment_fields
2310 CHANGING
2311 cs_segment = ls_zlcte1con_rv_cond
2312 EXCEPTIONS
2313 error_on_reading_element = 1
2314 error_on_creation_of_datatype = 2
2315 error_on_assigment = 3
2316 OTHERS = 4.
2317
2318 IF sy-subrc <> 0.
2319 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2320
2321 CLEAR: <msg>.
2322
2323 <msg>-type = 'I'.
2324 <msg>-id = 'ZFI_LCT_DB'.
2325 <msg>-number = '866'.
2326 <msg>-message_v1 = '/DTLN/E1CON_RV_COND'.
2327
2328 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2329 EXPORTING
2330 is_message = <msg>.
2331
2332 CALL METHOD mo_ut_app_log->save.
2333
2334 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2335
2336 UNASSIGN: <msg>.
2337 ENDIF.
2338
2339 CALL METHOD create_idoc_segment
2340 EXPORTING
2341 iv_segnam = '/DTLN/E1CON_RV_COND'
2342 iv_mandt = lc_client
2343 iv_docnum = iv_docnum
2344 iv_psgnum = lv_psgnum_zlcte1con_item_rv
2345 iv_hlevel = lc_hlevel_sub_sub
2346 is_structure = ls_zlcte1con_rv_cond
2347 CHANGING
2348 ct_count = lv_count
2349 ct_document = et_document.
2350
2351 ENDLOOP.
2352
2353 ENDLOOP.
2354* ------------------------------------------------------------------------------------------------
2355* ZLCTE1CON_ITEM_AP RLV Spezifische Daten IFRS
2356* ------------------------------------------------------------------------------------------------
2357
2358 IF NOT ls_zlctcompany-lnl_contracttype IS INITIAL. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2359 CLEAR: ls_zlcte1con_item_ap.
2360 CALL METHOD zficln_lct_outbd_mapper=>map_item_ap_ifrs
2361 EXPORTING
2362 iv_segment = '/DTLN/E1CON_ITEM_AP'
2363 is_zlctobject_t = ls_zlctobject
2364 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
2365 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
2366 is_zlctsale_t = ls_zlctsale " LCT Umsätze
2367 it_zlctstatus_t = lt_zlctstatus " LCT Status
2368 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
2369 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
2370 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
2371 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
2372 it_zlctaro_t = lt_zlctaro " LCT ARO
2373 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
2374 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
2375 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
2376 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
2377 IMPORTING
2378 es_item_ap_data = ls_zlcte1con_item_ap.
2379
2380 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
2381 EXPORTING
2382 iv_segment = '/DTLN/E1CON_ITEM_AP'
2383 it_segment_fields = mt_segment_fields
2384 CHANGING
2385 cs_segment = ls_zlcte1con_item_ap
2386 EXCEPTIONS
2387 error_on_reading_element = 1
2388 error_on_creation_of_datatype = 2
2389 error_on_assigment = 3
2390 OTHERS = 4.
2391
2392 IF sy-subrc <> 0.
2393 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2394
2395 CLEAR: <msg>.
2396
2397 <msg>-type = 'I'.
2398 <msg>-id = 'ZFI_LCT_DB'.
2399 <msg>-number = '866'.
2400 <msg>-message_v1 = '/DTLN/E1CON_ITEM_AP'.
2401
2402 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2403 EXPORTING
2404 is_message = <msg>.
2405
2406 CALL METHOD mo_ut_app_log->save.
2407
2408 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2409
2410 UNASSIGN: <msg>.
2411 ENDIF.
2412
2413 CALL METHOD create_idoc_segment
2414 EXPORTING
2415 iv_segnam = '/DTLN/E1CON_ITEM_AP'
2416 iv_mandt = lc_client
2417 iv_docnum = iv_docnum
2418 iv_psgnum = lv_psgnum_zlcte1con_item
2419 iv_hlevel = lc_hlevel_sub_item
2420 is_structure = ls_zlcte1con_item_ap
2421 CHANGING
2422 ct_count = lv_count
2423 ct_document = et_document.
2424 ENDIF. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2425
2426* ------------------------------------------------------------------------------------------------
2427* ZLCTE1CON_ITEM_AP RLV Spezifische Daten HGB
2428* ------------------------------------------------------------------------------------------------
2429
2430 IF ls_zlctcompany-lnl_contracttype = 'LES' OR ls_zlctcompany-lnl_contracttype = 'LEA' . " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2431 CLEAR: ls_zlcte1con_item_ap.
2432 CALL METHOD zficln_lct_outbd_mapper=>map_item_ap_loc
2433 EXPORTING
2434 iv_segment = '/DTLN/E1CON_ITEM_AP'
2435 is_zlctobject_t = ls_zlctobject
2436 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
2437 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
2438 is_zlctsale_t = ls_zlctsale " LCT Umsätze
2439 it_zlctstatus_t = lt_zlctstatus " LCT Status
2440 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
2441 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
2442 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
2443 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
2444 it_zlctaro_t = lt_zlctaro " LCT ARO
2445 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
2446 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
2447 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
2448 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
2449 IMPORTING
2450 es_item_ap_data = ls_zlcte1con_item_ap.
2451
2452 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
2453 EXPORTING
2454 iv_segment = '/DTLN/E1CON_ITEM_AP'
2455 it_segment_fields = mt_segment_fields
2456 CHANGING
2457 cs_segment = ls_zlcte1con_item_ap
2458 EXCEPTIONS
2459 error_on_reading_element = 1
2460 error_on_creation_of_datatype = 2
2461 error_on_assigment = 3
2462 OTHERS = 4.
2463
2464 IF sy-subrc <> 0.
2465 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2466
2467 CLEAR: <msg>.
2468
2469 <msg>-type = 'I'.
2470 <msg>-id = 'ZFI_LCT_DB'.
2471 <msg>-number = '866'.
2472 <msg>-message_v1 = '/DTLN/E1CON_ITEM_AP'.
2473
2474 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2475 EXPORTING
2476 is_message = <msg>.
2477
2478 CALL METHOD mo_ut_app_log->save.
2479
2480 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2481
2482 UNASSIGN: <msg>.
2483 ENDIF.
2484
2485 CALL METHOD create_idoc_segment
2486 EXPORTING
2487 iv_segnam = '/DTLN/E1CON_ITEM_AP'
2488 iv_mandt = lc_client
2489 iv_docnum = iv_docnum
2490 iv_psgnum = lv_psgnum_zlcte1con_item
2491 iv_hlevel = lc_hlevel_sub_item
2492 is_structure = ls_zlcte1con_item_ap
2493 CHANGING
2494 ct_count = lv_count
2495 ct_document = et_document.
2496 ENDIF. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2497
2498* ------------------------------------------------------------------------------------------------
2499* ZLCTE1CON_ITEM_AS RLV spezifische Assessment (Einschätzung) HGB LOC
2500* ------------------------------------------------------------------------------------------------
2501
2502 IF ls_zlctcompany-lnl_contracttype = 'LES' OR ls_zlctcompany-lnl_contracttype = 'LEA' . " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2503 CLEAR: ls_zlcte1con_item_as.
2504 CALL METHOD zficln_lct_outbd_mapper=>map_item_as_loc
2505 EXPORTING
2506 iv_segment = '/DTLN/E1CON_ITEM_AS'
2507 is_zlctobject_t = ls_zlctobject
2508 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
2509 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
2510 is_zlctsale_t = ls_zlctsale " LCT Umsätze
2511 it_zlctstatus_t = lt_zlctstatus " LCT Status
2512 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
2513 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
2514 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
2515 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
2516 it_zlctaro_t = lt_zlctaro " LCT ARO
2517 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
2518 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
2519 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
2520 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
2521 IMPORTING
2522 es_item_as_data = ls_zlcte1con_item_as.
2523
2524 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
2525 EXPORTING
2526 iv_segment = '/DTLN/E1CON_ITEM_AS'
2527 it_segment_fields = mt_segment_fields
2528 CHANGING
2529 cs_segment = ls_zlcte1con_item_as
2530 EXCEPTIONS
2531 error_on_reading_element = 1
2532 error_on_creation_of_datatype = 2
2533 error_on_assigment = 3
2534 OTHERS = 4.
2535
2536 IF sy-subrc <> 0.
2537 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2538
2539 CLEAR: <msg>.
2540
2541 <msg>-type = 'I'.
2542 <msg>-id = 'ZFI_LCT_DB'.
2543 <msg>-number = '866'.
2544 <msg>-message_v1 = '/DTLN/E1CON_ITEM_AS'.
2545
2546 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2547 EXPORTING
2548 is_message = <msg>.
2549
2550 CALL METHOD mo_ut_app_log->save.
2551
2552 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2553
2554 UNASSIGN: <msg>.
2555 ENDIF.
2556
2557 CALL METHOD create_idoc_segment
2558 EXPORTING
2559 iv_segnam = '/DTLN/E1CON_ITEM_AS'
2560 iv_mandt = lc_client
2561 iv_docnum = iv_docnum
2562 iv_psgnum = lv_psgnum_zlcte1con_item
2563 iv_hlevel = lc_hlevel_sub_item
2564 is_structure = ls_zlcte1con_item_as
2565 CHANGING
2566 ct_count = lv_count
2567 ct_document = et_document.
2568 ENDIF. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2569
2570 lv_psgnm_ze1con_item_as_loc = lv_count.
2571* ------------------------------------------------------------------------------------------------
2572* ZLCTE1CON_AS_CA Hinreichend sichere Vertragsvereinbarungen nach RLV HGB LOC
2573* ------------------------------------------------------------------------------------------------
2574 LOOP AT lt_zlctoption INTO ls_zlctoption WHERE zobjzuord = ls_zlctobject-zobjid AND zoptreacer = mc_zoptreacer_2.
2575
2576 IF ls_zlctcompany-lnl_contracttype = 'LES' OR ls_zlctcompany-lnl_contracttype = 'LEA' . " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2577
2578 CLEAR: ls_zlcte1con_as_ca.
2579
2580 CALL METHOD zficln_lct_outbd_mapper=>map_item_as_ca_loc
2581 EXPORTING
2582 iv_segment = '/DTLN/E1CON_AS_CA'
2583 is_zlctobject_t = ls_zlctobject
2584 is_zlctoption_t = ls_zlctoption
2585 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
2586 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
2587 is_zlctsale_t = ls_zlctsale " LCT Umsätze
2588 it_zlctstatus_t = lt_zlctstatus " LCT Status
2589 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
2590 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
2591 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
2592 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
2593 it_zlctaro_t = lt_zlctaro " LCT ARO
2594 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
2595 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
2596 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
2597 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
2598 IMPORTING
2599 es_item_as_ca_data = ls_zlcte1con_as_ca.
2600
2601 IF ls_zlcte1con_as_ca IS INITIAL.
2602 CONTINUE.
2603 ENDIF.
2604
2605 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
2606 EXPORTING
2607 iv_segment = '/DTLN/E1CON_AS_CA'
2608 it_segment_fields = mt_segment_fields
2609 CHANGING
2610 cs_segment = ls_zlcte1con_as_ca
2611 EXCEPTIONS
2612 error_on_reading_element = 1
2613 error_on_creation_of_datatype = 2
2614 error_on_assigment = 3
2615 OTHERS = 4.
2616
2617 IF sy-subrc <> 0.
2618 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2619
2620 CLEAR: <msg>.
2621
2622 <msg>-type = 'I'.
2623 <msg>-id = 'ZFI_LCT_DB'.
2624 <msg>-number = '866'.
2625 <msg>-message_v1 = '/DTLN/E1CON_AS_CA'.
2626
2627 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2628 EXPORTING
2629 is_message = <msg>.
2630
2631 CALL METHOD mo_ut_app_log->save.
2632
2633 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2634
2635 UNASSIGN: <msg>.
2636 ENDIF.
2637
2638
2639 CALL METHOD create_idoc_segment
2640 EXPORTING
2641 iv_segnam = '/DTLN/E1CON_AS_CA'
2642 iv_mandt = lc_client
2643 iv_docnum = iv_docnum
2644 iv_psgnum = lv_psgnm_ze1con_item_as_loc
2645 iv_hlevel = lc_hlevel_sub_sub
2646 is_structure = ls_zlcte1con_as_ca
2647 CHANGING
2648 ct_count = lv_count
2649 ct_document = et_document.
2650 ENDIF. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2651
2652 lv_psgnm_ze1con_item_as_ca_loc = lv_count.
2653* ------------------------------------------------------------------------------------------------
2654* ZLCTE1CON_CA_COND Geschätzte Zahlungskonditionen für Vertragsvereinbarungen HGB LOC
2655* ------------------------------------------------------------------------------------------------
2656 LOOP AT lt_zlctcond INTO ls_zlctcond WHERE zoptguid = ls_zlctoption-zoptguid.
2657
2658 IF ls_zlctcompany-lnl_contracttype = 'LES' OR ls_zlctcompany-lnl_contracttype = 'LEA' . " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2659 CLEAR: ls_zlcte1con_ca_cond.
2660
2661 CALL METHOD zficln_lct_outbd_mapper=>map_item_ca_cond_loc
2662 EXPORTING
2663 iv_segment = '/DTLN/E1CON_CA_COND'
2664 iv_parent = '/DTLN/E1CON_AS_CA'
2665 is_zlctobject_t = ls_zlctobject
2666 is_zlctoption_t = ls_zlctoption
2667 is_zlctcond_t = ls_zlctcond
2668 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
2669 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
2670 is_zlctsale_t = ls_zlctsale " LCT Umsätze
2671 it_zlctstatus_t = lt_zlctstatus " LCT Status
2672 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
2673 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
2674 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
2675 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
2676 it_zlctaro_t = lt_zlctaro " LCT ARO
2677 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
2678 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
2679 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
2680 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
2681 IMPORTING
2682 es_item_ca_cond_data = ls_zlcte1con_ca_cond.
2683
2684 IF ls_zlcte1con_ca_cond IS INITIAL.
2685 CONTINUE.
2686 ENDIF.
2687
2688 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
2689 EXPORTING
2690 iv_segment = '/DTLN/E1CON_CA_COND'
2691 it_segment_fields = mt_segment_fields
2692 CHANGING
2693 cs_segment = ls_zlcte1con_ca_cond
2694 EXCEPTIONS
2695 error_on_reading_element = 1
2696 error_on_creation_of_datatype = 2
2697 error_on_assigment = 3
2698 OTHERS = 4.
2699
2700 IF sy-subrc <> 0.
2701 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2702
2703 CLEAR: <msg>.
2704
2705 <msg>-type = 'I'.
2706 <msg>-id = 'ZFI_LCT_DB'.
2707 <msg>-number = '866'.
2708 <msg>-message_v1 = '/DTLN/E1CON_CA_COND'.
2709
2710 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2711 EXPORTING
2712 is_message = <msg>.
2713
2714 CALL METHOD mo_ut_app_log->save.
2715
2716 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2717
2718 UNASSIGN: <msg>.
2719 ENDIF.
2720
2721 CALL METHOD create_idoc_segment
2722 EXPORTING
2723 iv_segnam = '/DTLN/E1CON_CA_COND'
2724 iv_mandt = lc_client
2725 iv_docnum = iv_docnum
2726 iv_psgnum = lv_psgnm_ze1con_item_as_ca_loc
2727 iv_hlevel = lc_hlevel_sub_sub_sub
2728 is_structure = ls_zlcte1con_ca_cond
2729 CHANGING
2730 ct_count = lv_count
2731 ct_document = et_document.
2732 ENDIF. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2733
2734
2735 ENDLOOP.
2736
2737 ENDLOOP. " lt_zlctoption = mc_zoptreacer_2
2738
2739
2740*** beg ins JB 20181019
2741* ------------------------------------------------------------------------------------------------
2742* ZLCTE1CON_AS_CA Änderung der Hinreichend sichere Vertragsvereinbarungen nach RLV HGB LOC
2743* ------------------------------------------------------------------------------------------------
2744 IF iv_old_version IS INITIAL.
2745 lv_zlctoptreacer = get_cha_zlctoptreacer( iv_zobjid = ls_zlctobject-zobjid
2746 it_zlctoption = lt_zlctoption ).
2747 ENDIF.
2748
2749 IF lv_zlctoptreacer = mc_zoptreacer_1.
2750
2751 LOOP AT lt_zlctoption INTO ls_zlctoption WHERE zobjzuord = ls_zlctobject-zobjid AND zoptreacer = lv_zlctoptreacer.
2752
2753 IF ls_zlctcompany-lnl_contracttype = 'LES' OR ls_zlctcompany-lnl_contracttype = 'LEA' . " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2754
2755 CLEAR: ls_zlcte1con_as_ca.
2756
2757 CALL METHOD zficln_lct_outbd_mapper=>map_item_as_ca_loc
2758 EXPORTING
2759 iv_segment = '/DTLN/E1CON_AS_CA'
2760 iv_zoptreacer = lv_zlctoptreacer
2761 is_zlctobject_t = ls_zlctobject
2762 is_zlctoption_t = ls_zlctoption
2763 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
2764 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
2765 is_zlctsale_t = ls_zlctsale " LCT Umsätze
2766 it_zlctstatus_t = lt_zlctstatus " LCT Status
2767 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
2768 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
2769 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
2770 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
2771 it_zlctaro_t = lt_zlctaro " LCT ARO
2772 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
2773 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
2774 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
2775 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
2776 IMPORTING
2777 es_item_as_ca_data = ls_zlcte1con_as_ca.
2778
2779 IF ls_zlcte1con_as_ca IS INITIAL.
2780 CONTINUE.
2781 ENDIF.
2782
2783 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
2784 EXPORTING
2785 iv_segment = '/DTLN/E1CON_AS_CA'
2786 it_segment_fields = mt_segment_fields
2787 CHANGING
2788 cs_segment = ls_zlcte1con_as_ca
2789 EXCEPTIONS
2790 error_on_reading_element = 1
2791 error_on_creation_of_datatype = 2
2792 error_on_assigment = 3
2793 OTHERS = 4.
2794
2795 IF sy-subrc <> 0.
2796 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2797
2798 CLEAR: <msg>.
2799
2800 <msg>-type = 'I'.
2801 <msg>-id = 'ZFI_LCT_DB'.
2802 <msg>-number = '866'.
2803 <msg>-message_v1 = '/DTLN/E1CON_AS_CA'.
2804
2805 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2806 EXPORTING
2807 is_message = <msg>.
2808
2809 CALL METHOD mo_ut_app_log->save.
2810
2811 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2812
2813 UNASSIGN: <msg>.
2814 ENDIF.
2815
2816
2817 CALL METHOD create_idoc_segment
2818 EXPORTING
2819 iv_segnam = '/DTLN/E1CON_AS_CA'
2820 iv_mandt = lc_client
2821 iv_docnum = iv_docnum
2822 iv_psgnum = lv_psgnm_ze1con_item_as_loc
2823 iv_hlevel = lc_hlevel_sub_sub
2824 is_structure = ls_zlcte1con_as_ca
2825 CHANGING
2826 ct_count = lv_count
2827 ct_document = et_document.
2828 ENDIF. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2829 ENDLOOP. " lt_zlctoption <> mc_zoptreacer_2
2830 ENDIF. " lv_zlctoptreacer NE mc_zoptreacer_2
2831*** end ins JB 20181019
2832
2833
2834
2835* ------------------------------------------------------------------------------------------------
2836* ZLCTE1CON_ITEM_AS RLV spezifische Assessment (Einschätzung) IFRS
2837* ------------------------------------------------------------------------------------------------
2838
2839
2840 IF NOT ls_zlctcompany-lnl_contracttype IS INITIAL. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2841 CLEAR: ls_zlcte1con_item_as.
2842
2843 CALL METHOD zficln_lct_outbd_mapper=>map_item_as_ifrs
2844 EXPORTING
2845 iv_segment = '/DTLN/E1CON_ITEM_AS'
2846 is_zlctobject_t = ls_zlctobject
2847 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
2848 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
2849 is_zlctsale_t = ls_zlctsale " LCT Umsätze
2850 it_zlctstatus_t = lt_zlctstatus " LCT Status
2851 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
2852 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
2853 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
2854 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
2855 it_zlctaro_t = lt_zlctaro " LCT ARO
2856 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
2857 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
2858 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
2859 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
2860 IMPORTING
2861 es_item_as_data = ls_zlcte1con_item_as.
2862
2863 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
2864 EXPORTING
2865 iv_segment = '/DTLN/E1CON_ITEM_AS'
2866 it_segment_fields = mt_segment_fields
2867 CHANGING
2868 cs_segment = ls_zlcte1con_item_as
2869 EXCEPTIONS
2870 error_on_reading_element = 1
2871 error_on_creation_of_datatype = 2
2872 error_on_assigment = 3
2873 OTHERS = 4.
2874
2875 IF sy-subrc <> 0.
2876 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2877
2878 CLEAR: <msg>.
2879
2880 <msg>-type = 'I'.
2881 <msg>-id = 'ZFI_LCT_DB'.
2882 <msg>-number = '866'.
2883 <msg>-message_v1 = '/DTLN/E1CON_ITEM_AS'.
2884
2885 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2886 EXPORTING
2887 is_message = <msg>.
2888
2889 CALL METHOD mo_ut_app_log->save.
2890
2891 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2892
2893 UNASSIGN: <msg>.
2894 ENDIF.
2895
2896
2897 CALL METHOD create_idoc_segment
2898 EXPORTING
2899 iv_segnam = '/DTLN/E1CON_ITEM_AS'
2900 iv_mandt = lc_client
2901 iv_docnum = iv_docnum
2902 iv_psgnum = lv_psgnum_zlcte1con_item
2903 iv_hlevel = lc_hlevel_sub_item
2904 is_structure = ls_zlcte1con_item_as
2905 CHANGING
2906 ct_count = lv_count
2907 ct_document = et_document.
2908
2909 ENDIF. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2910
2911 lv_psgnm_ze1con_item_as_ifr = lv_count.
2912* ------------------------------------------------------------------------------------------------
2913* ZLCTE1CON_AS_CA Hinreichend sichere Vertragsvereinbarungen nach RLV IFRS
2914* ------------------------------------------------------------------------------------------------
2915 LOOP AT lt_zlctoption INTO ls_zlctoption WHERE zobjzuord = ls_zlctobject-zobjid AND zoptreacer = mc_zoptreacer_2.
2916
2917 IF NOT ls_zlctcompany-lnl_contracttype IS INITIAL. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2918
2919 CLEAR: ls_zlcte1con_as_ca.
2920
2921 CALL METHOD zficln_lct_outbd_mapper=>map_item_as_ca_ifrs
2922 EXPORTING
2923 iv_segment = '/DTLN/E1CON_AS_CA'
2924 is_zlctobject_t = ls_zlctobject
2925 is_zlctoption_t = ls_zlctoption
2926 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
2927 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
2928 is_zlctsale_t = ls_zlctsale " LCT Umsätze
2929 it_zlctstatus_t = lt_zlctstatus " LCT Status
2930 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
2931 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
2932 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
2933 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
2934 it_zlctaro_t = lt_zlctaro " LCT ARO
2935 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
2936 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
2937 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
2938 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
2939 IMPORTING
2940 es_item_as_ca_data = ls_zlcte1con_as_ca.
2941
2942 IF ls_zlcte1con_as_ca IS INITIAL.
2943 CONTINUE.
2944 ENDIF.
2945
2946 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
2947 EXPORTING
2948 iv_segment = '/DTLN/E1CON_AS_CA'
2949 it_segment_fields = mt_segment_fields
2950 CHANGING
2951 cs_segment = ls_zlcte1con_as_ca
2952 EXCEPTIONS
2953 error_on_reading_element = 1
2954 error_on_creation_of_datatype = 2
2955 error_on_assigment = 3
2956 OTHERS = 4.
2957
2958 IF sy-subrc <> 0.
2959 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
2960
2961 CLEAR: <msg>.
2962
2963 <msg>-type = 'I'.
2964 <msg>-id = 'ZFI_LCT_DB'.
2965 <msg>-number = '866'.
2966 <msg>-message_v1 = '/DTLN/E1CON_AS_CA'.
2967
2968 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
2969 EXPORTING
2970 is_message = <msg>.
2971
2972 CALL METHOD mo_ut_app_log->save.
2973
2974 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
2975
2976 UNASSIGN: <msg>.
2977 ENDIF.
2978
2979 CALL METHOD create_idoc_segment
2980 EXPORTING
2981 iv_segnam = '/DTLN/E1CON_AS_CA'
2982 iv_mandt = lc_client
2983 iv_docnum = iv_docnum
2984 iv_psgnum = lv_psgnm_ze1con_item_as_ifr
2985 iv_hlevel = lc_hlevel_sub_sub
2986 is_structure = ls_zlcte1con_as_ca
2987 CHANGING
2988 ct_count = lv_count
2989 ct_document = et_document.
2990 ENDIF. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2991 lv_psgnm_ze1con_item_as_ca_ifr = lv_count.
2992* ------------------------------------------------------------------------------------------------
2993* ZLCTE1CON_CA_COND Geschätzte Zahlungskonditionen für Vertragsvereinbarungen IFRS
2994* ------------------------------------------------------------------------------------------------
2995 LOOP AT lt_zlctcond INTO ls_zlctcond WHERE zoptguid = ls_zlctoption-zoptguid.
2996
2997
2998 IF NOT ls_zlctcompany-lnl_contracttype IS INITIAL. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
2999 CLEAR: ls_zlcte1con_ca_cond.
3000
3001 CALL METHOD zficln_lct_outbd_mapper=>map_item_ca_cond_ifrs
3002 EXPORTING
3003 iv_segment = '/DTLN/E1CON_CA_COND'
3004 iv_parent = '/DTLN/E1CON_AS_CA'
3005 is_zlctobject_t = ls_zlctobject
3006 is_zlctoption_t = ls_zlctoption
3007 is_zlctcond_t = ls_zlctcond
3008 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
3009 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
3010 is_zlctsale_t = ls_zlctsale " LCT Umsätze
3011 it_zlctstatus_t = lt_zlctstatus " LCT Status
3012 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
3013 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
3014 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
3015 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
3016 it_zlctaro_t = lt_zlctaro " LCT ARO
3017 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
3018 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
3019 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
3020 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
3021 IMPORTING
3022 es_item_ca_cond_data = ls_zlcte1con_ca_cond.
3023
3024 IF ls_zlcte1con_ca_cond IS INITIAL.
3025 CONTINUE.
3026 ENDIF.
3027
3028 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
3029 EXPORTING
3030 iv_segment = '/DTLN/E1CON_CA_COND'
3031 it_segment_fields = mt_segment_fields
3032 CHANGING
3033 cs_segment = ls_zlcte1con_ca_cond
3034 EXCEPTIONS
3035 error_on_reading_element = 1
3036 error_on_creation_of_datatype = 2
3037 error_on_assigment = 3
3038 OTHERS = 4.
3039
3040 IF sy-subrc <> 0.
3041 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
3042
3043 CLEAR: <msg>.
3044
3045 <msg>-type = 'I'.
3046 <msg>-id = 'ZFI_LCT_DB'.
3047 <msg>-number = '866'.
3048 <msg>-message_v1 = '/DTLN/E1CON_CA_COND'.
3049
3050 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
3051 EXPORTING
3052 is_message = <msg>.
3053
3054 CALL METHOD mo_ut_app_log->save.
3055
3056 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
3057
3058 UNASSIGN: <msg>.
3059 ENDIF.
3060
3061 CALL METHOD create_idoc_segment
3062 EXPORTING
3063 iv_segnam = '/DTLN/E1CON_CA_COND'
3064 iv_mandt = lc_client
3065 iv_docnum = iv_docnum
3066 iv_psgnum = lv_psgnm_ze1con_item_as_ca_ifr
3067 iv_hlevel = lc_hlevel_sub_sub_sub
3068 is_structure = ls_zlcte1con_ca_cond
3069 CHANGING
3070 ct_count = lv_count
3071 ct_document = et_document.
3072 ENDIF. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
3073
3074
3075 ENDLOOP.
3076
3077 ENDLOOP.
3078*** beg ins JB 20181019
3079* ------------------------------------------------------------------------------------------------
3080* ZLCTE1CON_AS_CA Änderung der Hinreichend sichere Vertragsvereinbarungen nach RLV HGB LOC
3081* ------------------------------------------------------------------------------------------------
3082
3083 IF iv_old_version IS INITIAL.
3084 lv_zlctoptreacer = get_cha_zlctoptreacer( iv_zobjid = ls_zlctobject-zobjid
3085 it_zlctoption = lt_zlctoption ).
3086 ENDIF.
3087
3088
3089 IF lv_zlctoptreacer = mc_zoptreacer_1.
3090
3091 LOOP AT lt_zlctoption INTO ls_zlctoption WHERE zobjzuord = ls_zlctobject-zobjid AND zoptreacer = lv_zlctoptreacer.
3092
3093 IF NOT ls_zlctcompany-lnl_contracttype IS INITIAL. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
3094
3095 CLEAR: ls_zlcte1con_as_ca.
3096
3097 CALL METHOD zficln_lct_outbd_mapper=>map_item_as_ca_ifrs
3098 EXPORTING
3099 iv_segment = '/DTLN/E1CON_AS_CA'
3100 iv_zoptreacer = lv_zlctoptreacer
3101 is_zlctobject_t = ls_zlctobject
3102 is_zlctoption_t = ls_zlctoption
3103 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
3104 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
3105 is_zlctsale_t = ls_zlctsale " LCT Umsätze
3106 it_zlctstatus_t = lt_zlctstatus " LCT Status
3107 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
3108 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
3109 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
3110 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
3111 it_zlctaro_t = lt_zlctaro " LCT ARO
3112 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
3113 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
3114 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
3115 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
3116 IMPORTING
3117 es_item_as_ca_data = ls_zlcte1con_as_ca.
3118
3119 IF ls_zlcte1con_as_ca IS INITIAL.
3120 CONTINUE.
3121 ENDIF.
3122
3123 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
3124 EXPORTING
3125 iv_segment = '/DTLN/E1CON_AS_CA'
3126 it_segment_fields = mt_segment_fields
3127 CHANGING
3128 cs_segment = ls_zlcte1con_as_ca
3129 EXCEPTIONS
3130 error_on_reading_element = 1
3131 error_on_creation_of_datatype = 2
3132 error_on_assigment = 3
3133 OTHERS = 4.
3134
3135 IF sy-subrc <> 0.
3136 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
3137
3138 CLEAR: <msg>.
3139
3140 <msg>-type = 'I'.
3141 <msg>-id = 'ZFI_LCT_DB'.
3142 <msg>-number = '866'.
3143 <msg>-message_v1 = '/DTLN/E1CON_AS_CA'.
3144
3145 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
3146 EXPORTING
3147 is_message = <msg>.
3148
3149 CALL METHOD mo_ut_app_log->save.
3150
3151 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
3152
3153 UNASSIGN: <msg>.
3154 ENDIF.
3155
3156
3157 CALL METHOD create_idoc_segment
3158 EXPORTING
3159 iv_segnam = '/DTLN/E1CON_AS_CA'
3160 iv_mandt = lc_client
3161 iv_docnum = iv_docnum
3162 iv_psgnum = lv_psgnm_ze1con_item_as_ifr
3163 iv_hlevel = lc_hlevel_sub_sub
3164 is_structure = ls_zlcte1con_as_ca
3165 CHANGING
3166 ct_count = lv_count
3167 ct_document = et_document.
3168 ENDIF. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
3169 ENDLOOP. " lt_zlctoption <> mc_zoptreacer_2
3170 ENDIF. " lv_zlctoptreacer NE mc_zoptreacer_2
3171
3172*** end ins JB 20181019
3173* ------------------------------------------------------------------------------------------------
3174* ZLCTE1CON_ITEM_QTY_REDUC Mengenreduktion
3175* ------------------------------------------------------------------------------------------------
3176 CLEAR: ls_zlcte1con_item_qty_reduc.
3177
3178 IF ls_zlctobject-zconres2 IS NOT INITIAL. " cha JB 20181020
3179
3180 CALL METHOD zficln_lct_outbd_mapper=>map_item_qty_reduc
3181 EXPORTING
3182 iv_segment = '/DTLN/E1CON_ITEM_QTY_REDUC'
3183 is_zlctobject_t = ls_zlctobject
3184 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
3185 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
3186 is_zlctsale_t = ls_zlctsale " LCT Umsätze
3187 it_zlctstatus_t = lt_zlctstatus " LCT Status
3188 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
3189 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
3190 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
3191 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
3192 it_zlctaro_t = lt_zlctaro " LCT ARO
3193 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
3194 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
3195 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
3196 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
3197 IMPORTING
3198 es_item_qty_reduc_data = ls_zlcte1con_item_qty_reduc.
3199
3200 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
3201 EXPORTING
3202 iv_segment = '/DTLN/E1CON_ITEM_QTY_REDUC'
3203 it_segment_fields = mt_segment_fields
3204 CHANGING
3205 cs_segment = ls_zlcte1con_item_qty_reduc
3206 EXCEPTIONS
3207 error_on_reading_element = 1
3208 error_on_creation_of_datatype = 2
3209 error_on_assigment = 3
3210 OTHERS = 4.
3211
3212 IF sy-subrc <> 0.
3213 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
3214
3215 CLEAR: <msg>.
3216
3217 <msg>-type = 'I'.
3218 <msg>-id = 'ZFI_LCT_DB'.
3219 <msg>-number = '866'.
3220 <msg>-message_v1 = '/DTLN/E1CON_ITEM_QTY_REDUC'.
3221
3222 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
3223 EXPORTING
3224 is_message = <msg>.
3225
3226 CALL METHOD mo_ut_app_log->save.
3227
3228 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
3229
3230 UNASSIGN: <msg>.
3231 ENDIF.
3232
3233 CALL METHOD create_idoc_segment
3234 EXPORTING
3235 iv_segnam = '/DTLN/E1CON_ITEM_QTY_REDUC'
3236 iv_mandt = lc_client
3237 iv_docnum = iv_docnum
3238 iv_psgnum = lv_psgnum_zlcte1con_item
3239 iv_hlevel = lc_hlevel_sub_item
3240 is_structure = ls_zlcte1con_item_qty_reduc
3241 CHANGING
3242 ct_count = lv_count
3243 ct_document = et_document.
3244 ENDIF. " ls_zlctobject-conres2 IS NOT INITIAL. cha JB 20181020
3245
3246* ------------------------------------------------------------------------------------------------
3247* ZLCTE1CON_ITEM_CLASSM RLV spezifische Klassifizierung IFRS
3248* ------------------------------------------------------------------------------------------------
3249 IF NOT ls_zlctcompany-lnl_contracttype IS INITIAL. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d JB 20180924 Änderungen für 2d
3250 CLEAR: ls_zlcte1con_item_classm.
3251
3252 CALL METHOD zficln_lct_outbd_mapper=>map_item_classm_ifrs
3253 EXPORTING
3254 iv_segment = '/DTLN/E1CON_ITEM_CLASSM'
3255 is_zlctobject_t = ls_zlctobject
3256 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
3257 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
3258 is_zlctsale_t = ls_zlctsale " LCT Umsätze
3259 it_zlctstatus_t = lt_zlctstatus " LCT Status
3260 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
3261 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
3262 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
3263 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
3264 it_zlctaro_t = lt_zlctaro " LCT ARO
3265 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
3266 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
3267 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
3268 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
3269 IMPORTING
3270 es_item_classm_data = ls_zlcte1con_item_classm.
3271
3272 IF ls_zlcte1con_item_classm-con_ergkl_man IS NOT INITIAL.
3273 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
3274 EXPORTING
3275 iv_segment = '/DTLN/E1CON_ITEM_CLASSM'
3276 it_segment_fields = mt_segment_fields
3277 CHANGING
3278 cs_segment = ls_zlcte1con_item_classm
3279 EXCEPTIONS
3280 error_on_reading_element = 1
3281 error_on_creation_of_datatype = 2
3282 error_on_assigment = 3
3283 OTHERS = 4.
3284
3285 IF sy-subrc <> 0.
3286 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
3287
3288 CLEAR: <msg>.
3289
3290 <msg>-type = 'I'.
3291 <msg>-id = 'ZFI_LCT_DB'.
3292 <msg>-number = '866'.
3293 <msg>-message_v1 = '/DTLN/E1CON_ITEM_CLASSM'.
3294
3295 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
3296 EXPORTING
3297 is_message = <msg>.
3298
3299 CALL METHOD mo_ut_app_log->save.
3300
3301 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
3302
3303 UNASSIGN: <msg>.
3304 ENDIF.
3305 ENDIF . " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
3306
3307 CALL METHOD create_idoc_segment
3308 EXPORTING
3309 iv_segnam = '/DTLN/E1CON_ITEM_CLASSM'
3310 iv_mandt = lc_client
3311 iv_docnum = iv_docnum
3312 iv_psgnum = lv_psgnum_zlcte1con_item
3313 iv_hlevel = lc_hlevel_sub_item
3314 is_structure = ls_zlcte1con_item_classm
3315 CHANGING
3316 ct_count = lv_count
3317 ct_document = et_document.
3318
3319 ENDIF. "JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d JB 20180924 Änderungen für 2d
3320* ------------------------------------------------------------------------------------------------
3321* ZLCTE1CON_ITEM_CLASSM RLV spezifische Klassifizierung LOC
3322* ------------------------------------------------------------------------------------------------
3323 IF ls_zlctcompany-lnl_contracttype = 'LES' OR ls_zlctcompany-lnl_contracttype = 'LEA' . " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
3324 CLEAR: ls_zlcte1con_item_classm.
3325 CALL METHOD zficln_lct_outbd_mapper=>map_item_classm_loc
3326 EXPORTING
3327 iv_segment = '/DTLN/E1CON_ITEM_CLASSM'
3328 is_zlctobject_t = ls_zlctobject
3329 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
3330 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
3331 is_zlctsale_t = ls_zlctsale " LCT Umsätze
3332 it_zlctstatus_t = lt_zlctstatus " LCT Status
3333 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
3334 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
3335 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
3336 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
3337 it_zlctaro_t = lt_zlctaro " LCT ARO
3338 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
3339 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
3340 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
3341 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
3342 IMPORTING
3343 es_item_classm_data = ls_zlcte1con_item_classm.
3344
3345 IF ls_zlcte1con_item_classm-con_ergkl_man IS NOT INITIAL.
3346
3347 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
3348 EXPORTING
3349 iv_segment = '/DTLN/E1CON_ITEM_CLASSM'
3350 it_segment_fields = mt_segment_fields
3351 CHANGING
3352 cs_segment = ls_zlcte1con_item_classm
3353 EXCEPTIONS
3354 error_on_reading_element = 1
3355 error_on_creation_of_datatype = 2
3356 error_on_assigment = 3
3357 OTHERS = 4.
3358
3359 IF sy-subrc <> 0.
3360 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
3361
3362 CLEAR: <msg>.
3363
3364 <msg>-type = 'I'.
3365 <msg>-id = 'ZFI_LCT_DB'.
3366 <msg>-number = '866'.
3367 <msg>-message_v1 = '/DTLN/E1CON_ITEM_CLASSM'.
3368
3369 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
3370 EXPORTING
3371 is_message = <msg>.
3372
3373 CALL METHOD mo_ut_app_log->save.
3374
3375 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
3376
3377 UNASSIGN: <msg>.
3378 ENDIF.
3379 ENDIF. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d
3380
3381
3382 CALL METHOD create_idoc_segment
3383 EXPORTING
3384 iv_segnam = '/DTLN/E1CON_ITEM_CLASSM'
3385 iv_mandt = lc_client
3386 iv_docnum = iv_docnum
3387 iv_psgnum = lv_psgnum_zlcte1con_item
3388 iv_hlevel = lc_hlevel_sub_item
3389 is_structure = ls_zlcte1con_item_classm
3390 CHANGING
3391 ct_count = lv_count
3392 ct_document = et_document.
3393
3394 ENDIF. " JB 20180828 noch nicht verwenden JB 20180924 Änderungen für 2d JB 20180924 Änderungen für 2d
3395* ------------------------------------------------------------------------------------------------
3396* ZLCTE1CON_ITEM_VAL_VAR Bewertungsvariante, die manuell festgelegt wurde
3397* ------------------------------------------------------------------------------------------------
3398 CLEAR: ls_zlcte1con_item_val_var.
3399
3400 CALL METHOD zficln_lct_outbd_mapper=>map_item_val_var
3401 EXPORTING
3402 iv_segment = '/DTLN/E1CON_ITEM_VAL_VAR'
3403 is_zlctobject_t = ls_zlctobject
3404 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
3405 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
3406 is_zlctsale_t = ls_zlctsale " LCT Umsätze
3407 it_zlctstatus_t = lt_zlctstatus " LCT Status
3408 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
3409 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
3410 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
3411 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
3412 it_zlctaro_t = lt_zlctaro " LCT ARO
3413 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
3414 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
3415 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
3416 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
3417 IMPORTING
3418 es_item_val_var_data = ls_zlcte1con_item_val_var.
3419
3420 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
3421 EXPORTING
3422 iv_segment = '/DTLN/E1CON_ITEM_VAL_VAR'
3423 it_segment_fields = mt_segment_fields
3424 CHANGING
3425 cs_segment = ls_zlcte1con_item_val_var
3426 EXCEPTIONS
3427 error_on_reading_element = 1
3428 error_on_creation_of_datatype = 2
3429 error_on_assigment = 3
3430 OTHERS = 4.
3431
3432 IF sy-subrc <> 0.
3433 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
3434
3435 CLEAR: <msg>.
3436
3437 <msg>-type = 'I'.
3438 <msg>-id = 'ZFI_LCT_DB'.
3439 <msg>-number = '866'.
3440 <msg>-message_v1 = '/DTLN/E1CON_ITEM_VAL_VAR'.
3441
3442 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
3443 EXPORTING
3444 is_message = <msg>.
3445
3446 CALL METHOD mo_ut_app_log->save.
3447
3448 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
3449
3450 UNASSIGN: <msg>.
3451 ENDIF.
3452
3453 CALL METHOD create_idoc_segment
3454 EXPORTING
3455 iv_segnam = '/DTLN/E1CON_ITEM_VAL_VAR'
3456 iv_mandt = lc_client
3457 iv_docnum = iv_docnum
3458 iv_psgnum = lv_psgnum_zlcte1con_item
3459 iv_hlevel = lc_hlevel_sub_item
3460 is_structure = ls_zlcte1con_item_val_var
3461 CHANGING
3462 ct_count = lv_count
3463 ct_document = et_document.
3464
3465*** begin ins JB 20181016
3466
3467 CLEAR: ls_zlcte1con_item_term.
3468
3469 IF ls_zlctobject-zobjgrp1 EQ 'T1' "cha JB 20181020
3470 OR ls_zlctobject-zobjgrp1 EQ 'T2'
3471 OR ls_zlctobject-zobjgrp1 EQ 'T3'
3472 OR ls_zlctobject-zobjgrp1 EQ 'T4'
3473 OR ls_zlctobject-zobjgrp1 EQ 'T5'.
3474
3475 CALL METHOD zficln_lct_outbd_mapper=>map_item_term
3476 EXPORTING
3477 iv_segment = '/DTLN/E1CON_ITEM_TERM'
3478 is_zlctobject_t = ls_zlctobject
3479 is_zlctheader_t = ls_zlctheader " LCT Kopfdaten
3480 is_zlctcontract_t = ls_zlctcontract " LCT Vertragsdaten
3481 is_zlctsale_t = ls_zlctsale " LCT Umsätze
3482 it_zlctstatus_t = lt_zlctstatus " LCT Status
3483 it_zlctdate_t = lt_zlctdate " Tabellentyp LCT Datumsdaten
3484 it_zlctoption_t = lt_zlctoption " Tabellentyp LCT Optionen
3485 it_zlctpartrel_t = lt_zlctpartrel " Tabellentyp LCT Partner Relationen
3486 it_zlctobject_t = lt_zlctobject " Tabellentyp LCT Objekte
3487 it_zlctaro_t = lt_zlctaro " LCT ARO
3488 it_zlctcoksst_t = lt_zlctcoksst " Tabellentyp LCT Kostenstellen
3489 it_zlctcond_t = lt_zlctcond " Tabellentyp LCT Kondition
3490 it_zlctvalue_t = lt_zlctvalue " Tabellentyp LCT Werte
3491 it_zlctimage_t = lt_zlctimage " Tabellentyp LCT Vertragsunterlagen/ Verknüpfung Archiv
3492 IMPORTING
3493 es_item_term = ls_zlcte1con_item_term.
3494
3495 CALL METHOD zficln_lct_outbd_mapper=>map_correct_data_type
3496 EXPORTING
3497 iv_segment = '/DTLN/E1CON_ITEM_TERM'
3498 it_segment_fields = mt_segment_fields
3499 CHANGING
3500 cs_segment = ls_zlcte1con_item_term
3501 EXCEPTIONS
3502 error_on_reading_element = 1
3503 error_on_creation_of_datatype = 2
3504 error_on_assigment = 3
3505 OTHERS = 4.
3506
3507 IF sy-subrc <> 0.
3508 APPEND INITIAL LINE TO ct_return ASSIGNING <msg>.
3509
3510 CLEAR: <msg>.
3511
3512 <msg>-type = 'I'.
3513 <msg>-id = 'ZFI_LCT_DB'.
3514 <msg>-number = '866'.
3515 <msg>-message_v1 = '/DTLN/E1CON_ITEM_TERM'.
3516
3517 CALL METHOD mo_ut_app_log->set_message_from_bapiret2
3518 EXPORTING
3519 is_message = <msg>.
3520
3521 CALL METHOD mo_ut_app_log->save.
3522
3523 MESSAGE i866(zfi_lct_db) WITH <msg>-message_v1 INTO <msg>-message.
3524
3525 UNASSIGN: <msg>.
3526 ENDIF.
3527
3528 CALL METHOD create_idoc_segment
3529 EXPORTING
3530 iv_segnam = '/DTLN/E1CON_ITEM_TERM'
3531 iv_mandt = lc_client
3532 iv_docnum = iv_docnum
3533 iv_psgnum = lv_psgnum_zlcte1con_item
3534 iv_hlevel = lc_hlevel_sub_item
3535 is_structure = ls_zlcte1con_item_term
3536 CHANGING
3537 ct_count = lv_count
3538 ct_document = et_document.
3539
3540 ENDIF. "cha JB 20181020
3541
3542*** end ins JB 20181016
3543
3544 ENDLOOP. "lt_zlctobject
3545
3546 LOOP AT et_document ASSIGNING <ls_edid4_copy>.
3547 <ls_edid4_copy>-zlctintreno = iv_zlctintreno.
3548 <ls_edid4_copy>-crtimestamp = ls_zlctcontract-chtimestamp.
3549 <ls_edid4_copy>-dtint2 = strlen( <ls_edid4_copy>-sdata ).
3550 ENDLOOP.
3551 ENDMETHOD.