在尝试查找已用于创建对象的RPG源文件时,我正在寻找使用对象大小,MI指令数和ODT(对象定义表)条目数来确认使用哪个源文件创建对象。似乎有一种观点认为前两种可能因编译器的不同版本而异。
因此想知道RPG源中特定类型的语句与ODT entires的数量之间是否存在对应关系。
我已经广泛搜索过这个主题,并没有找到普通应用程序员可以理解的关于ODT entires的任何解释。 This article has a very detailed descrition of ODT but I'm finding it difficult to relate it to an RPG program and the number ODT entries.
答案 0 :(得分:1)
对象大小,MI指令,ODT都可以在编译器版本之间发生变化。甚至是PTF申请。
有两种支持的方法可以将源绑定到程序对象。
显示程序(DSPPGM)命令:
Type of program . . . . . . . . . . . . . . . . : OPM
Source file . . . . . . . . . . . . . . . . . . : QRPGSRC
Library . . . . . . . . . . . . . . . . . . . : OLSMLSRC
Source member . . . . . . . . . . . . . . . . . : OP510B
Source file change date/time . . . . . . . . . . : 08/07/05 08:45:11
对于ILE RPG,DSPPGM提供了第三个屏幕,其中列出了所使用的模块,您可以5 =显示说明并查看:
Module . . . . . . . . . . . . . . . . . . . . : OP021B
Library . . . . . . . . . . . . . . . . . . : QTEMP
Source file . . . . . . . . . . . . . . . . . : QRPGLESRC
Library . . . . . . . . . . . . . . . . . . : OLSMLSRC
Source member . . . . . . . . . . . . . . . . : OP021B
Module attribute . . . . . . . . . . . . . . . : RPGLE
Module creation date/time . . . . . . . . . . : 04/04/14 10:27:41
Source file change date/time . . . . . . . . . : 03/25/14 14:08:49
商业变更控制包使用对象控制级别属性,该属性可通过API设置并通过API或DSPOBJD DETAIL(* SERVICE)查看
Object . . . . . . . . . . . . . . . : OP021B
Library . . . . . . . . . . . . . : OLSMLPRG
Library ASP device . . . . . . . . . : *SYSBAS
Library ASP group . . . . . . . . . : *SYSBAS
Type . . . . . . . . . . . . . . . . : *PGM
Object control level . . . . . . . . : 00N0001X
请注意,对于ILE计划/服务计划。可以为* PGM对象和使用的模块对象设置对象更改控件。模块级对象更改控制可通过DSPPGM获取,带有模块源信息。
答案 1 :(得分:0)
DSPPGM命令独立于任何更改控制包。它显示了* PGM对象创建时的属性。