Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

ADD-ISAM-POOL-LINK

&pagelevel(3)&pagelevel

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                                                                                                                               

LINK-NAME = <name 1..8>

,POOL-NAME = <name 1..8>(...)


<name 1..8>(...)



|

CAT-ID = *DEF AULT -PUB SET / <cat-id 1..4>



|

,SCOPE = *TASK / *HOST-SYSTEM / *USER-ID / *USER-GROUP

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.