免费注册 查看新帖 |

Chinaunix

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

请问 CL程序里的 MONMSG MSGID(XXXX)语句有什么用? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-18 15:46 |只看该作者 |倒序浏览
请教一下,比如
QSYS/STRSBS SBSD(NAME)
MONMSG MSGID(123456)

这样一段代码, 是否就是说启动子系统name的时候,会把相关的message发到启动者的message queue里面,而message id就是 123456?

论坛徽章:
0
2 [报告]
发表于 2006-10-18 15:55 |只看该作者
“监控消息” (MONMSG) 命令用于监控传送至程序消息队列的退出、通告及状
    态消息,该程序是该命令所在的程序。完成及诊断消息是不可监控的。      
                                                                        
    当在控制语言 (CL) 程序中编译 MONMSG 命令时,它对指定消息的到达创建监
    控器。该命令监控命令中给出的比较数据所指定的条件的消息。若符合条件的
    消息到达消息队列,则处理 MONMSG 命令上指定的 CL 命令。               
                                                                        
    最多可在程序中指定 1000 条 MONMSG 命令以监控特定条件或条件组的消息的
    到达。可监控特定消息标识或类属消息标识。 iSeries “信息中心”        
    (http://www.iseries.ibm.com/infocenter) 中的“编程参考摘要”信息一书
    中有更多有关可由 CL 命令发送的脱离、通知和状态信息及其标识的信息。   
                                                                        
    可在 CL 程序中跟随大多数命令编码 MONMSG 命令。未放置在程序首部的     
    MONMSG 命令仅适用于紧前面的命令;这称为命令级 MONMSG 命令。命令级   
      MONMSG 命令仅监控由前一命令发送的消息。若该命令发送的消息符合      
     MONMSG 命令中指定的条件,则执行同一 MONMSG 命令中指定的操作。最多     
       100 条紧跟命令编码的 MONMSG 命令可监控由该命令发送的消息。         
                                                                           
     当执行完 MONMSG 命令中指定的操作,且该操作并未以 GOTO 或 RETURN 命令  
     结束时,控制返回至程序中跟随发送消息的命令的命令。若该操作以 GOTO     
       命令结束,则控制分支至程序中 GOTO 命令中指定的程序中的命令。若该操  
     作以 RETURN 命令结束,则控制返回至调用包含 MONMSG 命令的程序的程序。  
                                                                           
     若将一条或多条 MONMSG 命令放在程序的首部,紧跟描述命令或 PGM 命令(   
     若没有描述命令),则它们监控由程序中的所有命令(最多 100 条命令)发   
     送的消息。这称为程序级 MONMSG 命令。若程序中的任何命令发送的任何消息  
     符合任何一条程序级 MONMSG 命令中指定的条件,则执行同一命令中指定的相  
     对应的操作。                                                         
                                                                           
     命令级 MONMSG 命令执行的操作覆盖程序级 MONMSG 命令。                  
     若对放置在程序首部的 MONMSG 命令上的 EXEC 参数编码命令,则   仅   可
     使用 GOTO 命令,则它必须指定受监控的消息发生时要将控制传送至的命令的
     标号。若未对 EXEC 参数编码命令,则受监控的消息被忽略。               
                                                                          
     限制:                                                               
       1.  此命令仅在 CL 程序中有效。                                    
       2.  可将其编码在最后一条描述命令(若使用描述命令)的后边,跟随开始
           程序的 PGM 命令,也可跟随 CL 程序中允许的任何命令编码它,但下  
           列命令除外: DO 、 ELSE 、 ENDDO 、 ENDPGM 、 GOTO 、 IF 或   
             RETURN 。注意:若另一程序发送受此命令监控的信息,则不能返回  
           至该程序。                                                     
                                                                          
          注:   除非该项是显示带有星号(在屏幕上或帮助信息中)的“特殊值
         ”,否则不要在项前加星号。

论坛徽章:
0
3 [报告]
发表于 2006-10-18 16:24 |只看该作者

谢谢了。

我是刚入门的初学者。谢谢了。虽然还是不太明白ing^_^。回答我copy下来了。等对400有了更多的认识再来理解吧。

论坛徽章:
0
4 [报告]
发表于 2006-10-18 16:26 |只看该作者
其实就是错误保护了..

论坛徽章:
0
5 [报告]
发表于 2006-10-18 23:27 |只看该作者
原帖由 freelancer77 于 2006-10-18 15:46 发表
请教一下,比如
QSYS/STRSBS SBSD(NAME)
MONMSG MSGID(123456)

这样一段代码, 是否就是说启动子系统name的时候,会把相关的message发到启动者的message queue里面,而message id就是 123456?

可以简单的理解:启动指定Subsystem:Name时,可以屏蔽MSGID(123456)这个指定的错误信息。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP