Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

OPEN-VARIABLE-CONTAINER

&pagelevel(3)&pagelevel

Variablenbehälter öffnen

Komponente:

SDF-P-BASYS

Funktionsbereich:

Prozeduren                                                                                                         

Anwendungsbereich:

PROCEDURE

Privilegierung:

STD-PROCESSING
OPERATING
HARDWARE-MAINTENANCE
SECURITY-ADMINISTRATION
SAT-FILE-MANAGEMENT
SAT-FILE-EVALUATION

Funktionsbeschreibung

Mit dem Kommando OPEN-VARIABLE-CONTAINER werden Variablenbehälter, die als PLAM-Bibliothekselemente abgespeichert sind, geöffnet. Existiert ein solcher Variablenbehälter bzw. ein solches Element beim Aufruf dieses Kommandos noch nicht, wird er bzw. es automatisch erzeugt.

Damit ist es möglich, permanent vorhandene S-Variablen zu erzeugen, d.h. S-Variablen, die in ihrer Existenz nicht von der jeweiligen Task abhängig sind.

Einschränkungen

Ist das kostenpflichtige Subsystem SDF-P nicht verfügbar, bestehen die folgenden Einschränkungen:

  • Als Geltungsbereich kann nur SCOPE=*CURRENT vereinbart werden.

  • Ist AUTOMATIC-DECLARE=*ALL vereinbart, können nur einfache S-Variablen deklariert werden (TYPE=*ANY und MULTIPLE-ELEMENTS=*NO). Andere Deklarationen werden zurückgewiesen. 

Format

OPEN-VARIABLE-CONTAINER                                                                                                                    

 CONTAINER-NAME = <composed-name 1..64>

,FROM-FILE = *LIBRARY-ELEMENT (...)


*LIBRARY-ELEMENT(...)



|

LIBRARY = <filename 1..54 without-vers>



|

,ELEMENT = *CONTAINER-NAME / <composed-name 1..64>(...)



|


<composed-name 1..64>(...)



|



|

VERSION = *HIGHEST-EXISTING / <composed-name 1..24>

,LOCK-ELEMENT = *NO / *YES

,SCOPE = *CURRENT / *PROCEDURE / *TASK(...)


*TASK(...)



|

SAVE-AT-TERMINATION = *NO / *YES

,AUTOMATIC-DECLARE = *ALL / *NONE / <structured-name 1..20 with-wild(40)> /

list-poss(2000): <structured-name 1..20>

Operandenbeschreibung

CONTAINER-NAME = <composed-name 1..64>
Name des Variablenbehälters.

FROM-FILE = *LIBRARY-ELEMENT(...)
Bibliothekselement, das den Variablenbehälter enthält.
Der Datentyp des Elements ist SYSVCONT.

LIBRARY = <filename 1..54 without-vers>
Name der PLAM-Bibliothek.

ELEMENT =
Name des Elements.

ELEMENT = *CONTAINER-NAME
Der Name des Elements ist identisch mit dem des Variablenbehälters.

ELEMENT = <composed-name 1..64>(...)
Der Name des Elements kann sich von dem des Variablenbehälters unterscheiden.

VERSION =
Bezeichnet die Version des Elements.

VERSION = *HIGHEST-EXISTING
Wählt die höchste existierende Version.

VERSION = <composed-name1..24>
Wählt die angegebene Version.

LOCK-ELEMENT =
Gibt an, ob das Element geschlossen ist oder nicht.

LOCK-ELEMENT = *NO
Das Element ist im Input-Modus geöffnet. Die Behälter-Variablen werden von diesem Element in den Variablenbehälter kopiert. Anschließend wird das Element geschlossen.

LOCK-ELEMENT = *YES
Das Element ist im Input- wie im Output-Modus geöffnet. Die Behälter-Variablen werden von diesem Element in den Variablenbehälter kopiert. Anschließend bleibt das Element geöffnet, bis das Kommando CLOSE-VARIABLE-CONTAINER angegeben wird. Nachfolgende Angaben von OPEN-VARIABLE-CONTAINER in derselben oder in anderen Tasks werden abgewiesen.

SCOPE = *CURRENT / *PROCEDURE / *TASK(...)
Definiert den Geltungsbereich des Variablenbehälters. Er kontrolliert den Zugriff zu den im Variablenbehälter enthaltenen Variablen.
Der Geltungsbereich der Behälter-Variablen darf nicht größer sein als der des Variablenbehälters.

SCOPE = *CURRENT
Der Geltungsbereich des Variablenbehälters ist prozedurlokal (siehe dazu „Geltungsbereich von Variablen“ im Handbuch „SDF-P“ [34]).
Der Variablenbehälter kann nur in der lokalen Prozedur und in allen tieferliegenden Include-Prozeduren benutzt werden, nicht aber in der aufrufenden Prozedur. Er wird implizit beim Ende der aktuellen Prozedur geschlossen.

Die Operandenwerte *PROCEDURE und *TASK(...) können nur angegeben werden, wenn das kostenpflichtige Subsystem SDF-P geladen ist. Die Operandenwerte sind im Handbuch „SDF-P“ [34] beschrieben.

AUTOMATIC-DECLARE =
Gibt an, ob die Behälter-Variablen automatisch deklariert werden sollen.

AUTOMATIC-DECLARE = *ALL
Die Behälter-Variablen werden automatisch mit dem Geltungsbereich des Variablenbehälters deklariert.

AUTOMATIC-DECLARE = *NONE
Behälter-Variablen werden nicht automatisch deklariert.

AUTOMATIC-DECLARE = list-poss(2000): <structured-name 1..20>
Die angegebenen Behälter-Variablen werden automatisch mit dem Geltungsbereich des Variablenbehälters deklariert .

AUTOMATIC-DECLARE = <structured-name 1..20 with-wild(40)>
Die Behälter-Variablen, deren Name der angegebenen Musterzeichenfolge entspricht, werden automatisch mit dem Geltungsbereich des Variablenbehälters deklariert. 


Hinweise

  • Variablen in einem Variablenbehälter können mit dem Kommando DECLARE-VARIABLE und dem darin enthaltenen Operanden CONTAINER erzeugt werden.

  • Eine Bezugnahme auf einen Variablenbehälter ist erst erlaubt, wenn er mit OPEN-VARIABLE-CONTAINER erzeugt wurde.

  • Wenn Variablen mit OPEN-VARIABLE-CONTAINER automatisch erzeugt werden und die Variable mit anderen Attributen schon existiert, wird die Deklaration abgewiesen und die Fehlermeldung SDP1018 zur Warnung zurückgegeben. Der Prozess des Öffnens wird allerdings fortgesetzt.
    Der Benutzer kann die zurückgewiesene Variable mit dem S-Variablenstrom SYSMSG abfragen.

  • Enthält der Variablenbehälter Variablen, die nicht mit SDF-P-BASYS verarbeitet werden können, und sollen diese mit AUTOMATIC-DECLARE erzeugt werden, werden diese Deklarationen zurückgewiesen.

Kommando-Returncode

(SC2)

SC1

Maincode

Bedeutung / garantierte Meldungen


0

CMD0001

Ohne Fehler

2

0

SDP00xx

Warnung: Variable existiert nicht oder ist bereits mit anderen Attributen deklariert
garantierte Meldungen: SDP1008, SDP1018


1

CMD0202

Syntaxfehler


3

CMD2203

Falsche Syntaxdatei


32

CMD0221

Systemfehler (interner Fehler)


64

CMD0216

Erforderliches Privileg fehlt


64

SDP0091

Semantikfehler


130

SDP0099

Kein Adressraum mehr verfügbar

Beispiel

Siehe Kommando DECLARE-VARIABLE.