Ver Mensaje Individual
  #5  
Viejo 07/03/08, 12:49:07
ibecerra
 
Mensajes: n/a
Por tema de performance de vez en cuando aplico la logica q estas poniendo, te envio la posible correcion. ojo q la likp debera estar ordenado por
kunnr , kunag , vbeln

data:
wsytabix like sy-tabix,
wsytabix2 like sy-tabix.

LOOP AT I_INDX1.
clear wsytabix1,wsytabix2.
READ TABLE I_LIKP INTO WA_LIKP WITH KEY kunnr = i_indx1-zkunn2
kunag = i_indx1-zkunnr.
IF SY-SUBRC EQ 0.
wsytabix = SY-TABIX. --- 1ra correccion
LOOP AT I_LIKP INTO WA_LIKP FROM wsytabix.

IF I_INDX1-ZKUNN2 = WA_LIKP-KUNNR AND
I_INDX1-ZKUNNR = WA_LIKP-KUNAG.
READ TABLE I_LIPS INTO wa_lips WITH KEY
VBELN = WA_LIKP-VBELN.
IF SY-SUBRC = 0.

LOOP AT I_LIPS INTO wa_lips FROM SY-TABIX.
wsytabix2 = SY-TABIX. --- 3ra correccion

IF WA_LIKP-VBELN = WA_LIPS-VBELN.
READ TABLE i_vbap WITH KEY vbeln = wa_lips-vgbel
posnr = wa_lips-vgpos
BINARY SEARCH.
IF sy-subrc EQ 0.
ADD i_vbap-netwr TO i_indx1-zklimk.
ADD i_vbap-mwsbp TO i_indx1-zklimk.
ENDIF.
ELSE.
EXIT.
ENDIF.
add 1 to wsytabix2--->4ta correcion
ENDLOOP. "I_LIPS
ELSE.
EXIT.
ENDIF.
ELSE.
EXIT.
ENDIF.
add 1 to wsytabix. --->2da correcion
ENDLOOP. "I_LIKP
ENDIF.
ENDLOOP.
Responder Con Cita