Funktion
Mit der EXTERNAL-Klausel kann eine XML-organisierte Datei als extern definiert werden. Auf externe XML-Dateien kann von jedem Programm, in dem sie beschrieben sind, zugegriffen werden.
Format
IS EXTERNAL
Syntaxregeln
Namen von externen Dateien dürfen maximal 30 Zeichen lang sein.
Die EXTERNAL-Klausel darf nicht für XML-organisierte Dateien angegeben werden, die in ihrer SELECT-Klausel die DATA- oder LENGTH-Angabe machen.
Allgemeine Regeln
Wenn eine Datei als extern definiert ist, sind die Datensätze dieser Datei implizit ebenfalls extern.
Als Namen für externe Dateien dürfen nicht verwendet werden:
Externe Datensatznamen aus der WORKING-STORAGE SECTION von anderen Übersetzungseinheiten in der Ablaufeinheit,
PROGRAM-ID-Namen der Ablaufeinheit, ausgenommen Programmnamen von inneren Programmen eines geschachtelten Programms,
Namen, die in einer ENTRY-Anweisung als Einsprungpunkte verwendet werden,
Namen, die eine Schnittstelle benennen (z.B. Laufzeitsystem-Namen).
Die FILE STATUS-Klausel wirkt für externe Dateien stets programmlokal, d.h. der Dateizustand wird nur von Eingabeoperationen in dem Programm versorgt, das eine entsprechende Angabe in der Dateibeschreibung enthält.
Eine externe XML-organisierte Datei muss in allen Übersetzungseinheiten, die auf sie zugreifen wollen, weitgehend gleich beschrieben sein. Die folgende Tabelle zeigt Art und Umfang der notwendigen Übereinstimmung.
Klausel/Angabe In allen Programmen Name der externen Datei gleich in voller Länge (30 Zeichen) ORGANIZATION-Klausel XML ACCESS MODE-Klausel XML Satzbeschreibungen in der FD identisch, auch die Reihenfolge der Satzbeschreibungen. Überprüft wird jedoch nur die Übereinstim-mung der hierarchischen Struktur der IDENTIFIED-Angaben und der COUNT-Angaben in den Satzbeschreibungen, sowie die Übereinstimmung der Angaben ATTRIBUTE bzw. ELEMENT, BY bzw. USING in IDENTIFIED und IS bzw. USING in NAMESPACE. In der IDENTIFIED-Klausel unter USING sowie BY bzw. IS angegebene Datenfelder, die nicht in einer Satzbeschreibung der FD enthalten sind, wirken für externe Dateien stets programmlokal, d.h. sie werden nur in dem Programm versorgt bzw. herangezogen, das die Eingabeoperation ausführt.
Ist eine Datei als extern definiert, so ist der zugehörige Dateiname nicht implizit ein globaler Name.