Usage Rules
- The USAGE IS PROCEDURE-POINTER clause cannot be written at level-88.
- In a group item described with the USAGE IS PROCEDURE-POINTER clause, the elementary items within the group are procedure-pointer data items (the group itself is not a procedure-pointer).
- The USAGE clause of an elementary item cannot contradict the USAGE clause of a group to which the item belongs.
- Procedure-pointer data items can be part of a group that is referred to in a MOVE statement, or an input/output statement. However, there is no conversion of values when the statement is executed.
- A procedure-pointer data item can be written to a file, but if you later read the same record containing the procedure-pointer, the item will no longer represent a valid address.
- GLOBAL, EXTERNAL, OCCURS, SYNCHRONIZED, and LIKE clauses may be used with USAGE IS PROCEDURE-POINTER.
- A procedure-pointer may be the subject or object of a REDEFINES clause.
- A VALUE clause for a procedure-pointer data item can contain only NULL or NULLS.
- JUSTIFIED, PICTURE, TYPE, BLANK WHEN ZERO, and FORMAT clauses cannot describe group or elementary items defined with the USAGE IS PROCEDURE-POINTER clause.
- A procedure-pointer data item cannot be a conditional variable, does not belong to any class or category, and is ignored in CORRESPONDING operations.