Reputation: 5
In trying to find which RPG source file has been used to create an object, I'm looking to use object size, number of MI instructions and number of ODT (object definition table) entries to confirm which source file was used to create the object. There seems to be an opinion that the first two may vary with different versions of the compiler.
So wondered whether there is a correspondance between the particular type of statements in RPG source and the number of ODT entires.
I've googled extensively on this subject and not found any explanation that is comprehensible to the average application programmer about 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.
Upvotes: 0
Views: 636
Reputation: 81
The DSPPGM command is independent of any change control package. It shows the attributes of the *PGM object as it was created.
Upvotes: 0
Reputation: 23783
Object size, MI instructions, ODT could all change between compiler versions. Or even PTF application.
There are two supported methods for tieing source to program object.
The display program (DSPPGM) command:
Type of program . . . . . . . . . . . . . . . . : OPM
Source file . . . . . . . . . . . . . . . . . . : QRPGSRC
Library . . . . . . . . . . . . . . . . . . . : OLSMLSRC
Source member . . . . . . . . . . . . . . . . . : OP510B
Source file change date/time . . . . . . . . . . : 08/07/05 08:45:11
Note for ILE RPG, DSPPGM provides a third screen that lists the modules used and you can 5=Display Description and see:
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
Commercial change control packages make use of the object control level attribute that can be set via API and viewed via API or DSPOBJD DETAIL(*SERVICE)
Object . . . . . . . . . . . . . . . : OP021B
Library . . . . . . . . . . . . . : OLSMLPRG
Library ASP device . . . . . . . . . : *SYSBAS
Library ASP group . . . . . . . . . : *SYSBAS
Type . . . . . . . . . . . . . . . . : *PGM
Object control level . . . . . . . . : 00N0001X
Note that for ILE programs/service programs. The object change control can be set for both the *PGM object and the module objects used. The module level object change control is available via DSPPGM with the module source info.
Upvotes: 1