|
#1
|
|||
|
|||
Creo que lo que necesitas seria algo como esto:
TYPES: BEGIN OF t_table, belnr TYPE bkpf-belnr, gjahr TYPE bkpf-gjahr, vbeln TYPE vbak-vbeln, vbtyp TYPE vbak-vbtyp, index TYPE i, END OF t_table, BEGIN OF t_vbak, vbeln TYPE vbak-vbeln, vbtyp TYPE vbak-vbtyp, index TYPE i, END OF t_vbak. DATA: gwa_vbak TYPE t_vbak, gi_table TYPE TABLE OF t_table, gi_vbak TYPE TABLE OF t_vbak, gv_count TYPE i. FIELD-SYMBOLS: <fs_table> TYPE t_table, <fs_vbak> TYPE t_vbak. SELECT belnr gjahr INTO TABLE gi_table FROM bkpf. LOOP AT gi_table ASSIGNING <fs_table>. add 1 to gv_count. <fs_table>-index = gv_count. ENDLOOP. CLEAR gv_count. SELECT vbeln vbtyp INTO TABLE gi_vbak FROM vbak. LOOP AT gi_vbak ASSIGNING <fs_vbak>. add 1 to gv_count. <fs_vbak>-index = gv_count. ENDLOOP. sort gi_table by index. SORT gi_vbak by index. LOOP AT gi_table ASSIGNING <fs_table>. READ TABLE gi_vbak WITH KEY index = <fs_table>-index INTO gwa_vbak. IF sy-subrc = 0. <fs_table>-vbeln = gwa_vbak-vbeln. <fs_table>-vbtyp = gwa_vbak-vbtyp. ENDIF. ENDLOOP. Pero, me parece que para ello necesitarias tener la certeza de que en ambas tablas internas tengas la misma cantidad de registro. Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|