Ibm midrange 为什么在rpgle程序结束时打开*inlr(上次记录指示器)

Ibm midrange 为什么在rpgle程序结束时打开*inlr(上次记录指示器),ibm-midrange,rpgle,rpg,Ibm Midrange,Rpgle,Rpg,*inlr(上次记录指示器)在rpgle程序结束时打开。打开上次记录指示器的主要原因是什么。如果该指示灯未打开,会发生什么情况。您不必总是打开该指示灯。有时,您可以编写返回代码来结束程序 *inlr是循环模块使用的“RPG循环”的一部分。如果控制语句中没有MAIN或NOMAIN关键字,则它是一个循环模块 文档中的这一页解释了三种类型的RPG模块,并描述了*inlr如何影响循环模块。 我强调了*INLR和RETURN与编译器设置有关激活组的重要性。如果使用错误,可能会发生意外状态。:-)我的理解是

*inlr(上次记录指示器)在rpgle程序结束时打开。打开上次记录指示器的主要原因是什么。如果该指示灯未打开,会发生什么情况。

您不必总是打开该指示灯。有时,您可以编写返回代码来结束程序

*inlr是循环模块使用的“RPG循环”的一部分。如果控制语句中没有MAIN或NOMAIN关键字,则它是一个循环模块

文档中的这一页解释了三种类型的RPG模块,并描述了*inlr如何影响循环模块。

我强调了*INLR和RETURN与编译器设置有关激活组的重要性。如果使用错误,可能会发生意外状态。:-)我的理解是,在从另一个程序启动的循环程序中,如果调用
RETURN
而不设置
*INLR
,第二个程序将保持在内存中加载,如果再次调用,将不会得到新实例,而是运行相同的程序实例和变量值,打开文件,等等,都会在那里。你能证实吗?迈克,你说得对。但这不一定是一个“循环计划”。它可能是一个“循环模块”。一个程序可以有几个循环模块,每个模块都有自己的专用RPG循环。但总的来说,大多数程序只有一个循环模块,而大多数服务程序没有循环模块,PoC所说的也是相关的。如果程序在*NEW activation组中运行,则无论您是在*INLR打开还是关闭的情况下结束循环模块。程序结束时,文件将关闭。下次调用程序时,变量将有其初始值。