请教关于PF触发器的问题
为了实现当PF中插入一条记录后,系统自动执行某个CL程序。
我先在PF上加了触发器
ADDPFTRG FILE(TESTLIB/TESTPF1) TRGTIME(*AFTER) TRGEVENT(*INSERT) PGM(TESTLIB/TESTCL) TRG(TESTTRG01)
然后STRSQL用insert命令插入一条记录,记录确实写入了但CL程序未执行
系统报下面错误
Trigger program or external routine detected an error.
按F1显示
Additional Message Information
Message ID . . . . . . : SQL0443 Severity . . . . . . . : 30
Message type . . . . . : Diagnostic
Message . . . . : Trigger program or external routine detected an error.
Cause . . . . . : Either a trigger program, external procedure, or external
function detected and returned an error to SQL. If the error occurred in a
trigger program, the trigger was on file TESTPF1 in library TESTLIB. If the error
occurred in an external procedure or function, the external name is TESTPF1 in
library TESTLIB. The associated text is *AFTER *INSERT. If the error
occurred in a trigger program, the associated text is the type of trigger
program. If the error occurred in an external function, the associated text
is the text of the error message returned from the external function.
Recovery . . . : Refer to the joblog for more information regarding the
detected error. Correct the error and try the request again.
谁能告诉我错在哪里?触发器应该怎么设置?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
多谢了。
另外有个问题
网上看到2个参数分别是&BUFFER和&LENG,这2个参数应该是什么类型的?
我现在测试的时候分别是1000位*CHAR和4位*DEC,也通过的。
网上有的RPG例子中&LENG是B类型的
就是你那个被触发调用的程序出错了。
触发程序应该带有两个参数。如果触发程序用到其他文件,那些文件应该在*libl里面可以找到。