ARITH

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

ARITH option syntax

Read syntax diagramSkip visual syntax diagramARITH(COMPATEXTENDFULL)

Default is: ARITH(COMPAT)

Abbreviations are: AR(C | E | F)

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, NUMVAL-C and 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, NUMVAL-C and is 18.
  • The maximum value of the integer argument to the FACTORIAL function is 28.
  • Intermediate results in arithmetic statements use compatibility mode.
1.2.0.2+

With the fix pack for APAR PH58656 installed, ARITH(FULL) is also available. ARITH(FULL) is the same as ARITH(EXTEND) except for the number of decimal digits preserved in intermediate results. More details are available in the links under the below RELATED CONCEPTS section.