PDA

Ver la Versión Completa : Problema con SELECT a BKPF! Ayuda!


juanomr
04/01/12, 16:24:28
Buenas tardes! Los molesto por la sig. consulta: estoy haciendo un selectque consulta a tablas BKPF y tiene joins con WITH_ITEM y LFA1. La cuestión es que al ejecutar el reporte tarda muchísimo, y termina arrojando un dump por timeout.

Traté de reemplazar la tabla BKPF por BSIK o BSAK por si eso ayudaba a la mejor ejecución de la consulta, pero hasta ahora sin resultados.

Les copio el código del select, quiza haya algo que yo no esté viendo.

Desde ya mil gracias por tomarse el tiempo de verlo. :)

Saludos!

FORM obtener_documentos TABLES itab_rets STRUCTURE itab_ret.


SELECT b~budat b~belnr b~blart w~wt_qsshh w~qsatz w~wt_qbshh w~ctnumber w~wt_acco w~wt_withcd l~stcd1 l~stcd3 l~fityp

INTO CORRESPONDING FIELDS OF TABLE itab_rets

FROM with_item AS w INNER JOIN bkpf AS b ON w~belnr = b~belnr
INNER JOIN lfa1 AS l ON w~wt_acco = l~lifnr
WHERE ( b~blart = 'OP' OR b~blart = 'OT' OR b~blart = 'OE' )

AND w~witht = '15'
AND b~blart IN s_blart
AND b~budat IN s_budat
AND b~belnr IN s_belnr
AND b~gjahr IN s_gjahr
AND b~bukrs EQ s_bukrs
AND b~bldat IN s_bldat
AND w~wt_qsshh <> 0
AND w~wt_qbshh <> 0.

JuanRiosV
05/01/12, 00:52:01
Hola.

Haz tratado de realizar esta consulta en varios pasos, divide la consulta en tres consultas independiente y las almacenas en arreglos..

por ejemplo

SELECT *
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
FROM BKPF
WHERE ......

Y luego usando el resultado de it_bkpf haces otra consulta..

SELECT bukrs belnr gjahr buzei mwskz umsks prctr hkont xauto koart
dmbtr mwart hwbas aufnr projk shkzg kokrs
FROM bseg
INTO TABLE it_bseg
FOR ALL ENTRIES IN it_bkpf
WHERE bukrs EQ it_bkpf-bukrs AND
belnr EQ it_bkpf-belnr AND
gjahr EQ it_bkpf-gjahr.

Saludos, estoy seguro que te funcionara y mejora el rendimiento del reporte.

Juan Rios Villasmil.