The PROCEDURE-POINTER format holds a value that represents the memory address of an available procedure. If the procedure becomes unavailable (for example, because it is in a program that has been canceled) then the PROCEDURE-POINTER format is considered to hold a value that is incompatible with the format.
The default amount of storage allocated for the PROCEDURE-POINTER format may vary depending on the operating environment but is at least four bytes. If a mainframe dialect or P64 directive is specified, then eight bytes of storage are allocated. The method of representation of the memory address varies between environments and is in general consistent with the representation used in non-COBOL languages.
When the IBMCOMP system directive is on, padding bytes can be generated before a procedure-pointer data item with a SYNC clause; these bytes are not part of the data item and are never affected by data stored in the item.