The USAGE clause specifies the format of a data item in the computer storage.
, 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 eight bytes inclusive. If it
describes an alphanumeric item of size 1, 2, 3, 4, 5, 6, 7, or 8 bytes, then
this is equivalent to specifying an integer item with 2, 4, 7, 9, 12, 14, 16 or
18 decimal digit positions respectively
.
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.
Note: Whether the object reference still references an active object depends on the application logic.
This restriction is not enforced.
This restriction is not enforced.
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.
Note: A monitor is typically used to protect a data structure that
different threads might want to read from or read from and write to.
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) |