es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo compilo un SQL Cobol con el operador ||?

Estoy intentando compilar una fuente SQLCobol en un sistema As400 que contiene una sentencia con el operador || (como operador de concatenación).

Incluso si las reglas de IBM DB2 admiten el operador ||, la compilación de mi programa falla.
No sé si hay algún parámetro de compilación que deba ajustar. ¿Puede alguien ayudarme?

Ejemplo de mi código:

EXEC SQL                                                    
  INSERT INTO TABLEB                           
    (SELECT FIELD1 || " " || FIELD2  
       FROM TABLEA)                                       
END-EXEC.                

El error de compilación es:

Token | no válido

Gracias a todos.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como procesador de lenguaje, el compilador de Cobol puede tener opiniones distintas sobre el uso de cierta sintaxis, como el operador ||, aunque sea un operador válido según las reglas de IBM DB2.

    Una solución potencial podría ser reemplazar el operador || con la función CONCAT en SQL. Aquí tienes un ejemplo:

    EXEC SQL                                                    
      INSERT INTO TABLEB                           
        (SELECT CONCAT(CONCAT(FIELD1, ' '), FIELD2)  
           FROM TABLEA)                                       
    END-EXEC.   
    

    Alternativamente, puede ser necesario examinar el compilador de Cobol específico que se esté utilizando y verificar si hay opciones o marcas del compilador que necesiten ajustarse para permitir el uso del operador || en declaraciones SQL. Consultar la documentación del compilador o contactar al equipo de soporte del proveedor del compilador también puede ser útil.

Comments are closed.