Gracias Javier.
Saludos!!
Subject: RE: Pasar parámetros a un QRY desde un CL
Date: Fri, 5 Mar 2010 17:12:21 +0100
From: [email protected]
To: [email protected]
No sé de donde conseguí esta información pero creo que es lo que buscas.
Un saludo.
Javier Mora
Edite o cree una definición de consulta con el mandato WRKQRY.
Diríjase a la opción Seleccionar registros e introduzca su selección de
registros. Por ejemplo:
AND/OR Campo Prueba Valor (Campo, Número, 'Caracteres', o ...)
CAMPO1 EQ :VAR1
AND CAMPO2 EQ 9
AND CAMPO3 EQ 'ADIOS'
Observe que en la primera línea se ha utilizado un nombre que comienza con dos
puntos (:). Con esta nomenglatura se le indica al QUERY que lo que va a
continuación de los dos puntos es el nombre de una variable. En nuestro ejemplo
se llama :VAR1. El valor de esta variable podrá asignarse justo en el momento
de la ejecución de la consulta.
Al pulsar la tecla Intro para confirmar el criterio de selección, aparecerá una
pantalla similiar a ésta:
Especificar calificadores de valores dependientes
Teclee elecciones, pulse Intro.
Tipo calificador . . . 1 1=Consulta, 2=Archivo
Consulta o archivo . . MICONSUL Nombre, F4 para lista de archivos
Biblioteca . . . . . MIBIBL Nombre, *LIBL, F4 para lista
Para elección 2=Archivo:
Miembro archivo. . . Nombre, *FIRST, F4 para lista
F3=Salir F4=Solicitud F10=Procesar/anterior F12=Cancelar
F13=Diseño F18=Archivos
En el Tipo de calificador deje el valor uno (1). En la opción de Consulta o
archivo introduzca el nombre de una consulta, aunque ésta no exista.
Guarde la definición de la consulta.
En el programa ya no podrá utilizar el mandato RUNQRY para ejecutar la consulta
anterior. En su lugar debe usar el mandato STRQMQRY. En la siguiente figura
puede ver un ejemplo de un programa CL:
PGM PARM(&VALUE1)
DCL VAR(&VALUE1) TYPE(*DEC) LEN(9 0)
DCL VAR(&VALUE2) TYPE(*CHAR) LEN(9)
CHGVAR VAR(&VALUE2) VALUE(&VALUE1)
STRQMQRY QMQRY(BIBLIOTECA/CONSULTA) OUTPUT(*PRINT) +
ALWQRYDFN(*YES) SETVAR((VAR1 &VALUE2))
MONMSG MSGID(QWM2701 QWM2703) EXEC(RETURN)
RETURN
ENDPGM
En este caso, el valor variable es numérico. Para poder utilizarlo en la
selección de registro es necesario transformarlo a un valor alfanumérico. Con
el parámetro SETVAR del mandato STRQMRY se asigna el valor a la variable :VAR1.
Cuando ejecute este programa podrá especificar en el parámetro el valor a
seleccionar. STRQMQRY se encargará de tomar la definición de la consulta y
asignar el valor del parámetro a :VAR1.
Una cuestión más, si utiliza variables alfanuméricas en la selección de
registro, deberá de añadir las dobles comillas al principio y final del valor.
De: [email protected]
[mailto:[email protected]] En nombre de Pedro Molina
Enviado el: viernes, 05 de marzo de 2010 15:51
Para: [email protected]
Asunto: Pasar parámetros a un QRY desde un CL
Hola foro!!
Recuerdo que hace tiempo me pareció ver en el foro , publicada una solución
para poder pasar parámetros a un QRY desde un CL, alguien tiene ese documento
que me lo pueda facilitar?
Saludos cordiales y feliz fin de semana
Get news, entertainment and everything you care about at Live.com. Check it out!
_________________________________________________________________
Invite your mail contacts to join your friends list with Windows Live Spaces.
It's easy!
http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us____________________________________________________
© 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