免费注册 查看新帖 |

Chinaunix

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

请教一个关于触发器程序的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-25 22:51 |只看该作者 |倒序浏览
ADDPFTRG FILE(JJDTAL1/MPPF10) TRGTIME(*BEFORE) TRGEVENT(*INSERT) PGM(PAYPG
MLIB/MPPF10)                                                                     

*------------------------------------------------------
FMPPF10    IF   E           K DISK                       
F*                                    INFSR(@FERF00)     
F*                                      参数表           
FPENGLEI   UF A E           K DISK                       
F                                                        
F                                                        
*------------------------------------------------------
D Buffer          DS         32767      
D  FileName               1     10      
D  LibraryName           11     20      
D  MemberName            21     30      
D  TrgEvent              31     31      
D  TrgTime               32     32      
D  CommitLckLvl          33     33      
D  Filler1               34     36      
D  CCSID                 37     40B 0   
D  Filler2               41     48      
D  OldOff                49     52B 0   
D  OldLen                53     56B 0   
D  OldNullOffset         57     60B 0   
D  OldNullLength         61     64B 0   
D  NewOff                65     68B 0     
D  NewLen                69     72B 0     
D  NewNullOffset         73     76B 0     
D  Resv3                 81     96        
D  other                          *      
DExtDs          E Ds                  ExtName(MPPF10)               
D Leng            DS                                                
D  Len                    1      4B 0                              
DT                S               T                                 
C                                                                  
*----------------------------------------------------------------  
C     *entry        Plist                                                
C     Buffer        Parm                    Buffer                       
C     LENG          Parm                    LENG                        
C*  判断                                                                 
C                   Eval      ExtDs = %subst(Buffer:Newoff+1:NewLen)     
C*  得到新加的记录值                                                     
C                                                                        
C                   Eval      MP10PYAMTA=MP10PYAMT                       
C                   Eval      MP10PRACCA=MP10PRACC                       
C                   Eval      MP10PRNAMA=MP10PRNAM                       
C                   Eval      MP10PEACCA=MP10PEACC                       
C                   Eval      MP10PENAMA=MP10PENAM                       
*                                                                       
C                   WRITE     PL                                       
C                                                                       
C                   EXSR      @EXIT                                    
C*------------------------------------------------------------------*   
* @EXIT   退出程序                                                *   
C*------------------------------------------------------------------*   
C     @EXIT         BEGSR                                               
C                   SETON                                        LR     
C                   RETURN                                             
C                   ENDSR                                               
C

在以前帖子上看到的触发器程序,请教各位当触发条件*BEFORE时,系统是如何将参数传入以上程序的*ENTRY的?谢谢!

论坛徽章:
0
2 [报告]
发表于 2007-12-26 09:46 |只看该作者
没有人知道吗?这段代码是以前的一篇精华贴,不过我对触发器程序设的*ENTRY比较疑惑,条件达到触发器所设定的条件时,如果直接触发这个程序,那么它的*ENTRY又是如何传入呢?还是关键在于D表中的那些定义?希望知道答案的前辈能够指点一下,谢谢!

[ 本帖最后由 demoneyes9 于 2007-12-26 09:52 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-12-26 14:23 |只看该作者
当然是系统负责传入的了...........不管是BEFORE还是AFTER,数据更改的影象已经在内存里了,系统会把这些影象传给程序里,用你定义好的数据结构来取你要的东西........

论坛徽章:
0
4 [报告]
发表于 2007-12-26 17:13 |只看该作者
原来是系统负责传参数的...............感谢斑竹指点..继续研究中!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP