AS/400, iSeries, System i Objects - ODT条目的数量-它们在RPG源中与什么相关?



在尝试查找用于创建对象的RPG源文件时,我正在寻找使用对象大小、MI指令数量和ODT(对象定义表)条目数量来确认用于创建对象的源文件。似乎有一种观点认为,前两者可能因编译器的不同版本而有所不同。

所以想知道RPG源中的特定类型的语句与ODT整体的数量之间是否存在对应关系。

我在谷歌上广泛搜索了这个主题,但没有找到任何普通应用程序程序员可以理解的关于ODT整体的解释。本文非常详细地描述了ODT,但我发现很难将其与RPG程序和ODT条目的数量联系起来。

这个术语表将ODT定义为系统在编译时构建的表,用于跟踪程序中声明的对象。表中的程序对象包括变量、常量、标签、操作数列表和异常描述。表驻留在编译后的程序对象中。那么,这是否意味着在不同版本的操作系统上编译RPG源代码会导致从同一源创建的每个对象的ODT条目数量保持相同?

对象大小、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=Display Description并查看:

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与模块源信息一起使用。

DSPPGM命令独立于任何变更控制包。它显示了创建*PGM对象时的属性。

相关内容

  • 没有找到相关文章

最新更新