• Viernes 15 de Noviembre de 2024, 14:25

Autor Tema:  Rendimiento  (Leído 2472 veces)

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Rendimiento
« en: Martes 18 de Abril de 2006, 03:10 »
0
Holas hice la siguiente BAPI y me gustaria saber si se puede hacer que corra mas rapido...  haber si alguien me ayuda a tener un codigo mas eficiente ....


FUNCTION zbapi_traslado_selall.
*"----------------------------------------------------------------------
*"*"Interfase local
*" TABLES
*" T_ZEKKO STRUCTURE ZSEKKO OPTIONAL
*" T_ZEKPO STRUCTURE ZSEKPO OPTIONAL
*" T_ZEKET STRUCTURE ZSEKET OPTIONAL
*"----------------------------------------------------------------------


*CABECERA.
SELECT ebeln aedat reswk ekgrp bedat
FROM ekko INTO CORRESPONDING FIELDS OF TABLE t_zekko
WHERE aedat < sy-datum AND bsakz EQ 'T' AND bstyp EQ 'F' AND statu EQ '9' AND ebeln BETWEEN 430000000 AND 4399999999.

**Articulos.
LOOP AT t_zekko.
SELECT ebeln ebelp matnr menge
APPENDING CORRESPONDING FIELDS OF TABLE t_zekpo
FROM ekpo
WHERE loekz NE 'L' AND ebeln = t_zekko-ebeln.
ENDLOOP.

***Tallas
LOOP AT t_zekpo.
SELECT ebeln ebelp j_3asize menge
FROM eket APPENDING CORRESPONDING FIELDS OF TABLE t_zeket
WHERE ebeln = t_zekpo-ebeln AND ebelp EQ t_zekpo-ebelp.
ENDLOOP.
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Rendimiento
« Respuesta #1 en: Martes 18 de Abril de 2006, 18:48 »
0
Intenta con esto  B)

Código: Text
  1.  
  2. *CABECERA.
  3. SELECT ebeln aedat reswk ekgrp bedat
  4. FROM ekko INTO CORRESPONDING FIELDS OF TABLE t_zekko
  5. WHERE aedat &#60; sy-datum
  6.     AND bsakz EQ 'T'
  7.     AND bstyp EQ 'F'
  8.     AND statu EQ '9'
  9.     AND ebeln BETWEEN 430000000 AND 4399999999.
  10.  
  11. IF NOT t_zekko[] IS INITIAL.
  12. **Articulos.
  13. SELECT ebeln ebelp matnr menge
  14. INTO CORRESPONDING FIELDS OF TABLE t_zekpo
  15. FROM ekpo
  16. FOR ALL ENTRIES IN t_zekko
  17. WHERE ebeln EQ t_zekko-ebeln
  18.     AND loekz NE 'L'.
  19.  
  20. ***Tallas
  21. SELECT ebeln ebelp j_3asize menge
  22. INTO CORRESPONDING FIELDS OF TABLE t_zeket
  23. FROM eket
  24. FOR ALL ENTRIES IN t_zekko
  25. WHERE ebeln EQ t_zekpo-ebeln
  26.     AND ebelp EQ t_zekpo-ebelp.
  27. ENDIF.
  28.  
  29.  

Saludos,

Blag  :smartass: