AS/400开发经验:自动回复询问类消息技巧

需积分: 9 14 下载量 180 浏览量 更新于2024-12-09 收藏 20KB DOCX 举报
"AS/400开发经验点滴" 在AS/400系统开发中,开发者经常会遇到各种工具和语言,以及一些不常见的技术挑战。AS/400是一种由IBM开发的企业级服务器,主要用于处理业务应用程序。本文将分享作者在AS/400系统开发过程中的实践经验,尤其是如何在CL(Control Language)程序中处理特定类型的错误消息。 CL是AS/400系统中的批处理语言,用于编写系统管理和自动化任务。在AS/400系统中,有三种主要的消息类型:EscapeMessage、StatusMessage和NotifyMessage。对于EscapeMessage,可以使用MONMSG命令来监控并处理错误,避免程序异常终止。同样,StatusMessage和NotifyMessage也可通过MONMSG来响应。 然而,InquiryMessage(询问消息)是特殊的一类,它需要用户的交互才能继续执行。默认情况下,如果收到InquiryMessage,程序会暂停并显示一个等待用户输入的界面。为了在CL程序中自动处理这些消息,有两种方法: 1. 消息答复缺省值法:将作业JOBD的INQMSGRPY选项设置为*DFT。这将使得系统使用消息的预设默认答复,无需用户干预。默认答复可以通过CHGMSGD命令预先设定,例如: ``` CHGMSGD MSGID(CPA3E01) MSGF(QCPFMSG) DFT(G) ``` 上述命令将消息ID为CPA3E01的QCPFMSG消息文件的默认答复设置为'G',代表继续执行。 2. 系统答复列表法:将INQMSGRPY选项设置为*SYSRPYL。这种方法允许程序从系统定义的答复列表中选择一个合适的答复。开发者需要提前配置这些答复,确保在遇到InquiryMessage时,程序能够自动选择适当的响应。 这些技巧在处理需要用户交互的错误或询问时非常有用,可以提高程序的自动化程度和效率。在AS/400开发中,了解如何有效地管理和自动处理各种消息类型是至关重要的,这有助于优化系统的运行流程,减少人工介入的需求,从而提升系统的稳定性和可靠性。在实际项目中,开发者可能需要结合具体需求和错误处理策略来灵活运用这些方法。