Today one of my programs crashed with an error referencing to the QRNXUTIL program.
I have made a minor change in the source ( removing some statements ).
Compiled it and after testing it was put into production.
Test is done on one machine and production on another.
Then I was called. The job was in MSGW.
The message told me that the RPG program referenced to entries in QRNXUTIL that didn't exist.
What????
Long history short.
I found out that there were put some PTFs on the test machine so the RPG compiler and RPG runtime was
upgraded to TR8. This was not done yet on the production machine. But there were 8 more entries in QRNXUTIL
on the test machine than on the production machine. One of the entries referred to TIMESTAMP which has been
changed in TR8 ( %timestamp() ).
And %timestamp() was used in the program.....
So the RPG compiler V7R3M0 TR8 is not backwards compatiple with V7R3M0 TR6 ( and perhaps TR7 ).
The quick fix was to compile the program to target release V7R3M2.
This solved the problem.
So you have to be alert to this situation.
I have made a minor change in the source ( removing some statements ).
Compiled it and after testing it was put into production.
Test is done on one machine and production on another.
Then I was called. The job was in MSGW.
The message told me that the RPG program referenced to entries in QRNXUTIL that didn't exist.
What????
Long history short.
I found out that there were put some PTFs on the test machine so the RPG compiler and RPG runtime was
upgraded to TR8. This was not done yet on the production machine. But there were 8 more entries in QRNXUTIL
on the test machine than on the production machine. One of the entries referred to TIMESTAMP which has been
changed in TR8 ( %timestamp() ).
And %timestamp() was used in the program.....
So the RPG compiler V7R3M0 TR8 is not backwards compatiple with V7R3M0 TR6 ( and perhaps TR7 ).
The quick fix was to compile the program to target release V7R3M2.
This solved the problem.
So you have to be alert to this situation.
Comment