, BINARY, PACKED-DECIMAL
, COMPUTATIONAL-3
, COMPUTATIONAL-4
, or COMPUTATIONAL-5
must be declared with a PICTURE character-string that describes a numeric item (i.e. a PICTURE character-string that contains only the symbols "P", "S", "V", and "9"). See the topic The PICTURE Clause.
An elementary data item whose declaration contains no USAGE clause and that is subordinate to a group item whose declaration contains a USAGE clause specifying a format from the list may be declared with a PICTURE character-string that describes an alphabetic, alphanumeric, alphanumeric-edited or numeric-edited data item.
or COMPUTATIONAL-X
must be declared with a picture character-string that describes a numeric item
or describes an alphanumeric item with a size of between one and sixteen bytes inclusive. If it describes an alphanumeric item of size 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, or 16 bytes, then this is equivalent to specifying an integer item with 2, 4, 7, 9, 12, 14, 16, 18, 19, 21, 24, 26, 28, 31, 33, 36 or 38 decimal digit positions respectively
.
The PICTURE character-string can contain up to 18 digit positions by default or if you set INTLEVEL"2", and up to 38 digit positions if you set INTLEVEL"4".
When COMPUTATIONAL-X is specified and the PICTURE character-string describes a numeric item, then that item must be unsigned.
The SYNCHRONIZED clause can be specified for data items whose usage is INDEX.
COMP-1 is an abbreviation for COMPUTATIONAL-1.
COMP-2 is an abbreviation for COMPUTATIONAL-2.
COMP-3 is an abbreviation for COMPUTATIONAL-3.
COMP-4 is an abbreviation for COMPUTATIONAL-4.
COMP-5 is an abbreviation for COMPUTATIONAL-5.
COMP-X is an abbreviation for COMPUTATIONAL-X.
the USING statement of an ENTRY statement,
an intrinsic function argument
the USING phrase of an INVOKE statement, an inline method invocation argument
an INITIALIZE statement
or the USING phrase of a CALL statement.
or procedure-pointer
item can be referenced explicitly only in a SET statement, a relation condition, a CALL statement, the USING phrase of a Procedure Division, the USING statement of an ENTRY statement
an INVOKE statement, the argument list of an inline invocation of a method, the argument list of a function,
OBJECT,
POINTER,
or PROCEDURE-POINTER
EVENT-POINTER, MONITOR-POINTER, MUTEX-POINTER, PROCEDURE-POINTER, SEMAPHORE-POINTER or THREAD-POINTER
clause must not be a conditional variable.
The USAGE OBJECT REFERENCE clause can be specified in the File Section.
When a directive setting of NATIONAL"1" is in effect, an elementary data item whose description contains a USAGE NATIONAL clause, or an elementary data item subordinate to a group item whose description contains a USAGE NATIONAL clause, must be declared with a picture character-string that describes a national item.
When a directive setting of NATIONAL"2" is in effect, an elementary data item whose description contains a USAGE NATIONAL clause, or an elementary data item subordinate to a group item whose description contains a USAGE NATIONAL clause, must be declared with a picture character-string that describes a national, national edited, numeric, numeric edited, or external floating point item.
This restriction is not enforced.
This restriction is not enforced.
When a directive setting of NATIONAL"1" is in effect, the NATIONAL phrase can only be specified in a USAGE clause associated with an elementary data item whose explicit or implicit picture character-string contains the symbol 'N'.
When a directive setting of NATIONAL"2" is in effect, the NATIONAL phrase can also be specified for picture character strings containing the symbol '9', although a signed numeric data item must be described with the SIGN IS SEPARATE clause.
except when there is a PICTURE clause and the data item described is non-numeric
This clause is equivalent to specifying USAGE IS COMPUTATIONAL-3.
or pointer,
or procedure-pointer
data item is executed, no conversion of the index,
or pointer
or procedure-pointer
data item takes place.
USAGE | Equivalent PICTURE character-string |
---|---|
BINARY-CHAR | [S]9(2) |
BINARY-SHORT | [S]9(4) |
BINARY-LONG | [S]9(9) |
BINARY-DOUBLE | [S] 9(18) |