We are utilizing both RPGIII and RPGIV and I have found that once in awhile when I pass parms from IV to III (a commonly called date conversion program), I have problems with the numeric data types. The RPGIII program's parms are packed by default. Typically, we do not specify the data type on our field definitions because the default takes care of it, but I didn't specify the data type in the RPGIV program & it appears to have defaulted zoned... this isn't the case every time... and therefore when it passed from the RPGIII to the RPGIV it came up with a decimal data error.
1. Has anyone else had this problem?
2. What causes this?
3. Why does it do this randomly?
2. LE Passes parameters as pointers
3. Depending on the binding, the parameters could be defined as packed or zoned.
Compile your RPGLE with the following parameter: