Buenas tardes, se que la pregunta esta respondida pero solo queria hacer algun comentario adicional por si a alguien le interesa
Creo que casi todos estaremos deacuerdo en que el INNER JOIN siempre que sea posible es la opcion mas optima pero utilizando FOR ALL ENTRIES se pueden obtener resultados "parecidos"
Si la tabla sobre la que vas a hacer FOR ALL ENTRIES es muy grande se debe partir en trozos (SAP comunmente utiliza fragmentos de 500 registros) y hacer las consultas sobre esos fragmentos
Tambien es recomendable ordenar la tabla por el orden que vayamos a acceder
Ejemplo:
LOOP AT gt_datos
IF sy-tabix MOD 500 = 0.
SORT gt_aux BY campo1 (los campos que vayamos a usar en el where)
SELECT (campos)
APPENDING TABLE tabla
FROM tabla
FOR ALL ENTRIES IN gt_aux
WHERE campo1 = gt_aux-campo1
AND...
CLEAR: gt_aux.
REFRESH: gt_aux.
ELSE.
MOVE_CORRESPONDING gt_datos TO gt_aux
APPEND gt_aux.
CLEAR gt_aux.
ENDIF.
ENDLOOP.
|