Title: RE: Uso del QCMDEXC desde un Trigger

Gracias Juan Carlos, lo intentaré con esto a ver si lo consigo.

 

Un saludo y gracias a todos

 

Luis Elías

 


De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Juan Carlos Paredes
Enviado el: miércoles, 02 de noviembre de 2005 16:34
Para: [email protected]
Asunto: RE: Uso del QCMDEXC desde un Trigger

 

 * +-------------------------------------+ 
 * | 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
 

Responder a