免费注册 查看新帖 |

Chinaunix

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

MONMSG 为何有时不起作用? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-12 11:21 |只看该作者 |倒序浏览

PGM                                                           
     /****************************************************/   
     /* DDMF(NTSTL1DB) COMMUNICATION FLAG CHECK          */   
     /****************************************************/   
         CHGCURLIB CURLIB(SUZOBJ)                             
         CHGJOB DDMCNV(*DROP)                                 
         CLRPFM FILE(SUZOBJ/FCWKP0DB)                        
J1:      CALL PGM(SUZOBJ/PY018UB)                             
         MONMSG MSGID(CPF4207) EXEC(GOTO J9)                  
J9: ENDPGM

上面的这个程序,设置了错误捕获,可是为何当错误发生时,系统还是报了错误,必须手动进行回答?
哪位高手能解释一下吗?


                             Additional Message Information                        
                                                                                
Message ID . . . . . . :   RPG1216                                             
Date sent  . . . . . . :   12/11/11      Time sent  . . . . . . :   05:30:00   
                                                                                
Message . . . . :   Error message CPF4207 appeared during OPEN (C S D F).      
                                                                                
Cause . . . . . :   The RPG program PY018UB in library SUZOBJ received the     
   message CPF4207 while doing an implicit OPEN to file FCWKTBL1. See the job   
   log for a complete description of message CPF4207. If the file has a device  
   type of SPECIAL, there may be no message in the job log.                     
Recovery  . . . :   Enter C to cancel, S to obtain a printout of system        
   storage, D to obtain an RPG formatted printout of system storage, or F to   
   obtain a full formatted printout of system storage.                          
Possible choices for replying to message . . . . . . . . . . . . . . . :      
   D -- Obtain RPG formatted printout of system storage.                        
   S -- Obtain printout of system storage.                                      
   F -- Obtain full formatted printout of system storage.                       
                                                                       



                                               

论坛徽章:
0
2 [报告]
发表于 2012-11-13 10:33 |只看该作者
你的MONMSG放的位置有问题吧。。。
看message信息应该是OPEN file FCWKTBL1出错,
这个error是发生在子程序的吧?
那么试试将MONMSG放到 Program Level (即DCL语句下面的首行,命令语句之前)

论坛徽章:
0
3 [报告]
发表于 2012-11-14 08:45 |只看该作者
试过啦,前后都放了MONMSG还是报同样的错误,奇怪了。。。

论坛徽章:
0
4 [报告]
发表于 2012-11-14 10:25 |只看该作者
请参考前人的一些回答
http://bbs.chinaunix.net/thread-1627181-1-1.html
另外你的子程序是CL还是RPG?
"monmsg一般用于上一条cl程序行中cl命令执行情况的系统返回的msgid,所以,monmsg一般跟在这样的cl行之后,而不能monmsg另外一个rpg的出错信息。monmsg CL命令,msgid都会在Redbook或400联机help中有详细说明,都会列写出所有可能发生的错误msgid号。"
在RPG中用 指示器或者 IF        %ERROR (RPGLE)判断。

论坛徽章:
0
5 [报告]
发表于 2012-11-14 12:12 |只看该作者
还有,你可以试下在Program Level 放 MONMSG MSGID(RPG1216)
毕竟真正抛出的错误ID是 RPG1216 , 不是 CPF4207

论坛徽章:
0
6 [报告]
发表于 2012-11-16 11:09 |只看该作者
果然没错,发现MONMSG可以监控CL命令出现的错误,
对于RPG程序出现的错误,似乎没有办法捕捉到,
受教了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP