Can anyone tell me where I can fird the reason that the 'program last change date' is updated in an SQLRPGLE program when it is run? It showed up on an audit and the auditors say it is unacceptable. I am looking for proof that this the way it is from some kind of official source, or a way to compile the programs so this does not happen. Our other option is to rewrite all of our sqlrpgle programs
Software/Hardware used:
I-series, SQLRPFLE
ASKED:
October 2, 2009 7:21 PM
UPDATED:
October 7, 2009 11:32 PM
Yes the Change date/time field is changing.
As far as we can tell it is changing when it is run. It seems to be only occuriring in programs in which the embedded SQL statements are actually updating a file
That may unfortunately be the reason. We had a similiar experience with an auditor where a program was “updated” because of a QMQRY statement inserting the new date daily.
I am not sure how the Change date/time will change whenever the progam is called. The last used date is used for that information.
How is this program called ?
I am not sure how the
Ok, found some info on IBM’s site
The following options cause the Change Date/Time field on the DSPOBJD display to be updated:
- CHGOBJAUD
- CHGOBJD
- CHGOBJOWN
- CHGOBJPGP
- EDTOBJAUT (when authority to *PUBLIC is changed)
- GRTOBJAUT (when authority to *PUBLIC is changed)
- MOVOBJ
- RNMOBJ
- Restore operations
The following options are specific to *LIB objects and cause the Change Date/Time field on the DSPOBJD display to be updated:
- Re-creating an object into the library
- Renaming an object in the library
- Moving an object from/to the library
- Deleting an object in the library
- Changing the library with the CHGOBJD, CHGLIB, CHGOBJAUD, CHGOBJOWN, CHGOBJPGP cmds
The following options are specific to *PGM objects and cause the Change Date/Time field on the DSPOBJD display to be updated:
- Compressing or decompressing a *PGM object with the CPROBJ or DCPOBJ commands.
- Using CHGPGM , except when message CPC0541- No change required is received.
- Using UPDPGM . This is applicable only to ILE programs.
Also refer to SUG APAR SE18894 for additional information.
So, you may need to change your process accordingly…
We think it is because the SQL has some dynamic elements that are changed as it is run. They are called from CL programs, so we are going to try copying thme to qtemp and then running them from there so the object in the production library will not change