Usar una variable como nombre de tabla con SQL NATIVE

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • TIET_RAY
    Junior Member
    • jul
    • 2

    #1

    Usar una variable como nombre de tabla con SQL NATIVE

    Hola gente,

    Estoy intentando ejecutar una sentencia SELECT para extraer ciertos datos desde una tabla de una base de datos ORACLE externa de SAP hacia SAP. El código sería de este estilo:

    EXEC SQL.
    SELECT cityfrom, cityto
    INTO STRUCTURE : wa
    FROM spfli
    WHERE mandt = : sy-mandt AND
    carrid = : p_carrid AND connid = : p_connid
    ENDEXEC.

    No obstante, lo que necesito es pasar el nombre de la tabla a leer (en este caso, spfli) mediante una variable en lugar de hacerlo directamente. Esto es, declarar una variable y almacenar en ella el nombre de la tabla a leer. El código ABAP resultante debería ser de este estilo:

    EXEC SQL.
    SELECT cityfrom, cityto
    INTO STRUCTURE : wa
    FROM <VARIABLE>
    WHERE mandt = : sy-mandt AND
    carrid = : p_carrid AND connid = : p_connid
    ENDEXEC.

    ¿Alguien sabe si existe la posibilidad de hacer algo parecido?
    En caso negativo, ¿cuál es la alternativa para hacerlo?

    Gracias por adelantado.
  • Alfredosite
    Senior Member
    • jul
    • 135

    #2
    Hola lo que tu buscas hacer se llama "Select dinamico" te envió un link para que veas un simple ejemplo como base y ya luego puedes adecuarlo a lo que necesites. Suerte

    Saludos Cordiales,
    Alfredo Pastor Avendaño
    SAP - Consultant HCM

    Comentario

    • Mauricio Hidalgo
      Senior Member
      • may
      • 481

      #3
      Alfredosite: La solución que señalas funciona en OPEN SQL. Pero él está en un contexto distinto, está usando el SQL de su motor de motor de base de datos. Por tanto TIET_RAY debería referirse a la documentación de su Base de Datos para ver la sintaxis.

      Saludos

      Comentario

      Trabajando...