Saltar al contenido

Se produjo un error de SQL: ORA-00923: De la palabra clave no se encontró donde se esperaba

Un Usuario hizo la siguiente pregunta

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-sci_matl_no.
            t_wb_ora-sci_qty          = t_wa_ora-sci_qty.
            t_wb_ora-sci_rcv_plant    = t_wa_ora-sci_rcv_plant.
            t_wb_ora-sci_rcv_strg_loc = t_wa_ora-sci_rcv_strg_loc.
            t_wb_ora-scm_fod_no       = t_wa_ora-scm_fod_no.
            t_wb_ora-saa_category     = t_wa_ora-saa_category.
            t_wb_ora-saa_asgnd_to     = t_wa_ora-saa_asgnd_to.
            APPEND t_wb_ora TO t_ora.
            CLEAR : t_wb_ora, t_wa_ora.
          ENDIF.
        ENDDO.
      CATCH cx_sy_native_sql_error INTO t_exc_ref.
        w_error_text_fc = t_exc_ref->get_text( ).
        MESSAGE w_error_text_fc TYPE 'E'.
    ENDTRY.

Después de “FETCH Next dbcur INTO: t_wa_ora-SCI_CART_NO, ….” Recibo el error SQL “” Se produjo un error SQL: ORA-00923: De la palabra clave no se encontró donde se esperaba “”. resuelva la guía.

Gracias y Saludos

Saifur Rahaman

4 respuestas

  • Ex miembro

    Hola,

    En el SQL nativo no olvide separar la lista SELECT con “,”

    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

    adiós

    yk

  • ALTO,

    Consulte la nota de SAP 640553.

    Gracias

    soleado

  • Ex miembro

    ¿Podría hacer un seguimiento rápido de sql (ST05) y publicar la declaración sql aquí?

    Saludos Michael

  • Ex miembro

    Dejaría la coma en el futuro:

    T_SC_ACCT_ASGNMT  D,