* +-------------------------------------+
* | Definición datos de entrada trigger |
* +-------------------------------------+
d Buffer ds
d PFName 10
d PFLibrary 10a
d PFMember 10a
d TrgEvent 1a
d TrgTime 1a
d TrgCmtLvl 1a
d Trgfill1 3a
d TrgCCSID 10u 0
d Trgfill2 8a
d OrOffset 10u 0
d OrRcdLen 10u 0
d OrNBMapOfs 10u 0
d OrNBMapLen 10u 0
d NwOffset 10u 0
d NwRcdLen 10u 0
d NwNBMapOfs 10u 0
d NwNBMapLen 10u 0
d BufferLen s 10u 0
* ---------------------------------------------
* Registro Original
* ---------------------------------------------
d @OrRecord s * Inz(*Null)
d OrRecord e ds ExtName(fichero) Prefix(OR_)
d Based(@OrRecord)
* ---------------------------------------------
* Nuevo Registro
* ---------------------------------------------
[EMAIL PROTECTED] s * Inz(*Null)
d
dNwRecord e ds ExtName(fichero)
d Based(@NwRecord)
*
/free
@OrRecord = %Addr(Buffer) + OrOffset;
@NwRecord = %Addr(Buffer) + NwOffset;
Con todo este rollo, al final tienes dos estructuras de datos OrRecord y NwRecord que contienen el registro anterior y posterior a la modificación respectivamente.
Saludos.
Juan Carlos.
-----Mensaje original-----
De: [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED] En nombre de Luis Elias Almeida
Enviado el: miércoles, 02 de noviembre de 2005 16:58
Para: [email protected]
Asunto: RE: Uso del QCMDEXC desde un Trigger
Si, un trigger puede ser un RPG. Nosotros usamos para los tirggers SQL, y desde un SQL quería llamar a un RPG y eso es lo que me da el error. Porqué no lo hago directamente en un RPG, fácil por ignorancia. Nunca lo hemos hecho y no se como recoger en el RPG los valores de antes y después de la modificación, en el caso de update.
Por lo que volvemos al origen, no se porqué de un trigger en RPG me da un error al hacer el call al QCMEDCX, o si alguien me dice donde mirar de una manera fácil como leer desde un RPG los valores de antes y después de la modificación rehago el trigger en RPG.
Un saludo
Luis Elías
_____
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] En nombre de Carlos B.S.
Enviado el: miércoles, 02 de noviembre de 2005 14:50
Para: [email protected]
Asunto: Re: Uso del QCMDEXC desde un Trigger
Sí puedes llamar a un RPG, de hecho, todos mis triggers llaman a otro RPG que es realmente el que realiza la tarea.
Un saludo,
Carlos Bartolomé.
Luis Elias Almeida wrote:
Buenos días de nuevo:
Estoy intentando hacer un trigger y necesito llamar a un RPG externo. A priori creo que no se puede llamar directamente a un RPG, sino a travésdel QCMDEXC.
En mi trigguer pongo:
CALL QSYS/QCMDEXC ( VAR1, VAR2);
En VAR1 pongo el programa y los parámetros que necesito pasarle y en VAR2 el Leng del VAR1.
El problema es al ejecutar el RUNSQLSTM para que cree el trigger, no me lo crea y el error es:
SQL0204 30 1 QCMDEXC en QSYS de tipo *N no encontrado.
¿Porqué no encuentra al QCMDEXC?
Un saludo, y gracias por anticipado
Luis Elías
--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.1.362 / Virus Database: 267.12.7/155 - Release Date: 01/11/2005
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.1.362 / Virus Database: 267.12.7/155 - Release Date: 01/11/2005
