AS / 400,iSeries,System i Objects - ODT条目数 - 它们与RPG源

时间:2015-08-21 09:41:49

标签: ibm-midrange rpg

在尝试查找已用于创建对象的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.

This glossary defines ODT as a table built at compile time by the system to keep track of objects declared in the program. The program objects in the table include variables, constants, labels, operand lists and exception descriptions. The table resides in the compiled program object. So does this mean compiling an RPG source at different versions of the operating system would result in the number of ODT entries remaining same for each object created from the same source?

2 个答案:

答案 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对象创建时的属性。