Ver Mensaje Individual
  #9  
Viejo 27/03/09, 13:00:28
Tonnyman Tonnyman is offline
Member
 
Fecha de Ingreso: dic 2006
Mensajes: 53
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.
Responder Con Cita