Problema con SQL nativo en abap

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • stormshadow
    Senior Member
    • jun
    • 117

    #1

    Problema con SQL nativo en abap

    Buen día foro bueno abro el thread para lo siguiente:

    Tengo una rutina donde utilizo sql nativo entonces lo primero es hago una llamada a un stored procedure, seguido hago una selección a una tabla temp que me llena ese stored, y despues con un cursor intento recorrer esa tabla para llenar una ti de mi Z report, pero el problema radica aquí, al intentar recorrer mi cursor se traba mi programa, y tienen que matar el proceso directamente del server donde está sap ya que allí se queda, no sé si alguién halla tenido un problema así o sepa de alguna solución, desde ya muchas gracias.

    try.
    commit work and wait.

    exec sql.
    exec sp_mistored :id
    endexec.

    exec sql.
    open cur_det for
    SELECT campos
    FROM tablatemp
    endexec.

    refresh it_upload.
    clear it_upload.

    do.
    exec sql.
    fetch next cur_det into :vbeln, osnr, :matnr, :j_3asize,
    :lfimg

    endexec.

    clear wa_upload.
    if sy-subrc eq 0.
    wa_upload-vbeln = :vbeln.
    wa_upload-posnr = osnr.
    wa_upload-matnr = :matnr.
    wa_upload-j_3asize = :j_3asize.
    wa_upload-lfimg = :lfimg.

    append wa_upload to it_upload.
    clear wa_upload.
    else.
    exit.
    endif.
    enddo.

    exec sql.
    close cur_det
    endexec.

    catch cx_sy_native_sql_error into exc_ref.
    error_text = exc_ref->get_text( ).
    leave program.
    endtry.

    La parte en rojo es hasta donde llega mi programa y se traba
    "Si quieres resultados distintos, no hagas siempre lo mismo" .... Einstein
  • stormshadow
    Senior Member
    • jun
    • 117

    #2
    waaaaaaa ayuda por favor!! hahaha no hallo el error T__________T
    "Si quieres resultados distintos, no hagas siempre lo mismo" .... Einstein

    Comentario

    • hugoa77
      Senior Member
      • may
      • 130

      #3
      creo que...

      solo te falta el punto final en la sentencia.

      fetch next cur_det into :vbeln, :cosnr, :matnr, :j_3asize, :lfimg.

      Slds,

      Hugo

      Comentario

      • stormshadow
        Senior Member
        • jun
        • 117

        #4
        Nop no lleva punto al final jeje ya lo resolví, bastaba con poner un commit work despues de ejecutar mi stored bueno por si a alguién le sucede allí está hahaha igual gracias
        "Si quieres resultados distintos, no hagas siempre lo mismo" .... Einstein

        Comentario

        • Ramiro Ojeda
          Junior Member
          • oct
          • 7

          #5
          Table does not exist in database

          Hola .. AMIGOS

          Tengo un problema al ejecutar un stored procedure en un SQL NATIVO ..

          Me hace un dump diciendome k no existe la Tabla en la BD.

          Tengo el sig. codigo:

          * Primero nos conectamos
          EXEC SQL.
          CONNECT TO 'UPGRADE' AS 'R'
          ENDEXEC.

          EXEC SQL.
          SET CONNECTION 'R'
          ENDEXEC.

          Y = '17.03.2011'.

          *DATA: BEGIN OF wa,
          * IdAccion TYPE n,
          * IdSerie TYPE n,
          * IdSocio TYPE n,
          * END OF wa.

          DATA c1 TYPE x.

          c1 = '1'.

          *try.
          *
          COMMIT WORK AND WAIT.

          DATA: BEGIN OF WA,
          IDSucursal(3), NombreSucursal(10),
          END OF WA.
          DATA F3(3).
          F3 = ' 1 '.

          *sp_Inversiones_Suscritas_Credinor
          EXEC SQL.
          EXECUTE PROCEDURE dbo.sp_Inversiones_Suscritas_Credinor ( IN :'20110606', OUT :Z )
          ENDEXEC.

          Comentario

          Trabajando...