AS400开发经验点滴.docVIP

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
AS400开发经验点滴

AS/400开发经验点滴(一)AS/400开发经验点滴(一) AS/400系统开发工具及开发语言很多,有许多技术性的东西并不是我们能经常碰到的,但这些东西在一些实际应用中很有用处。本人在几年AS/400系统上的开发中,也有一些经验。有些东西如果不把其形成文字,过一段时间后,本人都会很快忘掉,比如我现在要写两年前的经验就很费劲。现把其中一些经验总结出来,与大家共享也行,自娱自乐也行。本文不是学术论文,仅仅是一些开发经验总结,有不严谨的地方必定在所难免。 CL程序自动回复询问类消息(Inquiry?Message) AS/400系统开发中,经常要与各种各样的消息打交道。有一类叫“Escape?Message”的消息,是当程序出现错误后,会强迫程序异常结束,并告诉错误类型和原因。但经常时候我们不希望因为这些错误而使程序异常停止,在CL程序中,通常做法是用MONMSG命令来监视这些消息,而后采取相应的正确动作,或者引导程序结束。MONMSG一样还可以监视“Status?Message”和“Notify?Message”。 Inquiry?Message”,MONMSG还是无法监视,这类消息通常有多个回复选择项,要求用户必须给一个选择答复,因而通常会暂停程序运行,而显示一个要求用户给消息进行回复的画面。那么如何在程序中让程序自动选择一个正确的回复项回复呢?如能自动答复,就不需要手工再回复了。 JOBD里,有INQMSGRPY选择项,有三个选择:*RQD,*DFT,*SYSRPYL,这个INQMSGRPY就是表示指定Inquiry?Message的答复方式,通常创建JOBD的时候INQMSGRPY项缺省是*RQD,这就表示需要操作员手工答复方式。而*DFT和*SYSRPYL就表示了两种程序可以自动答复的方式。 1. 消息答复缺省值法 JOBD里INQMSGRPY选项指定为*DFT方式,则程序会自动使用消息的缺省答复项,询问消息就不会再在屏幕上显示。消息的缺省答复项,可以用CHGMSGD命令事先手工改好,也可以在程序中加入。比如下面的命令可以先在程序中设定: CHGMSGD????MSGID(CPA3E01)?MSGF(QCPFMSG)?DFT(G) QCPFMSG消息文件中的CPA3E01消息的缺省答复为’G’(表示继续执行)。 2. 系统答复列表法 JOBD里INQMSGRPY选项指定为*SYSRPYL方式,则程序会自动使用系统答复列表中定义的答复项。AS/400系统有一系统答复列表(System?Reply?List)。System?Reply?List允许用户指定某已定义在列表中消息的答复方式。System?Reply?List包含有序号、消息表示符、答复值、选择比较数据等。可以用WRKRPYLE命令查看System?Reply?List的所有内容。下面就是用WRKRPYLE命令查看到的内容: [code:1:4399c2b568]2=Change???4=Delete 牋牋???Sequence??Message? 牋牋qu Opt???Number??ID Reply Compare?Value???? ?-????????10 CPA0700 D *NONE???????????? ?-????????20 RPG0000 D *NONE???????????? ?-????????30 CBE0000 D *NONE???????????? ?-????????40 PLI0000 D *NONE???????????? ?-????????50 CPF7025 I *NONE???????????? ?-????????60 CPA3E01 G *NONE???????????? ?-???????1111 CPA3708 G *NONE????????????[/code:1:4399c2b568] 可以用ADDRPYLE命令把你自己要定义的消息及缺省答复值加入。注意加入的时候Sequence?Number项不能跟System?Reply?List已存在的重复。 ADDRPYLE命令加入到程序中不方便,因为System?Reply?List里的Sequence?Number要求唯一,所以不能重复加入。而且当程序移到不同机器运行时,还必须把消息缺省答复重新加入?System?Reply?List。 JOBD可以指定消息答复方式外,还可以用BCHJOB和SBMJOB提交作业时在INQMSGRPY选择项里指定消息回复类别。BCHJOB和SBMJOB命令将会覆盖JOBD的答复方式。如果使用缺省答复方式和SBMJOB命令结合,可以先编一CL程序,就可以做到

文档评论(0)

st4739288 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档