Zitat Zitat von B.Hauser Beitrag anzeigen
Eigentlich ist das ziemlich einfach. Das eigentliche Trigger-Programm wird durch eines der beiden QDBPUT (für Input-Trigger) oder QDBUDR (für Undate/Delete/Read-Trigger) aufgerufen. Damit muss man nur das Programm, das im Callstack vor dem entsprechenden Aktivierungsprogramm liegt ermitteln.

Birgitta
Hallo Birgitta,

im Internet hast du folgendes zu QDBPUT/QDBUDR gepostet.
Code:
/*****************************************************************/   
/*    Object. . . . . . . . .  : PRVPGM                          */ 
/*    Funkcion. . . . . . . .  : Retrieve Caller Programm        */   
/*                               from Call Stack                 */    
/*    Parameter . . . . . . .  : CALLER   10 A                   */    
/*                               CALLED   10 A                   */    
/*    Author  . . . . . . . .  : B.Hauser                        */    
/*****************************************************************/ 
            PGM        PARM(&CALLER           +           
                            &CALLED)   
/* ---------------------------------------------------------------*/  
            DCL        VAR(&CALLER) TYPE(*CHAR) LEN(10)         
            DCL        VAR(&CALLED) TYPE(*CHAR) LEN(10)        
            DCL        VAR(&MSGKEY)   TYPE(*CHAR) LEN(4)  
            DCL        VAR(&SENDER)   TYPE(*CHAR) LEN(80)
/* ---------------------------------------------------------------*/ 
            SNDPGMMSG  MSG('TEST')                                  +       
                       TOPGMQ(*PRV (&CALLED))                       +            
                       MSGTYPE(*RQS)                                +        
                       KEYVAR(&MSGKEY)       

           RCVMSG     PGMQ(*PRV (&CALLED))                         + 
                      MSGKEY(&MSGKEY)                              +      
                      SENDER(&SENDER)    

           CHGVAR     VAR(&CALLER) VALUE(%SST(&SENDER 56 10))  
ENDE:     ENDPGM
Mein Problem ist das ich ermitteln muss woher das Update(QDBUDR) kommt.
Habe ein PF-File wo als "Triggerprogramm" ein Cl hinterlegt(JRN050CL) ist, das wiederum andere CL-aufruft.
Das dritte CL ruft ein RPG-Programm auf und schreibt im Endeffekt den geänderten Satz.

Wie ermittle ich nach deiner Methode den Aufruf?
Muss ich im RPG-Programm nach den Wert 'QDBUDR' abfragen und dann das CL-aufrufen.
Wie müsste der Aufruf des CL in einem Rpg-Pgm aussehen?

lg und Dank im Voraus