The effect of specifying HOSTARITHMETIC is as follows:
If the result of an arithmetic operation (ADD, SUBTRACT, MULTIPLY, DIVIDE, COMPUTE) with no ON SIZE ERROR clause exceeds the maximum value that the target item can hold, decimal truncation will be performed on the result, provided that:
The target item is a decimal type, that is DISPLAY, COMP-3 or COMP-6
None of the source items are floating-point items
No exponentiation or intrinsic functions are used in the calculation
Neither the composite of operands nor any intermediate result has more than 31 decimal digits
If the result of an arithmetic operation (ADD, SUBTRACT, MULTIPLY, DIVIDE, COMPUTE) with an ON SIZE ERROR clause exceeds the maximum value that the target item can hold, the ON SIZE ERROR clause will be executed as normal, and the value of the target item will not be altered.
If you specify this directive in a $SET statement it will affect the run-time behavior of the whole program regardless of where it is placed.
Note:
This directive can adversely affect the performance of generated code.
Comments:
The effect of specifying HOSTARITHMETIC is as follows:
If you specify this directive in a $SET statement it will affect the run-time behavior of the whole program regardless of where it is placed.
This directive can adversely affect the performance of generated code.