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.