Ver Mensaje Individual
  #2  
Viejo 17/01/08, 09:20:12
Avatar de ppchico
ppchico ppchico is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Localización: Málaga
Mensajes: 144
Personalmente, creo que lo mejor que podrías hacer, sería lo siguiente:

1 Puedes almacenar toda la información de ambas tablas en una sola tabla auxiliar, de modo que ya tendrías todos los datos a comparar, y usarías dicha tabla para el FOR ALL ENTRIES. (Esto solo es posible, si las tablas internas que quieres incluir en el select, tienen alguna relación de datos).

2 Puedes recuperar todos los datos en el select, sin tener en cuenta los datos de las tablas internas, y posteriormente, recorrer la tabla, y eliminar aquellos registros que no cumplan las condiciones de las tablas internas, es decir:

select *
from tabla_diccionario
into lt_tabla_aux
where <condiciones locales a la tabla>

loop at lt_tabla_aux into ls_registro_aux.

read table lt_tabla_aux_1 with key <condicion de encuentro>.

check sy-subrc eq 0.

read table lt_tabla_aux2 with key <condiocion de encuentro>

check sy-subrc eq 0.

....

append ls_registro_aux into lt_tabla_final.

endloop.



Espero que te sirva...
Responder Con Cita