Die PROGRAM-POINTER-Angabe in der USAGE-Klausel dient dazu, Daten der Kategorie programzeiger zu definieren.
Syntaxregeln
Die USAGE PROGRAM-POINTER-Klausel sollte nur auf Stufe 01 angegeben werden. Abweichungen davon werden als Erweiterung zugelassen.
Die USAGE PROGRAM-POINTER-Klausel darf in Definitionen nicht auf Gruppenebene angegeben werden.
Die USAGE PROGRAM-POINTER-Klausel darf nicht in der File Section angegeben werden.
Die USAGE PROGRAM-POINTER-Klausel darf nicht in Strukturen angegeben werden, in denen auf Stufe 01 die EXTERNAL- oder DYNAMIC-Klausel verwendet wird.
Für Datenfelder, die mit einer USAGE PROGRAM-POINTER-Klausel definiert sind, darf keine VALUE-Klausel angegeben werden.
Datenfelder, für die eine USAGE PROGRAM-POINTER-Klausel gilt, dürfen weder eine REDEFINES-Klausel haben, noch darf direkt von solch einer Klausel auf sie Bezug genommen werden. Außerdem dürfen solche Datenfelder auch nicht indirekt in einer redefinierten oder redefinierenden Struktur enthalten sein.
Datenfelder und Strukturen, für die eine USAGE PROGRAM-POINTER-Klausel gilt, dürfen nicht mit einem anderen Namen benannt werden (RENAMES-Klausel).
Für Gruppen, die Datenfelder mit einer USAGE PROGRAM-POINTER-Klausel definiert haben, darf auf Gruppenebene keine VALUE-Klausel angegeben werden.
Für Datenfelder mit einer USAGE PROGRAM-POINTER-Klausel, darf kein Bedingungsname (Stufennummer 88) angegeben werden.
Das in der KEY-Angabe einer OCCURS-Klausel angegebene Datenfeld darf nicht mit einer USAGE PROGRAM-POINTER-Klausel definiert sein.
Allgemeine Regel
Ein mit der USAGE PROGRAM-POINTER-Klausel beschriebenes Datenfeld ist 4 Byte langes ein Datenfeld der Kategorie programmzeiger, das die Adresse eines Programms enthalten kann. Der angenommene Anfangswert entspricht NULL.