We have a set of programs that were written a couple years ago. We recently recompiled one and we started getting the error RNQ0907 decimal-data error. There were no changes to the actual code in the program or modules that are bound to it. We restored the object from tape and it works fine, but anytime we compile the program (there are actually several we have experimented with) it stops working with this same error. We even went back and restored a year old source code to make sure there had not been any non-compiled changes in the source that was on the system.
The error only happens the first time a user access that part of the web site. You can go to WRKACTJOB and answer the message on the AS/400 Server instance with a 'C' and then refresh the web page and try it again and it will work fine.
The only thing we can think of is something that changed when we moved from V5R1 to V5R3, but I am not sure what would impact the compile and binding processes.
We then setup a different server instance and copied all the backed up source and objects to a new CGI library. We tested the objects and everything worked fine. We then went through and simply recompiled all the pgms for this web app. Several of the pages work just fine, but several others have this error.
Any help with this is greatly appreciated. We need to make some changes to these programs, but at this point are scared to even compile them.
Software/Hardware used:
ASKED:
February 26, 2008 2:45 PM
UPDATED:
April 7, 2010 9:53 PM
FIXNBR(*ZONED) or FIXNBR(*INPUTPACKED)
That seems to be one excellent possibility. However, if that actually “fixes” the problem, I have to suggest that the problem isn’t fixed — it is merely being handled silently.
At some point, the reason that the values are being handled that way should be determined. Perhaps a parameter definition isn’t quite correct. Perhaps a return value from one of the APIs isn’t defined appropriately. Perhaps a number of possibilities are being masked and one of them will eventually cause some unexpected incorrect action to be taken by the programming.
Tom
Check to see if you have any data structures with packed data that isn’t being initialised before it’s being accessed. I’ve been bit by that more than once.