全部博文(287)
分类: 系统运维
2009-03-20 09:07:26
疑问:这是一个服务应用程序吗?
问题:我思考一个服务应用程序应该总是由可以被输入数据的过程处理程序组成。但是,意外出现了,我发现一个服务应用程序没有过程处理程序,然而又有些数据元素又在它下面出现。
程序代码:
D/COPY QCPYLESRC,GLOBAL 全局变量
C Return
这个copy book文本如下:
/IF DEFINED(SRV)
D VARDS DS EXPORT
/ELSE
D VARDS DS IMPORT
/ENDIF
D Element1
D Element2
D Element3
D Element4
D Element5
:
:
我对上述这段代码感到奇怪。我们从未像这个程序那样做过做过服务应用程序。请给我你们有价值的解释。
Bob Cozzi解答:
首先,这绝对是个服务应用程序
我在RPG xTool中有一个服务应用程序,它也没有过程处理程序。但是,它可以输出变量,如字段、数据结构,这些可以组装成其它用途。
好,我设想这个程序是个能够用在一个服务应用程序中的module,而不正好是一个服务应用程序。但是,一个个用来作为输出数据字段的独立的服务应用程序,也有这种可能,并且不会被禁用。
例如,设想你要提供用一个来访问系统中的数据的RPGIV程序。它可能存在你自己的信息处理、CGI/Web团队、通讯团队,或任何其它团队中。
除非通用的数据区,你用来作为服务应用程序,赋值给输出数据字段到任何一个能够接收这些数据字段的程序。而且,这些程序能够简单地接受这些数据字段。
当然,提供一个初始化例程较好些,这个例程调用者能够涉及初始化或赋值这些变量。如果有数据在服务应用程序中,让操作简单些。
文章小结:
服务应用程序不一定要求一定要有过程处理。仅有输入输出数据结构DS,如本题问代码,就是通过服务应用程序提供全局变量初始化给调用者。