免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3185 | 回复: 6
打印 上一主题 下一主题

两个简单的TRIGER 例子 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-27 14:10 |只看该作者 |倒序浏览
今天在看 TRIGER 的东东,试了下,以下将简单的结构发出来,有用的朋友看看!

以下两个例子 实现 在 TRIGPFO 中新增一个记录 将在TGITPFN中增加一笔一样的记录
  TRIGPFO结构:
           A          R RO                          
          A            AO            10  0         
  TRIGPFN结构:

           A          R RN                     
           A            AN            10  0     


范例一: 通过 %ADDR
FTRIGPFN   UF A E           K DISK                                      
D/COPY QSYSINC/QRPGLESRC,TRGBUF                                         
DINTPTR           S               *                                    
DINTARR           S              1A   BASED(INTPTR) DIM(32767)         
DPARM2            DS                                                   
DLENG                     1      4B 0                                   
DORCD           E DS          EXTNAME(TRIGPFO)                  
D                                     BASED(OIMAGE)                     
D                                     PREFIX(O)                        
DNRCD           E DS          EXTNAME(TRIGPFO)                  
D                                     BASED(NIMAGE)                     
D                                     PREFIX(N)                        
DOIMAGE           S               *                                    
DNIMAGE           S               *                                    
C     *ENTRY        PLIST                                               
C     QDBTB         PARM                    QDBTB                       
C     PARM2         PARM                    PARM2                       
C                   EVAL      INTPTR=%ADDR(QDBTB)                       
C                   EVAL      OIMAGE=%ADDR(INTARR(QDBORO+1))            
C                   EVAL      NIMAGE=%ADDR(INTARR(QDBNRO+1))        
C                   EVAL      AN=NAO                                    
C            WRITE     RN                                       
C                   SETON                                        LR     
C                   RETURN                                                  


范例二: 通过 %subst


FTRIGPFN   UF A E           K DISK           
                           
DQDBTB            DS         32767                                      
D*                                             Qdb Trigger Buffer      
D QDBFILN02               1     10                                      
D*                                             File Name               
D QDBLIBN02              11     20                                      
D*                                             Library Name            
D QDBMN00                21     30                                      
D*                                             Member Name              
D QDBTE                  31     31                                      
D*                                             Trigger Event            
D QDBTT                  32     32                                      
D*                                             Trigger Time            
D QDBCLL                 33     33                                      
D*                                             Commit Lock Level        
D QDBRSV104              34     36                                      
D*                                             Reserved 1               
D QDBDAC                 37     40B 0                                   
D*                                             Data Area Ccsid         
D QDBCR                  41     44B 0                                   
D*                                             Current Rrn              
D QDBRSV204              45     48                                      
D*                                             Reserved 2               
D QDBORO                 49     52B 0                                   
D*                                             Old Record Offset        
D QDBORL                 53     56B 0                                   
D*                                             Old Record Len           
D QDBORNBM               57     60B 0                                   
D*                                             Old Record Null Byte Map
D QDBRNBML               61     64B 0                                   
D*                                             Old Record Null Byte Map
D QDBNRO                 65     68B 0                                   
D*                                             New Record Offset        
D QDBNRL                 69     72B 0                                   
D*                                             New Record Len           
D QDBNRNBM               73     76B 0                                   
D*                                             New Record Null Byte Map
D QDBRNBML00             77     80B 0                                   
D*                                             New Record Null Byte Map
DPARM2            DS                                                   
DLENG                     1      4B 0                                   
DORCD           E DS                  EXTNAME(TRIGPFO)                  
D                                             PREFIX(O)                        
DNRCD           E DS                  EXTNAME(TRIGPFO)                  
D                                             PREFIX(N)                        
C     *ENTRY        PLIST                                               
C     QDBTB         PARM                    QDBTB                       
C     PARM2         PARM                    PARM2                       
C                        EVAL      ORCD=%SUBST(QDBTBDBORO+1DBORL)        
C                        EVAL      NRCD=%SUBST(QDBTBDBNRO+1DBNRL)        
C                        EVAL      AN=NAO                                    
C                       WRITE     RN                                       
C                       SETON                                        LR     
C                       RETURN

论坛徽章:
0
2 [报告]
发表于 2007-06-27 16:47 |只看该作者
好东西啊,谢谢啦!!!非常感谢~~~

论坛徽章:
0
3 [报告]
发表于 2007-06-28 11:53 |只看该作者
对,范例一CALL 如何传参数??

[ 本帖最后由 zysapply 于 2007-6-28 14:43 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2007-06-29 13:33 |只看该作者
ADDPFTRG

论坛徽章:
0
5 [报告]
发表于 2007-06-29 13:55 |只看该作者
弄明白了,非常感谢.没搞过TRIG,一直疑惑没有关联,系统如何选择触发器执行?
THANKS

论坛徽章:
0
6 [报告]
发表于 2007-06-29 15:07 |只看该作者


[ 本帖最后由 zysapply 于 2007-6-29 16:15 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2007-06-29 16:08 |只看该作者
还有有例子好,我以前都是copy一个过来改的,楼主热心人哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP