Ver Mensaje Individual
  #2  
Viejo 16/01/09, 12:04:50
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671

Lo que ralentiza muchisimo es el

LOOP AT gt_bkpf.
SELECT * APPENDING TABLE gt_bseg
FROM bseg
WHERE bukrs = gt_bkpf-bukrs
AND belnr = gt_bkpf-belnr
AND gjahr = gt_bkpf-gjahr
AND hkont IN p_hkont.

ENDLOOP.

deberias utilizar FOR ALL ENTRIES

SELECT *
APPENDING TABLE gt_bseg
FROM bseg
FOR ALL ENTRIES IN gt_bkpf
WHERE bukrs = gt_bkpf-bukrs
AND belnr = gt_bkpf-belnr
...

Otra cosa que mejorara el rendimiento es que en lugar de hacer SELECT * solo cojas los campos que necesitas y los seleccionas en el mismo orden en el que estan definidos en la tabla
Responder Con Cita