However, under NOCMPR2, SIZE ERROR applies only to final results. In the
MULTIPLY example, SIZE ERROR cannot occur when the 36-digit (immediate) result
is moved into the 30-digit (or 31-digit) (intermediate) result. Consequently,
the MULTIPLY and COMPUTE statements become equivalent in this regard. This
behavior also applies to the DIVIDE statement.
Such statements will now be flagged by the following compiler message:
- IGYPG3113-W
- Truncation of high-order digit positions can occur due to precision of
intermediate results exceeding 30-digits.
If, at run time, truncation actually does occur, the following message
will appear:
- IGZ0036W
- Truncation of high order digit positions occurred in program "program-name"
on line number "n".