MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Leer bkpf con bseg (foro/showthread.php?t=66902)

nmarquez1974 30/04/13 15:46:49

Leer bkpf con bseg
 
Buenos dias a todos:

Estoy hacienda un reporte Z ALV, donde estoy utilizando BKPF Y BSEG, pero estoy problemas es muy lentissimo, como hago para optimizar esta lectura.

alguien me podria ayudar?


saludes

Duarco 30/04/13 16:22:22

Intenta separando la consulta en 2, primero a la BKPF y luego a la BSEG, donde en la primera consulta te tomas datos que puedan ser clave o indice en BSEG.

Jarpi 30/04/13 18:41:09

Buenas tardes nmarquez1974.

Podrías pegar el código de tu consulta? Quizás así pueda ayudarte mejor.

Saludos.

nmarquez1974 02/05/13 13:51:20

leer bkpf y bseg
 

hola Jarpi, este seria el codigo de la consulta

FORM CONSULTA.
CLEAR: T_DOC, T_BKPF.
REFRESH: T_DOC, T_BKPF.
*----------------------------------------------------------

*"LECTURA DE TABLA BSEG
SELECT BSEG~BELNR AS DOCTO
BSEG~BUZEI AS POS
BSEG~SHKZG AS DEBHAB
BSEG~DMBTR AS VALOR
BSEG~HKONT AS CTA
BSEG~BUKRS AS BUKRS
BSEG~GJAHR AS GJAHR


APPENDING CORRESPONDING FIELDS OF TABLE T_DOC

FROM
BSEG


WHERE BSEG~BUKRS = '1100'.


"*---------------------------------------------------------------------------------
SELECT BKPF~BLDAT AS FECREG
BKPF~BUDAT AS FECONT
BKPF~CPUTM AS HORA
BKPF~USNAM AS USUARIO
BKPF~BELNR AS BELNR
BKPF~BUKRS AS BUKRS
BKPF~GJAHR AS GJAHR

INTO TABLE T_BKPF

FROM
BKPF

FOR ALL ENTRIES IN T_DOC

WHERE BKPF~BUKRS = T_DOC-BUKRS AND
BKPF~BELNR = T_DOC-BELNR AND
BKPF~BSTAT <> 'S' AND
BKPF~BLDAT => FECHA-low AND
BKPF~BLDAT <= FECHA-high.

Jarpi 02/05/13 14:15:11

Buen día nmarquez1974.

El tema es que en la primera consulta estás revisando absolutamente todos los documentos registrados en la BSEG por Sociedad. Es lógico que te tarde mucho la consulta, te diría que intentes mejorarla o que la hagas al revés, empezando por la BKPF, que tenés más filtros.

Qué información querés obtener? Partiendo de qué dato?

Saludos,
Juan.

vtsuchida 02/05/13 15:16:18

Hola,

Como dicen arriba prueba haciendo la consulta a la BKPF primero, que contiene los datos de cabecera y en base al resultado, haces la consulta a la BSEG (datos de detalle).

Cuando hagas la consulta a la BKPF, usa todos los campos clave que puedas, así como índices de la tabla. Puedes ver los índices en la definición técnica de la misma.

javi_garcia18 02/05/13 17:01:21

Consulta BKPF-BSEG
 
Primero lee la cabecera BKPF y obten todas las llaves para luego entrar al detalle BSEG y por ultimo creale indices a tu lectura de la tabla eso te va ayudar, la causa de la demora es porque estas accediendo con pocas llaves y eso te trae demasiado registros recuerda que la BSEG es una tabla cluster.




Desmoquattro 05/05/13 00:58:42


A BKPF y BSEG solo se puede(debe) entrar con las claves primarias o algún índice.

Deberías revisar que tipos de documentos necesitas obtener, y utilizar los índices secundarios:

BSAD - Partidas Compensadas de Deudores
BSAK - Partidas Compensadas de Acreedores
BSID - Indice Secundario Deudores
BSIK - Indice Secundario Acreedores
BSIS - Indice Secundario Ctas Mayor
BSAS - Indice Secundario Ctas Mayor, partidas Compensadas

Saludos!


Husos Horarios son GMT. La hora en este momento es 04:44:47.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web