Debes declarar en hexadecimal el apostrofe y luego colocarlo en la variable.

DCL        VAR(&COM) TYPE(*CHAR) LEN(1) VALUE(X'7D')
CHGVAR     VAR(&CODI1) VALUE(&COM *TCAT &CODI *TCAT +
             &COM)

STRQMQRY   QMQRY(*LIBL/DEB002) OUTPUT(*OUTFILE) +
             QMFORM(*QMQRY) OUTFILE(*LIBL/DEBT02) +
             ALWQRYDFN(*YES) SETVAR((ESTA &CODI1) +
             (FECHA1 &F3) (FECHA2 &F4))


De: [email protected] 
[mailto:[email protected]] En nombre de VALENCIA 
Informatique
Enviado el: jueves, 18 de febrero de 2010 7:18
Para: forum.help400
Asunto: Para los expertos en STRQMQRY


Hola a todos.

Tengo un problema cuando ejecuto un  STRQMQRY, el problema radica en que si 
declaro la variable como numérica no hay mayor problema p.e.
STRQMQRY QMQRY(fulanito/RPICCONT)
            OUTPUT(*OUTFILE)
           OUTFILE(fulanito/PICCONT) OUTMBR(*FIRST
           *ADD) ALWQRYDFN(*YES) SETVAR((COD2 &COD2))

Pero en el caso que pase una variable alfa (siendo alfa también la del query) 
me aparece el mensaje:

7>> STRQMQRY QMQRY(FULANITO/RPICCONT)
                       OUTPUT(*OUTFILE)
                            OUTFILE(FULANITO/PICCONT) OUTMBR(*FIRST
                                  *ADD) ALWQRYDFN(*YES)
     Consulta derivada del objeto *QRYDFN RPICCONT de OPERADORES, código 00.
     Introduzca un valor para la variable COD2.
   ? '60499400'
     La sentencia contiene un número erróneo de valores.
     Se ha producido un error en el mandato SAVE DATA con un SQLCODE -117.

El código de error no me dice gran cosa. Esto aparece pasando también las 
comillas (para alfa), sin comillas aparecería el mensaje de:
Error de selección u omisión en campo CODFAL miembro FALTAS

Por lo cual deduzco que las comillas son necesarias. El campo alfa es de 17 y 
le paso un valor en &COD2 como '65432000'.

Hay cerveza para quien lo deduzca


Muchas gracias



________________________________
Nota de descargo: La información contenida en este e - mail y sus anexos es 
confidencial y sólo puede ser utilizada por el destinatario del mismo. Esta 
información no debe ser distribuida, ni copiada total o parcialmente por ningún 
medio sin la autorización de DINERS/INTERDIN. Además, DINERS/INTERDIN no asume 
responsabilidad sobre información, opiniones o criterios contenidos en este 
e-mail.

Disclaimer: The information contained in this e-mail and its attached files are 
confidential and intended only for the use of the person to which it is 
addressed. This information can not be totally or partially distributed nor 
copied by any media without the authorization from DINERS/INTERDIN. In 
addition, DINERS/INTERDIN does not assume responsibility about this 
information, opinions or criteria contented in this e-mail.
____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a