Estimados
Lanzo esta consulta para los @abapers del foro y/o cualquiera que me pueda dar algunas luces, tengo un código ABAP en una END ROUTINE (Transformación BW) en la que cargo una tabla interna con todos los PEDIDOS existentes para las Ordenes de Compra que vienen en el RESULT_PACKAGE.
Este es parte del código en cuestión...
SELECT doc_number /bic/zmaterial cml_cf_qty sales_unit net_weight
unit_of_wt net_value doc_currcy
FROM /bic/azsd_o0500
INTO TABLE lt_data2
FOR ALL ENTRIES IN RESULT_PACKAGE
WHERE doc_number = RESULT_PACKAGE-doc_number.
....
Se carga extmatlgrp
....
SORT lt_data2 BY /bic/zbstkd doc_number extmatlgrp.
SORT RESULT_PACKAGE BY /bic/zbstkd doc_number extmatlgrp.
LOOP AT lt_data2 ASSIGNING <fs_data2>.
READ TABLE RESULT_PACKAGE ASSIGNING <result_fields> WITH KEY
doc_number = <fs_data2>-doc_number extmatlgrp =
<fs_data2>-extmatlgrp.
IF sy-subrc EQ 0.
Se actualizan los campos del pedido
Else
Se agrega un registro en el result_package para el pedido faltante
Endif. Endloop.
El problema es que cuando cargo sólo una orden de compra a través del DTP, este carga todas las posiciones bien, 15 en total, pero cuando ejecuto la carga full me duplica los registros para algunos casos, influirá en esto que tienen configurado en 1.000 el packet size en el DTP ???.
Saludos
CCN.-