Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

SHOPOOL - Informationen über ISAM-Pool ausgeben

Makrotyp: S-Typ (E-Form/L-Form/D-Form/C-Form/M-Form) (siehe "Typen von Makroaufrufen")

Der Makro SHOPOOL gibt Informationen über ISAM-Pools aus, mit denen der Auftrag gerade verbunden ist. Verbindungen zu ISAM-Pools auf Remote-Rechnern werden berücksichtigt (Ausnahme beim Operanden SELECT).
Der Benutzer kann die Informationen sowohl für einen bestimmten ISAM-Pool, als auch für alle ISAM-Pools anfordern, zu dem bzw. zu denen eine Verbindung existiert. Mit SHOPOOL werden alle Pool-spezifischen Eigenschaften je ISAM-Pool (wie im Makro CREPOOL vereinbart) ausgegeben.
Zusätzlich kann sich der Benutzer für jeden Pool die Auftragsnummern (TSNs) der angeschlossenen Aufträge ausgeben lassen.
Den Anschluss an einen ISAM-Pool veranlasst der Benutzer mit dem Makro CREPOOL. Der Auftrag kann auch implizit von NK-ISAM an Standard-Pools angeschlossen sein.

Hinweis

Taskübergreifende ISAM-Pools (SCOPE=HOST) werden bei der Dateieröffnung automatisch dateispezifisch in einem Data Space angelegt.

Die bis BS2000/OSD-BC V6.0A vorhandenen Geltungsbereiche SCOPE=USERID und SCOPE=USERGROUP werden aus Kompatibilitätsgründen noch akzeptiert, intern jedoch auf SCOPE=HOST (taskübergreifender ISAM-Pool) abgebildet. Für weitere Informationen zu ISAM-Pools in Data Spaces siehe Handbuch „Einführung in das DVS“ [1].

Format

Operation

Operanden

SHOPOOL

[,PARAM = adr]

[,NAME = 'name' / *ALL / adr / (r)]

[,CATID = 'name' / adr / (r)]

[,SCOPE = *TASK / *USERID / *USERGROUP / *HOST / adr / (r)]

[,SELECT = *OWN / *ALL / adr / (r)]

[,INFO = *ATTR / *ALL / adr / (r)]

[,AREA = adr / (r)]

[,SIZE = zahl / adr / (r) / *equ]

[,XPAND = PARAM / DESCHDR / POOLDESC]

MF = L / M

MF = E,PARAM = adr / (r)

MF = D[,PREFIX = pre]

MF = C[,PREFIX = pre][,MACID = macid]

Operandenbeschreibung

AREA

Gibt einen Ausgabebereich an, in den die Ausgabeliste übertragen wird.
Bei der Form MF=L kann nur der Operandenwert adr angegeben werden.

Voreinstellung:

X'FFFFFFFF'

= adr
Symbolische Adresse (Name) des Ausgabebereiches. Uneingeschränkter Zeichenvorrat und uneingeschränkte Länge.

= (r)
Register, in das die Adresse des Ausgabebereiches eingetragen wird.

CATID

Katalogkennung des Pubsets, dem der ISAM-Pool, über den Informationen ausgegeben werden sollen, zugeordnet ist (nicht von Bedeutung bei Angabe des Parameters NAME=*ALL). Bei der Form MF=L kann nur der Operandenwert 'name' angegeben werden.

Voreinstellung:

Der ISAM-Pool ist dem Katalog zugeordnet, der mit dem Systemparameter ISPLDEFC (ISAM-POOL-DEFAULT-CATID) eingestellt wurde:
X'00': Standard-Katalogkennung aus dem Benutzereintrag (DEFAULT-PUBSET)
X'01': Katalogkennung des Home-Pubsets

= 'name'
Katalogkennung des Pubsets. 4 Zeichen lang.

= adr
4 Byte lange Adresse eines Feldes, das die Katalogkennung des Pubsets enthält.

= (r)
ist das Register das die Adresse eines Feldes mit der Katalogkennung des Pubsets.

INFO

Bestimmt den Umfang der auszugebenden Information. Der Makro SHOPOOL liefert die gewünschten Informationen in den vom Aufrufer angegebenen Ausgabebereich (siehe „Format des Ausgabebereiches").

= *ATTR
Für den im Operanden NAME angegebenen ISAM-Pool werden die „statischen“ Eigenschaften ausgegeben.

= *ALL
Zusätzlich zu den statischen Eigenschaften werden die Auftragsnummern (TSNs) aller Aufträge ausgegeben, die an den/die angegebenen ISAM-Pool/s angeschlossen sind.

= adr
Ist die Adresse eines Feldes, in dem der Umfang der auszugebenden Informationen hinterlegt ist.

= (r)
Ist das Register, in dem die Adresse eines Feldes mit dem Umfang der auszugebenden Informationen abgelegt ist.

MACID

Wird nur in Verbindung mit MF=C ausgewertet und legt jeweils das zweite bis einschließlich vierte Zeichen der Feldnamen und Equates fest, die bei der Makroauflösung generiert werden.

Voreinstellung:

MACID = ISP

= macid
„macid“ ist eine drei Zeichen lange Zeichenfolge, die jeweils das zweite bis vierte Zeichen der generierten Feldnamen und Equates festlegt.

MF

die Formen des MF-Operanden sind detailliert im Anhang ("Typen von Makroaufrufen") beschrieben.

NAME

Name des ISAM-Pools, über den informiert werden soll. Der gewünschte ISAM-Pool wird eindeuting bestimmt über den angegebenen Namen, die Katalogkennung (CATID) und den Geltungsbereich (SCOPE).
Informationen werden nur ausgegeben, wenn der ISAM-Pool existiert und der aktuelle Auftrag an ihn angeschlossen ist.
Bei der Form MF=L können nur die Operandenwerte 'name'/*ALL angegeben werden.

= *ALL
Informiert über alle ISAM-Pools, an die der aktuelle Auftrag angeschlossen ist.

= 'name'
Name des ISAM-Pools, über den informiert werden soll. 'name' kann 8 Zeichen lang sein.

= adr
Adresse eines Feldes, das den Namen des ISAM-Pools oder *ALL enthält.

= (r)
Register, das eine Adresse enthält, an welcher der Name des ISAM-Pools oder *ALL hinterlegt ist.

PARAM

bezeichnet die Adresse der Operandenliste und wird nur in Verbindung mit MF=E ausgewertet (siehe auch "Typen von Makroaufrufen").

= adr
adr ist die symbolische Adresse (Name) der Operandenliste.

= (r)
r ist die Nummer des Registers, das die Adresse der Operandenliste enthält. Vor dem Makroaufruf muss das Register mit diesem Adresswert geladen werden.

PREFIX

wird nur in Verbindung mit MF=C oder MF=D ausgewertet und legt das jeweils erste Zeichen der Feldnamen und Equates fest, die bei der Makroauflösung im Datenbereich generiert werden.

Voreinstellung:

PREFIX = D

= pre
„pre“ ist ein Zeichen langes Präfix, mit dem die vom Assembler generierten Feldnamen und Equates beginnen sollen.

SCOPE

Geltungsbereich des angegebenen ISAM-Pools, über den Informationen ausgegeben werden sollen. Wurde NAME=*ALL angegeben, werden Angaben beim Operanden SCOPE ignoriert.
Bei der Form MF=L können nur die Operandenwerte *TASK/*USER-ID/*HOST angegeben werden.

= *TASK
Informiert über den Task-spezifischen ISAM-Pool mit dem angegebenen Namen.

= *USERID
= *USERGROUP
Die bis BS2000/OSD-BC V6.0A vorhandenen Geltungsbereiche SCOPE=USERID und SCOPE=USERGROUP werden aus Kompatibilitätsgründen noch akzeptiert, intern jedoch auf SCOPE=HOST (taskübergreifender ISAM-Pool) abgebildet.
Es werden aber jeweils nur die ISAM-Pools angezeigt, die mit dem angegebenen SCOPE angelegt wurden.

= *HOST
Informiert über den taskübergreifenden ISAM-Pool mit dem angegebenen Namen.

= adr
Symbolischer Name eines Feldes, das den Geltungsbereich des angegebenen ISAM-Pools enthält.

= (r)
Register mit der Adresse eines Feldes, das den Geltungsbereich des ISAM-Pools enthält.

SELECT

Gibt an, nach welchen Kriterien die durch den Parameter NAME spezifizierten ISAM-Pools zur Ausgabe von Informationen ausgewählt werden.

= *OWN
Es werden Informationen über ISAM-Pools ausgegeben, zu denen die aufrufende Task einen Anschluss besitzt. Die Ausgabe umfasst dabei auch ISAM-Pools auf Remote-Rechnern.

= *ALL
Dieser Operandenwert kann nur von einer Task spezifiziert werden, die über das Privileg TSOS oder über das Privileg SW-MONITOR-ADMINISTRATION verfügt.
Es werden Informationen über alle vorhandenen ISAM-Pools ausgegeben, selbst wenn kein Anschluss zu diesen ISAM-Pools vorhanden ist. Remote ISAM-Pools werden nicht erfasst.

= adr
Symbolischer Name eines Feldes, das Informationen über die Kriterien enthält, nach denen Informationen über ISAM-Pools ausgegeben werden.

= (r)
Register mit der Adresse eines Feldes, das Informationen über die Kriterien enthält, nach denen Informationen über ISAM-Pools ausgegeben werden.

SIZE

Gibt die Länge des Ausgabebereiches an.

Bei der Form MF=L können nur die Operandenwerte zahl/*equ angegeben werden.

Voreinstellung:         X'00000000'

= zahl
Ist eine numerische Zahl, die die Länge des Ausgabebereiches angibt.
100 <= zahl <= 10000.

= adr
Ist die Adresse für die Länge des Ausgabebereiches.

= *equ
EQUATE, das die Länge des Ausgabebereiches beinhaltet.

XPAND

Steuerungs-Operand nur für MF=C und MF=D:
Es wird festgelegt, welche Struktur zu expandieren (erzeugen) ist. Angaben bei diesem Operanden werden bei anderen MF-Werten ignoriert.

= PARAM
Das Layout der Parameterliste wird expandiert.

= DESCHDR
Das Layout des Headers des Ausgabebereiches wird expandiert.

= POOLDESC
Das Layout eines Pool-Deskriptors wird expandiert.

Returncodes

Die Returncodes werden im Header der jeweiligen Parameterliste hinterlegt:

  • Der Main Code in einem Halbwort mit dem Namen DISPMRET.

  • Der Subcode1 steht in einem Byte mit dem Namen DISPSR1. Er beschreibt Fehlerklassen, die es dem Aufrufer ermöglichen sollen, auf Fehlerklassen zu reagieren.

    Der Aufrufer kann sich sowohl am Maincode als auch am Subcode1 orientieren, wobei eine Auswertung des Subcode1 jedoch vorzuziehen ist: bei der Erweiterung der Maincodes für einen Makro sind Auswertungen nicht betroffen, wenn sie ausschließlich auf Fehlerklassen reagieren.
  • Der Subcode2 hat immer den Wert X'00'.

Falls Returncodes nicht im Header eines Makros abgelegt werden können, beispielsweise wenn dieser nicht zugreifbar ist, so wird das aufrufende Programm mit einer entsprechenden Fehlermeldung beendet.

Im Falle des Returncodes „interner Systemfehler beim Aufruf einer Systemfunktion“ enthält das Feld DISPSYCD in der Parameterliste des jeweiligen Makros einen genaueren Code zur Diagnose (Werte: siehe Inserts bei der entsprechenden Meldung).

Ein Makro-Aufruf mit MF=D oder MF=C generiert zusätzlich zu den Feldnamen auch die EQU-Anweisungen für die Returncodes.

In der folgenden Übersicht werden für den Makro SHOPOOL die Returncodes in tabellarischer Form dargestellt. Die angegebenen Namen der EQU-Anweisungen sind links durch den String DISP zu ergänzen, wobei DISP modifiziert werden kann durch die Parameter PREFIX=prefix bzw. MACID=macid (siehe Operandenbeschreibung).

Standardheader: ccbbaaaa

Über die Ausführung des Makros SHOPOOL wird im Standardheader folgender Returncode übergeben (cc = SUBCODE2, bb = SUBCODE1, aaaa = MAINCODE):


X'bb'

X'aaaa'

Erläuterung

X'00'

X'0000'

Funktion erfolgreich ausgeführt.

X'01'

X'FFFF'

Der Header ist fehlerhaft, z.B. nicht korrekt initialisiert.
Keine Wiederholung möglich.

X'02'

X'FFFF'

Linkage Fehler (Function not available)
Die aufgerufende Funktion steht nicht zur Verfügung

X'03'

X'FFFF'

Linkage Fehler ( Version not supported)
Die im Header angegebene Version wird nicht unterstützt (Montage-Fehler)

X'01'

X'0001'

Parameterliste nicht zugreifbar. Keine Wiederholung möglich.

X'01'

X'0002'

Parameterfehler. Keine Wiederholung möglich.

X'40'

X'0003'

spezifizierte CATID existiert nicht.
Fehlerklasse ungleich B, C, E.

X'40'

X'0004'

Der spezifizierte ISAM-Pool existiert nicht
Fehlerklasse ungleich B, C, E.

X'20'

X'0005'

interner Systemfehler beim Aufruf einer Systemfunktion
Keine Wiederholung möglich.

X'40'

X'0006'

kein ISAM-Pool vorhanden
Fehlerklasse ungleich B, C, E.

X'40'

X'0007'

Funktion ist nicht mit dem nötigen Privileg ausgestattet.
Fehlerklasse ungleich B, C, E.

X'82'

X'000A'

spezifizierte CATID nicht verfügbar.
Warten und Wiederholen.

X'82'

X'000B'

kein virtueller Speicherplatz verfügbar.
Warten und Wiederholen.

Weitere Returncodes, deren Bedeutung durch Konvention makroübergreifend festgelegt ist, können der Tabelle im Kapitel "Standardheader" entnommen werden.

Das aufrufende Programm wird beendet, wenn bezüglich der Parameterliste folgende Fehler auftreten:

  • Die Liste ist dem Aufrufer nicht zugewiesen.

  • Die Liste ist nicht auf Wortgrenze ausgerichtet.

  • Die Liste ist gegen Schreibzugriff geschützt.

Aufbau der Parameterliste

Makroauflösung mit MF=D und Standardwerten für PREFIX und MACID:

Die Parameterliste des Makros enthält einen Header, dessen Felder beim Aufbau der Parameterliste mithilfe der L-Form automatisch versorgt werden.

Wird eine Parameterliste mit der D-Form oder C-Form dynamisch aufgebaut, so ist sie zuvor durch eine mithilfe der L-Form erzeugten Parameterliste zu initialisieren; nur auf diese Weise ist eine korrekte Versorgung des Headers einer Parameterliste gewährleistet.

SHOPOOL MF=D       
1          STACK  PRINT       
1          PRINT  NOGEN       
2                *,##### PREFIX=D, MACID=ISP #####      
1          #INTF INTNAME=SHOPOOL,REFTYPE=REQUEST,INTCOMP=002 
1 DISPPPA  DS    0F                BEGIN of PARAMETERAREA     _INOUT 
1          FHDR  MF=(C,DISP),EQUATES=YES                
2          DS    0A           
2 DISPFHE  DS    0XL8            0   GENERAL PARAMETER AREA HEADER 
2 * 
2 DISPIFID DS    0A              0   INTERFACE IDENTIFIER 
2 DISPFCTU DS    AL2             0   FUNCTION UNIT NUMBER 
2 *                                  BIT 15    HEADER FLAG BIT, 
2 *                                  MUST BE RESET UNTIL FURTHER NOTICE 
2 *                                  BIT 14-12 UNUSED, MUST BE RESET 
2 *                                  BIT 11-0  REAL FUNCTION UNIT NUMBER 
2 DISPFCT  DS    AL1             2   FUNCTION NUMBER    
2 DISPFCTV DS    AL1             3   FUNCTION INTERFACE VERSION NUMBER 
2 * 
2 DISPRET  DS    0A              4   GENERAL RETURN CODE
2 * 
2 * GENERAL_RETURN_CODE CLEARED (X'00000000') MEANS     
2 * REQUEST SUCCESSFUL PROCESSED AND NO ADDITIONAL INFORMATION 
2 * 
2 DISPSRET DS    0AL2            4   SUB RETURN CODE    
2 DISPSR2  DS    AL1             4   SUB RETURN CODE 2  
2 * ALWAYS CLEARED (X'00') IF MAIN_RETURN_CODE IS X'FFFF' 
2 * Standard subcode2 values as defined by convention:  
2 DISPR2OK EQU   X'00'               All correct, no additional info 
2 DISPR2NA EQU   X'01'               Successful, no action was necessary 
2 DISPR2WA EQU   X'02'               Warning, particular situation 
2 DISPSR1  DS    AL1             5   SUB RETURN CODE 1  
2 * 
2 * GENERAL INDICATION OF ERROR CLASSES                 
2 * 
2 * CLASS A    X'00'           FUNCTION WAS SUCCESSFULLY PROCESSED 
2 * CLASS B    X'01' - X'1F'   PARAMETER SYNTAX ERROR   
2 * CLASS C    X'20'           INTERNAL ERROR IN CALLED FUNCTION
2 * CLASS D    X'40' - X'7F'   NO CLASS SPECIFIC REACTION POSSIBLE 
2 * CLASS E    X'80' - X'82'   WAIT AND RETRY           
2 * 
2 DISPRFSP EQU   X'00'               FUNCTION SUCCESSFULLY PROCESSED 
2 DISPRPER EQU   X'01'               PARAMETER SYNTAX ERROR 
2 *  3 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'01' - X'1F' 
2 DISPRFNS EQU   X'01'               CALLED FUNCTION NOT SUPPORTED 
2 DISPRFNA EQU   X'02'               CALLED FUNCTION NOT AVAILABLE 
2 DISPRVNA EQU   X'03'               INTERFACE VERSION NOT SUPPORTED 
2 * 
2 DISPRAER EQU   X'04'               ALIGNMENT ERROR    
2 DISPRIER EQU   X'20'               INTERNAL ERROR     
2 DISPRCAR EQU   X'40'               CORRECT AND RETRY  
2 *  2 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'40' - X'7F' 
2 DISPRECR EQU   X'41'               SUBSYSTEM (SS) MUST BE CREATED 
2 *                                  EXPLICITELY BY CREATE-SS 
2 DISPRECN EQU   X'42'               SS MUST BE EXPLICITELY CONNECTED 
2 * 
2 DISPRWAR EQU   X'80'               WAIT FOR A SHORT TIME AND RETRY 
2 DISPRWLR EQU   X'81'                    "     LONG       " 
2 DISPRWUR EQU   X'82'               WAIT TIME IS UNCALCULABLY LONG 
2 *                                  BUT RETRY IS POSSIBLE 
2 *  2 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'80' - X'82' 
2 DISPRTNA EQU   X'81'               SS TEMPORARILY NOT AVAILABLE 
2 DISPRDH  EQU   X'82'               SS IN DELETE / HOLD
2 * 
2 DISPMRET DS    0AL2            6   MAIN RETURN CODE   
2 DISPMR2  DS    AL1             6   MAIN RETURN CODE 2 
2 DISPMR1  DS    AL1             7   MAIN RETURN CODE 1 
2 * 
2 * SPECIAL LAYOUT OF LINKAGE_MAIN_RETURN_CODE (YYYY IN X'00XXYYYY') 
2 * 
2 DISPRLNK EQU   X'FFFF'             LINKAGE ERROR / REQ. NOT PROCESSED 
2 DISPFHL  EQU   8               8   GENERAL OPERAND LIST HEADER LENGTH 
2 * 
1 DISPOK   EQU   X'0000'           FUNCTION SUCCESSFUL PROCESSED 
1 DISPNPAR EQU   X'0001'           PARAMETERLIST NOT ACCESSIBLE 
1 DISPPERR EQU   X'0002'           PARAMETER ERROR      
1 DISPNCAT EQU   X'0003'           CATID NOT KNOWN      
1 DISPPLNE EQU   X'0004'           SPECIFIED ISAM POOL NOT FOUND 
1 DISPSYSE EQU   X'0005'           INTERNAL SYSTEM ERROR
1 DISPNOPL EQU   X'0006'           NO ISAM POOL EXISTING
1 DISPNAUT EQU   X'0007'           NO AUTHORIZATION FOR FUNCTION 
1 DISPNACC EQU   X'000A'           CATID NOT AVAILABLE  
1 DISPNOSP EQU   X'000B'           NO MEMORY AVAILABLE  
1 DISPNUGR EQU   X'000C'           NO USERGROUP DEFINED 
1 DISPINOP EQU   X'001F'           SSTA INOP            
1 DISPSSER EQU   X'0020'           SSTA INTERNAL ERROR 
1 DISPMEMR EQU   X'0021'           SSTA MEMORY ERROR    
1 DISPOPSR EQU   X'0022'           SSTA OPS ERROR       
1 DISPOPME EQU   X'0023'           SSTA OPS MEMORY ERROR
1 * 
1 * 
1 DISPPNAM DS    CL8               POOL-NAME            
1 DISPCID  DS    CL4               CATALOG-IDENTIFIER   
1 * 
1 DISPSCOP DS    XL1               SCOPE                
1 DISPTASK EQU   X'00'                  = TASK          
1 DISPUSID EQU   X'01'                  = USERID        
1 DISPHOST EQU   X'02'                  = HOST-SYSTEM   
1 DISPUSGR EQU   X'03'                  = USERGROUP     
1 * 
1 DISPSELC DS    XL1               SELECT               
1 DISPOWN  EQU   X'00'                  = OWN           
1 DISPALLH EQU   X'01'                  = ALL (HOST)    
1 * 
1 DISPINFO DS    XL1               INFO                 
1 DISPATTR EQU   X'00'                  = ATTR          
1 DISPALLT EQU   X'01'                  = ALL           
1 * 
1 DISPSYCD DS    XL1               SYS-ERROR-CODE       
1 * 
1 DISPADDR DS    A                 ADDRESS OF OUTPUT-AREA 
1 DISPSIZE DS    F                 SIZE OF OUTPUT-AREA  
1 * 
1 DISP#    EQU   *-DISPPPA         LENGTH of PARAMETERAREA 

Format des Ausgabebereiches

Der Makro SHOPOOL liefert dem Aufrufer die gewünschten Informationen in dessen spezifiziertem Ausgabebereich.

Verwaltungsheader des Ausgabebereiches

Der Ausgabebereich beginnt mit einem Verwaltungs-Header der Länge 16 Byte. Der Verwaltungs-Header des Ausgabebereiches wird generiert durch Angabe des Operanden XPAND=DESCHDR beim Aufruf des Makros SHOPOOL mit dem Steuerparameter MF=C oder MF=D:

1 DISPADMH DS    0F                VERWALTUNGS-HEADER-LAYOUT
1 DISPPLG  DS    F                 ANZAHL UEBERTRAGENER BYTES
1 DISPPCLG DS    F                 LAENGE DER GESAMT-INFORMATION
1 DISPP#PO DS    H                 ANZAHL BETROFFENER ISAM-POOLS
1 DISPPINF DS    XL1               INDIKATOR FUER INFO-UMFANG
1 DISPPATT EQU   X'00'             INFO = *ATTR
1 DISPPALL EQU   X'01'             INFO = *ALL
1 DISPPIND DS    XL1               UEBERTRAGUNGS-INDIKATOR
1 DISPPCOM EQU   X'00'             INFORMATION VOLLSTAENDIG
1 DISPPPAR EQU   X'01'             INFORMATION UNVOLLSTAENDIG
1 DISPPRES DS    CL4               NICHT VERWENDET
1 DISPPLEN EQU   *-DISPADMH        LAENGE DES HEADERS

Spezifizierter Ausgabebereich

Im spezifierten Ausgabebereichs des Aufrufers wird ein ISAM-Pool beschrieben durch eine sog. ISAM-Pool-Deskriptor in der Länge von 32 Byte. Ein ISAM-Pool-Deskriptor wird generiert durch die Angabe des Steueroperanden XPAND=POOLDESC beim Aufruf des Makros SHOPOOL mit dem Steueroperand MF=C oder MF=D:

1 DISPPDDS DS    0F                ISAM-POOL-DESCRIPTOR-LAYOUT
1 DISPNAME DS    CL8               NAME DES ISAM-POOLS
1 DISPPCID DS    CL4               NAME DES ZUGEORDNETEN PVS
1 DISPPSIZ DS    F                 POOL-GROESSE (IN 2K-EINHEITEN)
1 DISPPSCO DS    XL1               SCOPE DES ISAM-POOLS
1 DISPPTSK EQU   X'00'             SCOPE = TASK
1 DISPPUSR EQU   X'01'             SCOPE = USERID
1 DISPPHOS EQU   X'02'             SCOPE = HOST
1 DISPPUGR EQU   X'03'             SCOPE = USERGROUP
1 DISPPWRO DS    XL1               WROUT-EIGENSCHAFT DES ISAM-POOLS
1 DISPPDEF EQU   X'00'             WROUT = DEFERRED
1 DISPPIMM EQU   X'01'             WROUT = IMMEDIATE
1 DISPPCST DS    XL1               CSTAT-RESIDENZ DES ISAM-POOLS
1 DISPPNRE EQU   X'00'             ISAM-POOL NICHT CSTAT-RESIDENT
1 DISPPRSD EQU   X'01'             ISAM-POOL CSTAT-RESIDENT
1 DISPPEXT DS    XL1               VORHANDENE ISAM-POOL-EXTENTS
1 DISPPNEX EQU   X'00'             KEIN EXTENT VORHANDEN
1 DISPPEX2 EQU   X'01'             2K-EXTENT VORHANDEN
1 DISPPEX4 EQU   X'02'             4K-EXTENT VORHANDEN
1 DISPPEXA EQU   X'03'             2K- UND 4K-EXTENT VORHANDEN
1 DISPPLCI DS    XL1               LOKALITAETS-INDIKATOR
1 DISPPLCL EQU   X'00'             POOL AUF LOKALEM RECHNER
1 DISPPREM EQU   X'01'             POOL AUF REMOTE RECHNER
1 DISPPUID DS    CL8               USERID BEI SCOPE = *USERID
1 *                                GRUPPENNAME BEI SCOPE = *USERGROUP
1 DISPPRSV DS    CL3               NICHT VERWENDET
1 DISPPLNG EQU   *-DISPPDDS        LAENGE DES ISAM-POOL-DESCRIPTORS

Erläuterungen zum Aufbau des Ausgabebereichs

Der Verwaltungs-Header enthält die folgenden Informationen:

  • die Anzahl der Bytes, die in den Ausgabebereich übertragen wurde (Länge: 4 Byte),

  • die Anzahl der Bytes, aus denen die gesamte geforderte Information besteht (Länge: 4 Byte; der Aufrufer des Makros muss den Ausgabebereich in dieser Länge zur Verfügung stellen),

  • die Anzahl der ISAM-Pools, über die im Ausgabebereich Informationen hinterlegt wurden (Länge: 2 Byte),

  • ein Indikator der Länge 1 Byte, der angibt, welcher Informationsumfang beim Makro-Aufruf spezifiziert wurde, wobei gilt:

    X'00': INFO = *ATTR
    X'01': INFO = *ALL
  • ein Indikator der Länge 1 Byte, der angibt, ob die in den Ausgabebereich übertragene Information vollständig ist oder ob auf Grund eines zu kurzen Ausgabebereiches nur ein Teil der gewünschten Informationen geliefert werden konnte, wobei gilt:

    X'00': Information ist komplett,
    X'01': Information wurde abgeschnitten und ist unvollständig;
    (im letzteren Falle muss der Aufrufer einen größeren Ausgabebereich zur Verfügung stellen, um die komplette Information zu erhalten; die Länge des größeren Ausgabebereiches ist dem zweiten Wort des Verwaltungs-Headers zu entnehmen),
  • die restlichen 4 Byte werden nicht verwendet.

Der spezifizierte Ausgabebereich kann die folgenden Informationen enthalten:

Im vom Aufrufer angegebenen Ausgabebereich wird ein ISAM-Pool beschrieben durch einen sog. ISAM-Pool-Deskriptor in der Länge von 32 Byte.

  • den Namen des betroffenen ISAM-Pools in der Länge von 8 Byte (abdruckbar),

  • die CATID des Host-Rechners, auf dem der betroffene ISAM-Pool vorhanden ist, ebenfalls abdruckbar in der Länge von 4 Byte,

  • die Größe des betroffenen ISAM-Pools (in Einheiten von 2K) in der Länge von 4 Byte,

  • den SCOPE (Gültigkeits-Bereich) des betroffenen ISAM-Pools; für diese Information genügt 1 Byte, wobei gilt:

    X'00': SCOPE = *TASK
    X'01': SCOPE = *USERID
    X'02': SCOPE = *HOST
    X'03': SCOPE = *USERGROUP
  • die WROUT-Eigenschaft des betroffenen ISAM-Pools, wobei die folgenden Werte möglich sind (1 Byte):

    X'00': WROUT = DEFERRED
    X'01': WROUT = IMMEDIATE
  • die Eigenschaft CSTAT-Residenz des betroffenen ISAM-Pools (1 Byte), wobei gilt:

    X'00': ISAM-Pool ist nicht CSTAT-resident
    X'01': ISAM-Pool ist CSTAT-resident
  • die Angabe, ob der betroffene ISAM-Pool einen 2K-Extent, einen 4K-Extent bzw. beide Extents besitzt.
    Diese Angabe ist in einem Byte enthalten mit der Zuordnung:

    X'00': noch kein Extent angelegt
    X'01': 2K-Extent für ISAM-Pool vorhanden
    X'02': 4K-Extent für ISAM-Pool vorhanden
    X'03': der ISAM-Pool besitzt sowohl einen 2K- als auch einen 4K-Extent
  • Die Angabe, ob der betroffene ISAM-Pool zu einem lokalen oder zu einem RemoteHost-Rechner gehört mit der folgenden Zuordnung:

    X'00': Pool auf lokalem Host-Rechner
    X'01': Pool auf remote Host-Rechner
  • Die USERID, falls der betroffene ISAM-Pool mit dem Attribut SCOPE = USERID versehen ist,

  • die restlichen 3 Byte werden nicht verwendet.

Die Strukturen Verwaltungsheader (HDR) und ISAM-Pool-Deskriptor (DESC) bestimmen im Wesentlichen das Format des Ausgabebereiches. Der Aufbau des Ausgabebereiches ist jedoch auch abhängig vom Informationsumfang, der beim Aufruf des Makros SHOPOOL spezifiziert wurde.

INFO = *ATTR

Im Falle INFO=*ATTR enthält der im Verwaltungs-Header des Ausgabebereiches dafür vorgesehene Indikator den Wert X'00', und nach dem Verwaltungs-Header folgen die ISAM-Pool Deskriptoren lückenlos hintereinander; ihre Anzahl ist ebenfalls im Verwaltungs-Header hinterlegt.

Hat der Aufrufer beim Makro-Aufruf den Parameter INFO=*ATTR angegeben (bzw. durch Nicht-Angabe des Parameters diesen Standardwert gewählt), so hat der Ausgabebereich des Anwenders den folgenden Aufbau:

HDR
DESC1
DESC2
  .......
  .......
DESCn

INFO=*ALL

Hat der Aufrufer des Makros SHOPOOL den Parameter INFO=*ALL spezifiziert, so will er in seinem Ausgabebereich neben den statischen Eigenschaften der spezifizierten ISAM-Pools auch die TSN's der Tasks vorfinden, die einen Anschluss zu diesen spezifizierten ISAM-Pools besitzen. angeschlossen sind. Der im Verwaltungs-Header des Ausgabebereiches vorgesehene Indikator für den Funktions-Umfang enthält dann den Wert X'01', und nach jedem ISAM-Pool-Deskriptor folgt ein Wort, das die Anzahl der an diesen ISAM-Pool konnektierten Tasks enthält, sowie im Anschluss daran eine Aufzählung der TSN's der entsprechenden Tasks (jeweils in der Länge 4 Byte, abdruckbar).

Hat der Aufrufer beim Makro-Aufruf den Parameter INFO=*ALL spezifiziert, so hat der Ausgabebereich des Aufrufers den folgenden Aufbau:

HDR |
 DESC1   |
 TASK#1  | TSN11  | TSN12  |  .....  | TSN1m  |
 DESC2   |
 TASK#2  | TSN21  | TSN22  |  .....  |  ..... | TSN2r  |
  ...... | ...........................................
  .....  | ...........................................
 DESCn   |
 TASK#n  | TSNn1  | .....  |  TSNns  |