Ver Mensaje Individual
  #4  
Viejo 13/01/09, 14:57:54
Turu Turu is offline
Junior Member
 
Fecha de Ingreso: mar 2007
Mensajes: 6
Hola,

Lo primero; creo que en tu loop borras el registro al uqe apunta el field-symbol y no sé si eso te puede dar problemas.

Segundo te pongo tu codigo modificado, creo que el resultado es el mismo, a ver si te vale:


LOOP AT gt_mseg ASSIGNING <gfs_mseg> WHERE bwart IN lr_bwart.
IF <gfs_mseg>-matnr = <gfs_mseg>-ummat AND
<gfs_mseg>-charg = <gfs_mseg>-umcha AND
<gfs_mseg>-werks = <gfs_mseg>-umwrk AND
<gfs_mseg>-umlgo IN s_lgort.

append <gfs_mseg> to gt_mseg_aux.
ENDIF.
ENDLOOP.

sort gt_mseg_aux by mblnr mjjahr zeile.
sort gt_mseg by mblnr mjjahr zeile.

LOOP AT gt_mseg_aux into wa_mseg.
IF wa_mseg-matnr = wa_mseg-ummat AND
wa_mseg-charg = wa_mseg-umcha AND
wa_mseg-werks = wa_mseg-umwrk AND
wa_mseg-umlgo IN s_lgort.

DELETE gt_mseg WHERE mblnr = wa_mseg-mblnr
AND mjahr = wa_mseg-mjahr
AND zeile = wa_mseg-zeile.

ENDIF.
ENDLOOP.


Espero que te sirva de ayuda y mejore el rendimiento
__________________
Turu
Responder Con Cita