Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Regeln für Programmnamen

&pagelevel(4)&pagelevel

Der Aufruf eines Programms erfolgt über den Namen des Programms, der im PROGRAM-ID-Paragrafen der IDENTIFICATION DIVISION vereinbart wurde.

Für die Programmnamen gelten folgende grundsätzliche Regeln:

  1. Auf einen Programmnamen dürfen sich nur die CALL-Anweisung, die CANCEL-Anweisung und der END PROGRAM-Eintrag beziehen.

  2. Alle getrennt übersetzten Programme einer Ablaufeinheit müssen unterschiedliche Programmnamen haben.

  3. Alle Programme eines geschachtelten Programms müssen unterschiedliche Programmnamen haben.

  4. Die inneren Programme eines geschachtelten Programms sind für alle getrennt übersetzten Programme einer Ablaufeinheit nicht „sichtbar“; d.h. ein getrennt übersetztes Programm kann kein inneres Programm eines anderen getrennt übersetzten Programms aufrufen.

  5. Die inneren Programme eines geschachtelten Programms können namensgleich mit den getrennt übersetzten Programmen der Ablaufeinheit sein. Das für diesen Fall vorgesehene Verfahren zur Bestimmung des gültigen Programmnamens ist im nächsten Abschnitt („Auswahl des gültigen Programmnamens“) dargestellt.

  6. Innerhalb eines geschachtelten Programms kann ein Programm im Standardfall nur ein Programm aufrufen, das direkt in ihm enthalten ist.

  7. Die Aufrufmöglichkeiten in einem geschachtelten Programm lassen sich gegenüber dem Standardfall erweitern, wenn einem inneren Programm mit der COMMON-Klausel im PROGRAM-ID-Paragrafen das COMMON-Attribut verliehen wird.
    Ein Programm, das mit dem Attribut COMMON versehen ist, kann nicht nur von dem direkt übergeordneten Programm aufgerufen werden, sondern auch von jedem „Geschwisterprogramm“ und dessen „Abkömmlingen“ (siehe „COMMON-Klausel“, "PROGRAM-ID-Paragraf ").

Auswahl des gültigen Programmnamens

Wird ein Programm in einem geschachtelten Programm aufgerufen, so wird der jeweils gültige Programmname aus der Menge aller in der Ablaufeinheit vorhandenen Programmnamen nach folgenden Präzedenzregeln ausgewählt:

  1. Der Aufruf gilt dem Namen eines Programms, das direkt in dem aufrufenden Programm enthalten ist.

  2. Wenn 1. nicht zutrifft, gilt der Aufruf einem COMMON-Programm, d.h. einem Programm, das von seinen „Geschwisterprogrammen“ und deren „Abkömmlingen“ aufgerufen werden kann.

  3. Wenn weder 1. noch 2. zutrifft, gilt der Aufruf einem getrennt übersetzten Programm der Ablaufeinheit.

Beispiel 12-3

Dieses Beispiel zeigt die Auswahl des jeweils gültigen Programmnamens.

Eine CALL-Anweisung auf ein Programm „A-PROG“ innerhalb dieses geschachtelten Programms wäre unzulässig, da dieser Aufruf einem weiteren getrennt übersetzten Programm namens „A-PROG“ gelten würde, das in der Ablaufeinheit nicht vorhanden sein darf.