Preprocessor references and expressions are written and evaluated the same way as PL/I references and expressions are, with
the following restrictions:
- Operands of a preprocessor expression can consist only of preprocessor variables, references to preprocessor procedures, fixed
decimal constants, bit constants, character constants, and references to preprocessor built-in functions. Strings or character
constants are limited in size to 1023 characters.
- The exponent symbol (**) cannot be used. When found, it is converted to a plus symbol (+) and a warning message is issued.
- For arithmetic operations, only decimal arithmetic of precision (5.0) is performed; that is, each operand is converted to
a decimal fixed-point integer value of precision (5,0) before the operation is performed, and the decimal fixed-point result
is converted to precision (5,0). When the value of an operand or a result of an operation exceeds 99999 (the limit of precision
(5,0)) that value is set to zero.
- The concatenation of strings is limited to 2047 characters.