¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Otimização de consultas SQL em ABAP para melhorar o desempenho da sua aplicação

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 7 Vistas
0
Cargando...
TRY.
        EXEC SQL.
          OPEN dbcur FOR
            SELECT  B.SCI_CART_NO
                    B.SCI_MATL_NO
                    B.SCI_QTY
                    B.SCI_RCV_PLANT
                    B.SCI_RCV_STRG_LOC
                    C.SCM_FOD_NO
                    D.saa_category
                    D.SAA_ASGND_TO
                   FROM   T_SHOPPING_CART_ITEM  B,
                          T_SHOPPING_CART_MANF  C,
                          T_SC_ACCT_ASGNMT  D,
                   WHERE C.SCM_CART_NO = B.SCI_CART_NO
                   AND   D.SAA_CART_NO = B.SCI_CART_NO
                   AND   B.SCI_CART_NO = :t_wa_aufk_cobrb-scm_cart_no

        ENDEXEC.
      CATCH cx_sy_native_sql_error INTO t_exc_ref.
        w_error_text_oc = t_exc_ref->get_text( ).
        MESSAGE w_error_text_oc TYPE 'E'.
    ENDTRY.
TRY.
        DO.

          EXEC SQL.
            FETCH NEXT dbcur INTO :t_wa_ora-SCI_CART_NO,
                                  :t_wa_ora-SCI_MATL_NO,
                                  :t_wa_ora-SCI_QTY,
                                  :t_wa_ora-SCI_RCV_PLANT,
                                  :t_wa_ora-SCI_RCV_STRG_LOC,
                                  :t_wa_ora-SCM_FOD_NO,
                                  :t_wa_ora-saa_category,
                                  :t_wa_ora-SAA_ASGND_TO
          ENDEXEC.

          IF sy-subrc <> 0.
            EXIT.
          ELSE.
            t_wb_ora-sci_cart_no      = t_wa_ora-sci_cart_no.
            t_wb_ora-sci_matl_no      = t_wa_ora-    
            
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Omitiria a vírgula aqui:

T_SC_ACCT_ASGNMT  D,

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

Você tem um número de Ora-Err para isso?

À primeira vista, parece estar bem. Você poderia remover a coluna do SELECT e FETCH e testar se é o problema

(ou qualquer outra coluna)

Por favor, leia este documento sobre os mapeamentos de tipos de dados do Oracle / ABAP:

http://help.sap.com/saphelp_nw04/helpdata/en/a3/74caa1d9c411d1950e0000e8353423/frameset.htm

Adeus

yk

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

Obrigado YukonKid

O erro ORA-00923 no SQL foi resolvido, mas na próxima parte está retornando o valor 4

Não é possível identificar qual poderia ser a razão

EXEC SQL.
            FETCH NEXT dbcur INTO :t_wa_ora-SCI_CART_NO,
                                  :t_wa_ora-SCI_MATL_NO,
                                  :t_wa_ora-SCI_QTY,
                                  :t_wa_ora-SCI_RCV_PLANT,
                                  :t_wa_ora-SCI_RCV_STRG_LOC,
                                  :t_wa_ora-SCM_FOD_NO,
                                  :t_wa_ora-saa_category,
                                  :t_wa_ora-SAA_ASGND_TO
          ENDEXEC.

Na base de dados Oracle, SCI_CART_NO (Número-10), SCI_MATL_NO (Varchar2 - 18), SCI_QTY (Número -14,3) , SCI_RCV_PLANT (Varchar2- 4), SCI_RCV_STRG_LOC (Varchar2- 5), SCM_FOD_NO (Varchar2-12), saa_category (Varchar2- 1), SAA_ASGND_TO (Varchar2 -20) estão definidos

e no programa eu defini

types: begin of ty_ora,
        sci_cart_no(10) type n,
        sci_matl_no(18) type c,
        sci_qty(16)     type p decimals 3,       
        sci_rcv_plant(4) type c,
        sci_rcv_strg_loc(5) type c,
        scm_fod_no(12)  type c,
        saa_category(1) type c,
        saa_asgnd_to(20) type c,        end of ty_ora.
data : t_ora type standard table of ty_ora initial size 0.
data : t
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Em SQL nativo, não se esqueça de separar a lista de SELECT com ", "

SELECT  B.SCI_CART_NO      ,
                      B.SCI_MATL_NO ,
                      B.SCI_QTY      ,
                      B.SCI_RCV_PLANT ,
                      B.SCI_RCV_STRG_LOC ,
                      C.SCM_FOD_NO ,
                      D.saa_category ,
                      D.SAA_ASGND_TO
                     FROM   T_SHOPPING_CART_ITEM  B,
                            T_SHOPPING_CART_MANF  C,
                            T_SC_ACCT_ASGNMT  D
                     WHERE C.SCM_CART_NO = B.SCI_CART_NO
                     AND   D.SAA_CART_NO = B.SCI_CART_NO
                     AND   B.SCI_CART_NO = :t_wa_aufk_cobrb-scm_cart_no

...

adeus

yk

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?