Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

CLOSE DOCUMENT

&pagelevel(5)&pagelevel

Die Funktionsweise hängt von der letzten OPEN DOCUMENT-Anweisung der Datei ab, für die es noch keine CLOSE DOCUMENT-Anweisung gegeben hat:

  • Wenn die letzte OPEN DOCUMENT-Anweisung keine STACK-Angabe hatte, werden alle Einträge im EPV auf ungültig gesetzt, die interne Baumdarstellung des Dokuments wird entsorgt, und der dafür verwendete Arbeitsspeicher wird freigegeben

  • Wenn die letzte OPEN DOCUMENT-Anweisung eine STACK-Angabe hatte, wird der EPV in den Zustand zurückversetzt, den er vor der Ausführung dieser OPEN-Anweisung hatte.

  • CLOSE DOCUMENT modifiziert nur den EPV, lässt Daten aber unverändert.

Eine CLOSE DOCUMENT-Anweisung muss nicht explizit gegeben werden: Wenn sie fehlt, wird sie implizit durch eine CLOSE-Anweisung oder eine OPEN DOCUMENT-Anweisung ohne STACK-Angabe angestoßen (jeweils für die gleiche Datei).

Beispiel 12-41 CLOSE DOCUMENT und OPEN DOCUMENT mit STACK

XML-Dokument

Pos

COBOL-Datenstruktur

OPEN
DOCUMENT
xml-fil

OPEN
DOCUMENT
xml-fil
AT y
STACK

CLOSE
DOCUMENT

CLOSE
DOCUMENT

<a>

<d>ddd</d>

<b>22

<c>level3</c>

</b>

<c>level2</c>

</a>

1

2

3

4

6

FD xml-fil

01 x IDENTIFIED BY "a".

  02 y IDENTIFIED BY "b".

   03 ...
01 z IDENTIFIED BY "b".

  02 u IDENTIFIED BY "c".

   03 ...


1(o)

3(o)


inv

inv


inv

inv


3(o)

4(o)


1(o)

3(o)


inv

inv


inv

inv


inv

inv

Anmerkungen

  • Hinweise zur Darstellung dieses Beispiels finden Sie auf "Anweisungen für die XML-Verarbeitung".

  • Die STACK-Angabe bei der OPEN DOCUMENT-Anweisung hat unmittelbar keine Auswirkung auf den aktuellen Inhalt des EPV nach dieser Anweisung (vgl. Beispiel "OPEN DOCUMENT").

  • Die erste CLOSE DOCUMENT-Anweisung stellt den EPV mit dem Zustand vor der zu-gehörigen (zweiten) OPEN DOCUMENT-Anweisung wieder her, weil dort die STACK-Angabe gemacht wurde.

  • Die zur zweiten CLOSE DOCUMENT-Anweisung gehörige (erste) OPEN DOCUMENT-Anweisung hatte keine STACK-Angabe. Daher werden alle EPV-Einträge auf 'ungültig' gesetzt.