Está en la página 1de 2

FORM estructura_15. DATA: lwa_est15 TYPE zseidpe_st_estr_pl15. CLEAR lwa_est15.

TYPES: BEGIN OF lty_e15, campo01 TYPE c LENGTH 2, campo02 TYPE c LENGTH 15, campo03 TYPE c LENGTH 2, campo04 TYPE anzhl, END OF lty_e15. DATA: ltd_e15 TYPE STANDARD TABLE OF lty_e15. DATA: ltd_e15_aux TYPE STANDARD TABLE OF lty_e15. DATA: wa_e15 TYPE lty_e15. FIELD-SYMBOLS: <l_e15> LIKE LINE OF ltd_e15. CHECK <fs_tiptra>-tptpp NE gs_tptpp_66 AND <fs_tiptra>-tptpp NE gs_tptpp_88 AND <fs_tiptra>-tptpp NE gs_tptpp_98. READ TABLE gtd_tipdoc ASSIGNING <fs_tipdoc> WITH KEY ictyp = p0185ictyp. CHECK sy-subrc EQ 0. CHECK <fs_tipdoc>-tpdid EQ gs_tpdoc_01 OR <fs_tipdoc>-tpdid EQ gs_tpdoc_04 OR <fs_tipdoc>-tpdid EQ gs_tpdoc_07. LOOP AT ti_ab. READ TABLE gtd_tipces ASSIGNING <fs_tipces> WITH KEY subty = ti_abawart. IF sy-subrc EQ 0. APPEND INITIAL LINE TO ltd_e15 ASSIGNING <l_e15>. <l_e15>-campo01 = <fs_tipdoc>-tpdid. <l_e15>-campo02 = p0185-icnum. <l_e15>-campo03 = <fs_tipces>-tpsus. <l_e15>-campo04 = ti_ab-kaltg. UNASSIGN <l_e15>. ENDIF. ENDLOOP. SORT ltd_e15 BY campo03 ASCENDING. LOOP AT ltd_e15 ASSIGNING <l_e15>. CLEAR: wa_e15. wa_e15-campo01 = <l_e15>-campo01. wa_e15-campo02 = <l_e15>-campo02. wa_e15-campo03 = <l_e15>-campo03. wa_e15-campo04 = <l_e15>-campo04. COLLECT wa_e15 INTO ltd_e15_aux. ENDLOOP.

REFRESH: ltd_e15. ltd_e15[] = ltd_e15_aux[]. LOOP AT ltd_e15 ASSIGNING <l_e15>. lwa_est15-campo01 = <l_e15>-campo01. lwa_est15-campo02 = <l_e15>-campo02. lwa_est15-campo03 = <l_e15>-campo03. lwa_est15-campo04 = TRUNC( <l_e15>-campo04 ).

CONDENSE: lwa_est15-campo04. Concatenar en campo de tabla FINAL APPEND INITIAL LINE TO gtd_archivo15 ASSIGNING <fs_final>. CONCATENATE lwa_est15-campo01 lwa_est15-campo02 lwa_est15-campo03 lwa_est15-campo04 INTO <fs_final>-linea SEPARATED BY '|'. CONCATENATE <fs_final>-linea '|' INTO <fs_final>-linea. UNASSIGN <fs_final>. ENDLOOP. " ESTRUCTURA_15

ENDFORM.

También podría gustarte