Ver Mensaje Individual
  #35  
Viejo 29/05/13, 16:09:59
Avatar de jvctaz23
jvctaz23 jvctaz23 is offline
Junior Member
 
Fecha de Ingreso: oct 2010
Mensajes: 13


Bueno lo que yo te recomiendo es eliminar todos los select single que estén dentro de loops, realizar la consulta con campos clave a las tablas que requieras fuera del loop para posteriormente solo realizar lecturas a tus tablas internas dentro del loop.

Si este fuera tu caso, yo lo aria de esta forma:

types: begin of ty_bsas,
bukrs type bsas-bukrs,
belnr type bsas-belnr,
gjahr type bsas-gjahr,
end of ty_bsas.

data: tg_bsas type table of ty_bsas,
sg_bsas type ty_bsas.

SELECT bukrs belnr gjahr
INTO table tg_bsas
FROM bsas
for all entries in tablai_bkpf
WHERE bukrs EQ tablai_bkpf-bukrs
AND augdt IN r_budat
AND augbl EQ tablai_bkpf-belnr.

if sy-subrc eq 0.
*Se eliminan todos los registros que sean igual a 'ZI'.
delete tg_bsas where blart eq 'ZI'.

* se procede a realizar el loop a tablai_bkpf.
Loop at tablai_bkpf into sg_bkpf.
* Lectura a tabla interna bsas
read table tg_bsas into sg_bsas with key bukrs = sg_bkpf-bukrs
augdt IN r_budat
augbl = sg_bkpf-belnr.
endloop.
endif.


algo así yo haría, espero y me allá dado a entender. Saludos.

Úlima edición por jvctaz23 fecha: 29/05/13 a las 16:23:59.
Responder Con Cita