Problema con Consulta
Hola que tal.
Les comento q yo hago la siguiente consyulta, y me trae los datos correctos pero tarda demasiado alguien sabe como podria agilizarla? gracias!!! LOOP AT it_aux_bkpf INTO wa_aux_bkpf. SELECT belnr bukrs gjahr buzei lifnr dmbtr shkzg budat bldat FROM bsik APPENDING CORRESPONDING FIELDS OF TABLE it_bsik WHERE belnr = wa_aux_bkpf-belnr AND bukrs = p_bukrs AND gjahr = p_gjahr AND buzei = '1' AND lifnr IN s_lifnr AND hkont IN s_cuenta. IF sy-subrc <> 0. SELECT belnr bukrs gjahr buzei lifnr dmbtr shkzg budat bldat FROM bsak APPENDING CORRESPONDING FIELDS OF TABLE it_bsak WHERE belnr = wa_aux_bkpf-belnr AND bukrs = p_bukrs AND gjahr = p_gjahr AND buzei = '1' AND lifnr IN s_lifnr AND hkont IN s_cuenta. ENDIF. |
claro, por cada iteración estas haciendo una llamada a la base de datos por eso tarda bastante, bueno lo que a mi se me ocurre es que primero saques todos tus datos de la base de datos y los metas a otra ti, ya despues ahora si loopeas y con un field symbol puedes ir metiendo tus datos de una ti a la otra a la que en realidad quieres, o también podrías utilizar un for all entries que creo que sería el más viable, bueno esa es una solución tal vez halla otra más óptima :rolleyes:
|
Si lo pense con un For all entries, pero tengo dudas...
Xq yo lo q tengo q hacer es: Preguntar por cada Belnr q saco de BKPF si aparece en la BSIK y si no esta buscarlo en la BSAK Gracias por responder! |
Mejora de Performance
Hola Schrizophrenia,
de hecho que tu consulta demora por la cantidad de conexiones que tienes a la BD, yo te recomiento lo siguiente: 1. Realiza un SELECT..FOR ALL ENTRIES a la tabla BSIK con los datos de la tabla it_aux_bkpf. 2.Realiza un SELECT..FOR ALL ENTRIES a la tabla BSAK con los datos de la tabla it_aux_bkpf. 3. Loopea la tabla it_aux_bkpf y por cada vuelta realiza READ TABLE a las tablas que obtuviste del punto 1 y punto 2. Con ello habras realizado solo 2 conexion a la BD en lugar de realizar una por cada registro dentro de la TI. Espero haberte ayudado. Saludos, Erick Oré. |
Hola,
¿accedes a la BSIK, BSAK con el select-option "s_lifnr" relleno? En caso de que esté vacio o que tenga un rango de valores muy grande quizá deberías plantearte ir a la tabla BSEG Saludos. |
1ero gracias por responder,
2do, pense hacerlo con la Bseg pero el funcional me dijo q no, Yo solo obedezco! jajajaj Gracias! |
Husos Horarios son GMT. La hora en este momento es 05:25:37. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web