AS400的触发器(转载)

一、物理文件expf

 R AEXPF                   
   K1             2A       
   K2             5P 1     
 K K1

                    
 二、物理文件expf1

R AEXPF1              
  M1             2A   
  M2             5P 1 
K M1    

             

三、添加触发器
ADDPFTRG FILE(EXPF) TRGTIME(*BEFORE) TRGEVENT(*UPDATE) PGM(trgpgm) RPLTRG(*YES)
当更改记录时,会把更改前的记录写入expf1中

触发器程序trgpgm

fexpf1     o  a e             disk                                    
d newdata       e ds                  extname(expf1)       //引用外部的物理文件           
dtrgbuf           ds           //触发器的数据结构                                       
d trgbufhdr                     96a                                   
d bfk1                           2a                                   
d bfk2                           5p 1                                 
d bnk1                           1a                                   
d bnk2                           1a                                   
d afk1                           2a                                   
d afk2                           5p 1                                 
d ank1                           1a                                   
d ank2                           1a                                   
c     *entry        plist        //触发时自动调用该程序,并传入数据到触发器结构中                                     
c                   parm                    trgbuf                    
c                   eval      m1=bfk1                                 
c                   eval      m2=bfk2                                 
c                   write     aexpf1                                  
c                   seton  

                                      lr  


四、移除触发器
RMVPFTRG FILE(EXPF) TRGTIME(*BEFORE) TRGEVENT(*UPDATE)

原文地址:https://www.cnblogs.com/lane_yang/p/1986072.html