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-LIBRARY Bibliothek eröffnen

&pagelevel(4)&pagelevel

Mit OPEN-LIBRARY wird eine globale Bibliothek festgelegt und eröffnet. Diese wird in den anderen Anweisungen mit LIBRARY = *STD angesprochen.

Werden in einer Anweisung zwei Bibliotheken benötigt, so muss die zweite Bibliothek bei der Anweisung explizit oder über Dateikettungsnamen angegeben werden.

Globale Bibliotheken bleiben solange geöffnet, bis sie explizit durch die CLOSE-LIBRARY-Anweisung geschlossen werden oder eine neue OPEN-LIBRARY-Anweisung gegeben wird.

Globale Bibliotheken werden standardmäßig nur zum Lesen eröffnet. Sollen sie zum Lesen und Schreiben eröffnet werden, muss der Operand MODE=*UPDATE gesetzt werden.

Wird eine Bibliothek neu eingerichtet, muss sie mit MODE=*UPDATE erzeugt werden.

OPEN-LIBRARY

LIBRARY = <filename 1..54 without-vers> / *LINK(...)


*LINK(...)



|

LINK-NAME = <structured-name 1..8>

,MODE = *READ / *UPDATE(...)


*UPDATE(...)



|

STATE = *ANY / *OLD / *NEW

,DEFAULTS = *UNCHANGED / *PARAMETERS (...)


*PARAMETERS(...)



|

TYPE = *UNCHANGED / *NONE / <alphanum-name 1..8>

,SNAPSET = *NONE / *LATEST / <name 1..1 with-low> / <integer -52..-1>

LIBRARY = <filename 1..54 without-vers>
Die Bibliothek mit dem hier angegebenen Namen wird als globale Bibliothek eingerichtet und eröffnet.

LIBRARY = *LINK(...)
Die über den Dateikettungsnamen zugewiesene Bibliothek wird als globale Bibliothek eingerichtet und eröffnet.

LINK-NAME = <structured-name 1..8>
Dateikettungsname der Bibliothek, der vor dem Aufruf von LMS mit einem /ADD-FILE-LINK-Kommando vereinbart wurde.

MODE = *READ / *UPDATE(...)

Öffnungsmodus der Bibliothek.

MODE = *READ
Die Bibliothek wird nur zum Lesen eröffnet. Sie muss bereits existieren.

MODE = *UPDATE(...)
Die Bibliothek wird zum Lesen und Schreiben eröffnet.

STATE = *ANY / *OLD/ *NEW
Status der zu eröffnenden Bibliothek.

STATE = *ANY
Die Bibliothek kann existieren. Existiert sie nicht, so wird sie neu angelegt.

STATE = *OLD
Die Bibliothek muss existieren.

STATE = *NEW
Die Bibliothek darf nicht existieren. Sie wird neu angelegt.

DEFAULTS = *UNCHANGED / *PARAMETERS(...)
Bibliotheksspezifische Defaultwerte für einen LMS-Lauf.

TYPE = *UNCHANGED
Keine Änderung bezüglich des bibliotheksspezifischen Defaulttyps. Standardmäßig wird der Bibliothek kein Defaulttyp zugewiesen.

TYPE = *NONE
Der Bibliothek wird kein bibliotheksspezifischer Defaulttyp zugewiesen, bzw. ein zugewiesener bibliotheksspezifischer Defaulttyp wird zurückgenommen.

TYPE = <alphanum-name 1..8>
Name des bibliotheksspezifischen Defaulttyps. Dieser ersetzt bei allen Anweisungen, die diese Bibliothek betreffen, die Typangabe *LMS-DEFAULT.

SNAPSET = *NONE / *LATEST / <name 1..1 with-low> / <integer -52..-1>

Der Operand ermöglicht das Eröffnen einer Bibliothek aus einem Snapset.

Die Angabe eines Snapset ist nur in Verbindung mit MODE=*READ (Default) erlaubt. Bibliotheken auf Snapsets können in den LMS-Anweisungen nur über LIBRARY=*STD angesprochen werden. Andere LIBRARY-Angaben beziehen sich immer auf das Originalpubset. (Beispiel siehe unten)

Beim Eröffnen einer Snapset-Bibliothek muss auf dem Originalpubset zur Ermittlung diverser Attribute eine Bibliothek gleichen Namens existieren. Fehlt die Bibliothek, lässt sich diese mit /RESTORE-FILE- FROM-SNAPSET als Ganzes wieder herstellen. Ersatzweise kann eine leere Bibliothek mit OPEN-LIBRARY library,U eingerichtet werden.

SNAPSET = *NONE
Die Bibliothek liegt nicht auf einem Snapset.

SNAPSET = *LATEST

Die Bibliothek liegt auf dem zuletzt erzeugten Snapset.

*LATEST entspricht der Angabe -1.

SNAPSET = <name 1..1 with-low>
Die Bibliothek liegt auf einem Snapset mit der Snapset-Id a-z,A-Z.

Snapsets mit Grossbuchstaben A-Z werden erst ab BS2000/OSD-BC V8.0 unterstützt.

Die Snapset-Id der Bibliothek kann mit den Kommandos /LIST-FILE-FROM-SNAPSET und /SHOW-SNAPSET-CONFIGURATION ermittelt werden.

SNAPSET = <integer -52..-1>
Die Bibliothek liegt auf einem Snapset in der zeitlichen Reihenfolge der Snapset-Erzeugung mit -1 für den neuesten Snapset.

Anweisungs-Returncode

(SC2)      SC1

Maincode

Bedeutung

0
1
32
64
64
130
130

CMD0001
CMD0230
LMS1002
LMS0211
LMS1004
LMS0041
LMS0411

Ohne Fehler
Syntaxfehler
Interner Fehler
Bibliothek existiert bereits
Sonstige Fehler
Systemadressraum erschöpft
Bibliothek gesperrt

Notwendige Zugriffsrechte

bei MODE=*READ      :    Leserecht für LIBRARY

bei MODE=*UPDATE    :    Lese- und Schreibrecht für LIBRARY

Hinweis

Wird die Anweisung mit LMS0024 und PLA0203 abgebrochen, so könnte ein altes Bibliotheksformat vorliegen. Wie dies geprüft und in eine PLAM-Bibliothek konvertiert werden kann, ist im Anhang im Abschnitt „Migration alter Bibliotheksformate" beschrieben.

Beispiele

  • Eröffnen einer existierenden Bibliothek lib1:

    //open-library library=lib1

  • Eröffnen einer existierenden Bibliothek über Dateikettungsname:

    /add-file-link link-name=glob-lib,file-name=lib1 
    //start-lms 
    ... 
    //open-library library=*link(link-name=glob-lib) 
    
  • Neuanlegen einer Bibliothek:

    //open-library library=lib1new, mode=*update

  • Eröffnen einer Bibliothek auf einem Snapset:
    Die Bibliothek X liege auf dem Originalpubset und ein Snap von X auf dem Snapset a.

    //open-lib x,snapset=a

    Mit folgender Anweisung können die Elemente vom Snapset a auf den Originalpubset kopiert werden:

    //copy-elem (*std,*,*),(x)

    Im Gegensatz dazu kopiert die folgende Anweisung nur innerhalb des Originalpubsets:

    //copy-elem (x,*,*),(y)