AS/400, iSeries, System i Objects - Количество записей ODT - с чем они связаны в источнике RPG

Пытаясь выяснить, какой исходный файл RPG использовался для создания объекта, я стараюсь использовать размер объекта, количество инструкций MI и количество записей ODT (таблица определения объекта), чтобы подтвердить, какой исходный файл использовался для создания объекта., Кажется, существует мнение, что первые два могут отличаться в зависимости от версии компилятора.

Поэтому интересно, есть ли соответствие между определенным типом утверждений в источнике RPG и количеством поступлений ODT.

Я много гуглил на эту тему и не нашел никакого объяснения, которое было бы понятно среднему программисту по поводу ODT. Эта статья содержит очень подробное описание ODT, но мне трудно связать ее с программой RPG и количеством записей ODT.

Этот глоссарий определяет ODT как таблицу, созданную во время компиляции системой для отслеживания объектов, объявленных в программе. Программные объекты в таблице включают переменные, константы, метки, списки операндов и описания исключений. Таблица находится в скомпилированном программном объекте. Значит ли это, что компиляция источника RPG в разных версиях операционной системы приведет к тому, что число записей ODT останется одинаковым для каждого объекта, созданного из одного и того же источника?

2 ответа

Решение

Размер объекта, инструкции MI, ODT могут меняться в зависимости от версии компилятора. Или даже применение ПТФ.

Существует два поддерживаемых метода для привязки источника к программному объекту.

Команда программы отображения (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 с информацией об источнике модуля.

Команда DSPPGM не зависит от какого-либо пакета управления изменениями. Он показывает атрибуты объекта *PGM в том виде, как он был создан.

Другие вопросы по тегам