Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

EXTERNAL-Klausel

&pagelevel(4)&pagelevel

Funktion

Mit der EXTERNAL-Klausel kann ein Datensatz als extern definiert werden. Auf externe Datensätze kann von jedem Programm, in dem der Datensatz beschrieben ist, zugegriffen werden.

Format für Datenerklärungen


IS EXTERNAL


Syntaxregeln

  1. Die EXTERNAL-Klausel darf nur in der Datensatzbeschreibung der WORKING-STORAGE SECTION stehen.

  2. Im selben Programm darf ein als extern definierter Datenname nicht noch einmal definiert werden.

  3. Die EXTERNAL-Klausel darf sich nur auf eine Datenbeschreibung der Stufennummer 01 beziehen.

  4. Namen von externen Datensätzen dürfen maximal 30 Zeichen lang sein.

  5. Als Namen für externe Datensätze dürfen nicht verwendet werden:

    • Namen von externen Dateien aus anderen Übersetzungseinheiten in der Ablaufeinheit

    • PROGRAM-ID-Namen der Ablaufeinheit, ausgenommen Namen von inneren Programmen eines geschachtelten Programms,

    • Namen, die in der ENTRY-Anweisung als Einsprungpunkte verwendet werden,

    • Namen, die eine Schnittstelle benennen (LZS-Namen u.a.)

  6. Die EXTERNAL-Klausel und die REDEFINES-Klausel dürfen nicht in ein und derselben Datenbeschreibung verwendet werden.

  7. Die EXTERNAL-Klausel und die TYPEDEF-Klausel dürfen nicht in ein und derselben Datenbeschreibung verwendet werden.

  8. Die EXTERNAL-Klausel darf nicht für ein Datenfeld der Klassen objekt, zeiger oder stark typisiert angegeben werden.

Allgemeine Regeln

  1. Ein externer Datensatz, der in mehreren Programmen einer Ablaufeinheit beschrieben ist, muss in diesen Programmen den gleichen Namen haben und auch in der Länge gleich sein. Der Compiler lässt auch unterschiedliche Längendefinitionen zu; davon sollte bei Verwendung von CALL bezeichner allerdings nicht Gebrauch gemacht werden.

  2. Ist ein Datensatz als extern definiert, so ist der zugehörige Datenname nicht implizit ein globaler Name.

  3. VALUE-Klauseln, die in einer Datenbeschreibung angegeben werden, die einer Datenbeschreibung mit EXTERNAL-Klausel zu- oder untergeordnet ist, haben nur bei der Ausführung einer INITIALIZE-Anweisung eine Bedeutung.
    Sind einem externen Datensatz, der in mehreren Programmen einer Ablaufeinheit beschrieben ist, in mehr als einem Programm VALUE-Klauseln zu- oder untergeordnet, dann müssen diese VALUE-Klauseln identisch sein. Der Compiler lässt auch unterschiedliche VALUE-Klauseln zu.

Zusatzregeln, abhängig vom Modulformat

Wird das Format *OMF generiert (siehe Handbuch „COBOL2000 Benutzerhandbuch“ [1]), dann gilt für Namen eines externen Datensatzes:

  1. Das achte Zeichen darf kein Bindestrich sein.

  2. Es werden nur die ersten 8 Zeichen des Namens zur Identifizierung verwendet. Deshalb sollten diese Zeichen eindeutig sein für jeden externen Namen in der Ablaufeinheit.