ISAM-Pool einen Kettungsnamen zuordnen
Komponente: | BS2000 |
Funktionsbereich: | Dateiverarbeitung |
Anwendungsbereich: | FILE |
Privilegierung: | STD-PROCESSING |
Funktionsbeschreibung
Mit dem Kommando ADD-ISAM-POOL-LINK ordnet der Benutzer einem ISAM-Pool für seinen Auftrag einen Pool-Kettungsnamen zu, der in die tasklokale Pool-Tabelle eingetragen wird. Der Auftrag muss bereits an den angegebenen ISAM-Pool angeschlossen sein (siehe Kommando CREATE-ISAM-POOL). Über den Pool-Kettungsnamen kann mit dem Kommando ADD-FILE-LINK (Operanden LINK-NAME und POOL-LINK) über die TFT eine Verbindung zu einer Datei hergestellt werden.
Der Kettungsname muss innerhalb einer Task eindeutig sein. Die Einträge der tasklokalen Pool-Tabelle kann sich der Benutzer mit dem Kommando SHOW-ISAM-POOL-LINK anzeigen lassen.
Pool-Kettungsnamen können mit dem Kommando REMOVE-ISAM-POOL-LINK aus der Pool-Tabelle gelöscht werden.
Eine ausführliche Beschreibung des ISAM-Pools ist in den Handbüchern „Einführung in das DVS“ [13] bzw. „DVS-Makros“ [12] enthalten.
Format
ADD-ISAM-POOL-LINK |
Operandenbeschreibung
LINK-NAME = <name 1..8>
Kettungsname, über den der ISAM-Pool (siehe Operand POOL-NAME) angesprochen werden kann. Der Kettungsname muss innerhalb einer Task eindeutig sein.
POOL-NAME = <name 1..8>(...)
Name des ISAM-Pools, dem der Pool-Kettungsname (siehe Operand LINK-NAME) zugeordnet werden soll. Der ISAM-Pool wird eindeutig bestimmt über den angegebenen Namen, die Katalogkennung (siehe Operand CAT-ID) und den Gültigkeitsbereich (siehe Operand SCOPE). Der Auftrag muss bereits an den angegebenen ISAM-Pool angeschlossen sein (siehe Kommando CREATE-ISAM-POOL bzw. SHOW-ISAM-POOL-ATTRIBUTES).
CAT-ID = *DEFAULT-PUBSET / <alphanum-name 1..4>
Katalogkennung des Pubsets, dem der ISAM-Pool zugeordnet ist.
Die angegebene Katalogkennung muss mit der Angabe aus dem entsprechenden CREATE-ISAM-POOL-Kommando übereinstimmen.
CAT-ID = *DEFAULT-PUBSET
Der ISAM-Pool ist dem Katalog zugeordnet, der mit dem Systemparameter ISPLDEFC (ISAM-POOL-DEFAULT-CATID)
eingestellt ist:
X'00': | Standard-Katalogkennung aus dem Benutzereintrag (siehe Kommando SHOW-USER-ATTRIBUTES, Ausgabefeld DEFAULT-PUBSET) |
X'01': | Katalogkennung des Home-Pubsets |
CAT-ID = <alphanum-name 1..4>
Katalogkennung des Pubsets, dem der ISAM-Pool zugeordnet ist.
SCOPE = *TASK / *HOST-SYSTEM / *USER-ID / *USER-GROUP
Gibt den Gültigkeitsbereich des ISAM-Pools an.
Der angegebene Gültigkeitsbereich muss mit der Angabe aus dem entsprechenden CREATE-ISAM-POOL-Kommando übereinstimmen.
SCOPE = *TASK
Der Pool-Kettungsname wird dem tasklokalen ISAM-Pool zugeordnet, d.h. der ISAM-Pool kann nur von der eigenen Task benutzt werden.
SCOPE = *HOST-SYSTEM
Der ISAM-Pool ist taskübergreifend, er kann von allen Aufträgen (Tasks) genutzt werden.
SCOPE = *USER-ID / *USER-GROUP
Diese Geltungsbereiche werden nur noch aus Kompatibilitätsgründen unterstützt (siehe Kommando CREATE-ISAM-POOL).
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
---|---|---|---|
0 | CMD0001 | Kommando fehlerfrei ausgeführt | |
32 | DMS0A17 | Interner Systemfehler | |
64 | DMS0A0E | Syntaxfehler bei ISAM-Pool-Kommando | |
64 | DMS0A11 | Angegebene CATID existiert nicht | |
64 | DMS0A13 | Angegebener Pool-Name ist ungültig | |
64 | DMS0A16 | Pool-Link-Name existiert bereits | |
64 | DMS0A19 | Angegebener ISAM-Pool existiert nicht | |
64 | DMS0A20 | Parameter für Remote-BS2000-Version nicht zulässig | |
64 | DMS0A22 | Keine Benutzergruppe vorhanden | |
130 | DMS0A12 | Angegebene CATID ist nicht verfügbar |
Beispiele
Dateibearbeitung über einen ISAM-Pool
/show-isam-pool-attr pool=*all ————————————————————————————————— (1)
% % CATID POOLNAME SCOPE WROUT SIZE EXTENTS RESIDENT %===================================================================== % 1OSU SDFPOOLN TASK NO 128 --/-- NO % 1OSN POOLAB01 HOST YES 96 --/-- NO % 1OSN POOLAB01 TASK NO 96 --/-- NO %
/add-isam-pool-link link=pool1,pool-name=poolab01(scope=*host) ———— (2)
/show-isam-pool-link pool-name=*all —————————————————————————————— (3)
% % LINKNAME CATID POOLNAME SCOPE %===================================================================== % SDFPOOLN 1OSU SDFPOOLN TASK % POOL1 1OSN POOLAB01 HOST %
/show-file-attr abk.v100.isam,inf=(org=*yes) —————————————————————— (4)
%0000000126 :1OSN:$USER1.ABK.V100.ISAM % ------------------------------- ORGANIZATION ------------------------------- % FILE-STRUC = ISAM BUF-LEN = STD(1) BLK-CONTR = PAMKEY % IO(USAGE) = READ-WRITE IO(PERF) = STD DISK-WRITE = IMMEDIATE % REC-FORM = (V,N) REC-SIZE = 0 % KEY-LEN = 30 KEY-POS = 8 % AVAIL = *STD % WORK-FILE = *NO F-PREFORM = *K S0-MIGR = *ALLOWED %:1OSN: PUBLIC: 1 FILE RES= 126 FRE= 5 REL= 3 PAGES
/add-file-link link=input1,file-name=abk.v100.isam,acc-method=*isam,
isam-attr=(key-pos=*by-cat,key-len=*by-cat,pool-link=pool1),
rec-form=*by-cat,buf-len=*by-cat,block-contr=*by-cat ———— (5)
/show-file-link inf=(file-contr=*yes) ———————————————————————————————— (6)
%-- LINK-NAME --------- FILE-NAME --------------------------------------------- % INPUT1 :1OSN:$USERXY01.ABK.V100.ISAM % -------------------- FILE-CONTROL-BLOCK - GENERAL ATTRIBUTES ------------- % ACC-METH = ISAM OPEN-MODE = *BY-PROG REC-FORM = *BY-CAT % REC-SIZE = *BY-PROG BUF-LEN = *BY-CAT BLK-CONTR = *BY-CAT % F-CL-MSG = STD CLOSE-MODE = *BY-PROG % -------------------- FILE-CONTROL-BLOCK - DISK FILE ATTRIBUTES ----------- % SHARED-UPD = *BY-PROG WR-CHECK = *BY-PROG IO(PERF) = *BY-PROG % IO(USAGE) = *BY-PROG LOCK-ENV = *BY-PROG % -------------------- FILE-CONTROL-BLOCK - TAPE FILE ATTRIBUTES ----------- % LABEL = *BY-PROG (DIN-R-NUM = *BY-PROG, TAPE-MARK = *BY-PROG) % CODE = *BY-PROG EBCDIC-TR = *BY-PROG F-SEQ = *BY-PROG % CP-AT-BLIM = *BY-PROG CP-AT-FEOV = *BY-PROG BLOCK-LIM = *BY-PROG % REST-USAGE = *BY-PROG BLOCK-OFF = *BY-PROG TAPE-WRITE = *BY-PROG % STREAM = *BY-PROG % -------------------- FILE-CONTROL-BLOCK - ISAM FILE ATTRIBUTES ----------- % KEY-POS = *BY-CAT KEY-LEN = *BY-CAT POOL-LINK = POOL1 % LOGIC-FLAG = *BY-PROG VAL-FLAG = *BY-PROG PROPA-VAL = *BY-PROG % DUP-KEY = *BY-PROG PAD-FACT = *BY-PROG READ-I-ADV = *BY-PROG % WR-IMMED = *BY-PROG POOL-SIZE = *BY-PROG
/start-exe from=*lib-elem(lib=ass.plamlib,elem=neuwort3) ———————— (7)
% BLS0517 MODULE 'NEUWORT3' LOADED *** PRGLAUF OK! ***
/del-isam-pool pool=poolab01(scope=*task) —————————————————————— (8)
/del-isam-pool pool=poolab01(scope=*host) —————————————————————— (9)
% DMS0A1A POOL LINKS TO SPECIFIED POOL STILL EXIST. COMMAND NOT PROCESSED
/show-isam-pool-attr pool=*all ————————————————————————————————— (10)
% % CATID POOLNAME SCOPE WROUT SIZE EXTENTS RESIDENT %===================================================================== % 1OSU SDFPOOLN TASK NO 128 --/-- NO % 1OSN POOLAB01 HOST YES 96 2K/-- NO %
/rem-isam-pool-link link=pool1 ————————————————————————————————— (11)
/show-isam-pool-link pool-link=pool1 ——————————————————————————— (12)
% DMS0A60 SPECIFIED ISAM-POOL-LINK-NAME DOES NOT EXIST. COMMAND REJECTED
/del-isam-pool pool=poolab01(scope=*host) —————————————————————— (13)
/show-isam-pool-attr pool=*all ————————————————————————————————— (14)
% % CATID POOLNAME SCOPE WROUT SIZE EXTENTS RESIDENT %===================================================================== % 1OSU SDFPOOLN TASK NO 128 --/-- NO %
(1) | Information über alle ISAM-Pools, an die die Task angeschlossen ist. Es existieren die ISAM-Pools SDFPOOLN und je ein taskübergreifender und ein tasklokaler ISAM-Pool mit dem Namen POOLAB01. Über diese ISAM-Pools wurde noch keine Datei bearbeitet, da die Ausgabespalte EXTENTS noch keine Information über die Formatierung enthält. |
(2) | Erzeugen eines Eintrags in der tasklokalen Pool-Tabelle. Dem taskübergreifenden ISAM-Pool POOLAB01 wird der Pool-Kettungsname POOL1 zugeordnet. |
(3) | Information über alle Pool-Kettungsnamen. |
(4) | Kataloginformation über den Dateiaufbau der NK-ISAM-Datei ABK.V100.ISAM. |
(5) | Für die Datei ABK.V100.ISAM wird ein TFT-Eintrag mit dem Kettungsnamen INPUT1 angelegt. Gleichzeitig wird die Datei mit dem Pool-Kettungnamen POOL1 (Operand (POOL-LINK) verknüpft. |
(6) | Ausgabe des TFT-Eintrags für die Datei ABK.V100.ISAM mit den Informationen über die Dateiverarbeitung (FILE-CONTROL-BLOCK=*YES) |
(7) | Das Programm NEUWORT3 wird aus der Bibliothek ASS.PLAMLIB gestartet. Das Programm bearbeitet einzelne Datensätze einer ISAM-Datei über einen ISAM-Pool. Der Name der zu bearbeitenden Datei wird dem TFT-Eintrag mit dem Kettungsnamen INPUT1 entnommen. Nach erfolgreicher Bearbeitung beendet sich das Programm und gibt die Nachricht „*** PRGLAUF OK! ***“ nach SYSOUT aus. |
(8) | Der tasklokale ISAM-Pool POOLAB01 wird gelöscht. |
(9) | Der taskübergreifende ISAM-Pool POOLAB01 soll gelöscht werden. Das DELETE-ISAM-POOL-Kommando wird zurückgewiesen, da für diesen Pool noch ein Eintrag in der tasklokalen Pool-Tabelle besteht (siehe Punkt 10). |
(10) | Information über alle ISAM-Pools, an die die Task angeschlossen ist. Über den taskübergreifenden ISAM-Pool POOLAB01 wurde mindestens eine NK2-ISAM-Datei (hier ABK.V100.ISAM) bearbeitet, da der ISAM-Pool jetzt mit 2KByte formatiert ist (siehe Ausgabespalte EXTENTS und siehe Punkt 1). |
(11) | Der Eintrag mit dem Pool-Kettungsnamen POOL1 wird gelöscht. |
(12) | Es existiert kein Eintrag mit dem Pool-Kettungsnamen POOL1 mehr. |
(13) | Der taskübergreifende ISAM-Pool POOLAB01 soll erneut gelöscht werden. |
(14) | Der taskübergreifende ISAM-Pool POOLAB01 konnte gelöscht werden. Die Task ist nur noch an den tasklokalen ISAM-Pool SDFPOOLN angeschlossen. |