RPG IV编程问题百解(2)服务应用程序-(第三部分)
又问2:
TFisher,从这个procedure中,按照你的意思,如果我输出一些变量,我可以用个模块输入这些变量到其它procedure,我可以这样做吗?我可以定义所有的输出变量作为全局变量在一个H表定义NOMAIN的模块中吗?
如果我是对的,这种方法我稍后会对用这个服务应用程序作为出入变量给所以程序的解释。请纠正我的的观点。谢谢!
Bob Cozzi答:
你可以有*module,它可以仅仅有输出全局变量的功能。接着在另外*module中你可以输入这些已被输出的全局变量。
在任意module中,你可以有任何变量使用export keyword作为输出,然后输入这些变量到*PGM,或*SRVPGM目标代码中的moudle中。
使用这个服务应用程序,一个被定义输出的变量非常像一个输出的subprocedure—你把这个bind到原代码中,作为输出部分,并且这个服务应用程序的调用者能够输入这些被输出的变量。这通常只是假设为服务程序,且它与它的调用者一起运行在同样一个活动组中,但是,我近期不知道假如这种情况被改变,会发生什么情况。
用于这些变量的存储是有owned,然而,正在输出的模块—设想这些变量,作为自动输出的传递参数自动送到输入的模块中。
要输入,你准确的申明这些定义在输出的模块中,但是排除输出,你用输入在这个模块上,这就是你原来例子所处理的流程。然而,这样使用会导至处理的复杂化。
(不定期,再续后面问答)
文章小结:
一个H表设置为NOMAIN的procedure,可以只定义为全局变量初始化的输出module。
阅读(607) | 评论(0) | 转发(0) |