¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Optimización del bucle LOOP AT en tablas BKPF y BSEG para mejorar rendimiento y eficiencia

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 17 Vistas
0
Cargando...

Hola,

Mi condición de bucle está tardando mucho en ejecutarse. Las tablas utilizadas son BKPF y BSEG. Por favor, encuentra a continuación la condición dada.

LOOP AT T_BKPF WHERE SUPER = T_SUPER-NAME.

IF USNAM NE T_BKPF-USNAM.

MOVE T_BKPF-UNAM TO H-USNAM.

NEW-PAGE.

ENDIF.

PERFORM OUT.

LOOP AT T_BSEG WHERE BELNR = T_BKPF-BELNR

AND GJAHR = T_BKPF-GJAHE.

CASE T_BSEG-KOART.

WHEN 'L'.

PERFOM....

...................

ENDCASE.

ENDLOOP.

ENDLOOP.

Por favor, ayúdame a superar este problema.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Barani,

ORDENA T_BSEG POR belnr gjahr.

LOOP AT T_BKPF WHERE SUPER = T_SUPER-NAME.

IF USNAM NE T_BKPF-USNAM.

MOVER T_BKPF-UNAM A H-USNAM.

NUEVA-PÁGINA.

FIN SI.

REALIZAR OUT.

LEER TABLA T_BSEG CON CLAVE BELNR = T_BKPF-BELNR GJAHR = T_BKPF-GJAHE

BÚSQUEDA BINARIA.

SI SY-SUBRC EQ 0.

LOOP AT T_BSEG DESDE ÍNDICE sy-tabix .

SI T_BSEG-BELNR EQ T_BKPF-BELNR Y T_BSEG- GJAHR = T_BKPF-GJAHE.

CASO T_BSEG-KOART.

CUANDO 'L'.

EJECUTAR....

...................

FINCASO.

SINO.

SALIR.

FIN SI.

FIN SI.

FINLOOP.

FINLOOP.

Saludos,

Archer

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Barani,

1) Ordenar la tabla interna antes de usar la condición WHERE en el bucle,

2) Trata de evitar el uso de PERFORM dentro del bucle.

Saludos,

Vinodkumar.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Utiliza field-symbols, no utilices tablas internas con líneas de encabezado. Ese debería ser tu primer paso.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Barani,

¿Puedes compartir el código completo?

Saludos

Rajkumar Narasimman

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?