ARITH affects the maximum number of digits that you can
code for integers, and the number of digits used in fixed-point
intermediate results.

ARITH option syntax
.-COMPAT-.
>>-ARITH(-+-EXTEND-+-)-----------------------------------------><
Default is: ARITH(COMPAT)
Abbreviations are: AR(C), AR(E)
When you specify ARITH(EXTEND):
- The maximum number of digit positions that you can specify in
the PICTURE clause for packed-decimal,
external-decimal, and numeric-edited data items is
raised from 18 to 31.
- The maximum number of digits that you can specify in a
fixed-point numeric literal is raised from 18 to 31.
You can use
numeric literals with large precision anywhere that numeric
literals are currently allowed, including:
- Operands of PROCEDURE DIVISION statements
- VALUE clauses (for numeric data items with large-precision
PICTURE)
- Condition-name values (on numeric data items with
large-precision PICTURE)
- The maximum number of digits that you can specify in the
arguments to NUMVAL and
NUMVAL-C is raised from 18 to 31.
- The maximum value of the integer argument to the
FACTORIAL function is 29.
- Intermediate results in arithmetic statements use extended mode.
When you specify ARITH(COMPAT):
- The maximum number of digit positions in the
PICTURE clause for packed-decimal,
external-decimal, and numeric-edited data items is
18.
- The maximum number of digits in a fixed-point numeric literal
is 18.
- The maximum number of digits in the arguments to
NUMVAL and NUMVAL-C is 18.
- The maximum value of the integer argument to the
FACTORIAL function is 28.
- Intermediate results in arithmetic statements use
compatibility mode.