Statement in Error . . . . . . . . . . : 00010500
Open your source and go to that line (105.00 in the example above). In my source, the line is....
0105.00 C Eval test1 = test1 / test2
Back at the dump, I search for TEST. I see the following lines....
TEST2 ZONED(4,0) . '40404040'X TEST3 CHAR(4) ' ' '40404040'X and TEST1 INT(10) 1 '00000001'X Searching in my source, I find the problem.... 0088.00 D DS 0089.00 D test2 1 4S 0 0090.00 D test3 1 4 Inz(*Blank)
I have been so silly! I have defined a blank field over the top of a numeric field.
Now, I am not usually so silly. But a decimal data error can come from such a thing, or from a failed record read where the record is defined in an uninitialized externally-described data structure, or by invalid data from a passed parameter -- there are several ways of getting bad numeric data. Now you know how to examine your dump along with the source, you should be able to work out the problem and find a solution.
MORE INFORMATION ON THIS TOPIC
The Best Web Links: tips, tutorials and more.
Visit the ITKnowledge Exchange and get answers to your developing questions fast.
Ask the Experts yourself: Our application development gurus are waiting to answer your programming questions.
Dig Deeper on RPG iSeries programming
Related Q&A from John Blenkinsop
When an error occurs on an IBM command, the diagnostic messages are sent first, then an escape message, which you can monitor. On AS/400 you see the ... Continue Reading
Learn how to 'append data to the file' with the FTP DIR command, and eliminate the hassle of having to end the FTP session and restart to view ... Continue Reading
RPGIV will 'think of' incoming integer fields as binary, and then will redefine them in the program structures as PACKED. So, when you chain a record... Continue Reading