Allgemeines
Anwendungsgebiet: | Mehrrechnersysteme; siehe "Mehrrechnersysteme" |
Makrotyp: | S-Typ, MF-Format 2: Standardform/E-/L-/C-/D-/M-Form); siehe "S-Typ-Makroaufrufe" |
Auf jedem Pubset befindet sich ein Dateikatalog TSOSCAT, der über seine Katalogkennung eindeutig identifiziert werden kann. Weiter ist jeder TSOSCAT (und damit jeder Pubset) eindeutig einem System (BS2000 native oder VM2000-Gastsystem) zugeordnet.
Der Home-Pubset enthält im TSOSCAT seinen Eintrag aus dem Katalogverzeichnis MRSCAT, einem Verzeichnis aller im Rechnernetz vorhandenen Pubsets. Generell kann jeder Pubset einen vollständigen MRSCAT enthalten.
Ein Eintrag im MRSCAT enthält u.a.:
die Katalogkennung eines TSOSCATs
den BCAM-Namen des Systems, dem dieser TSOSCAT zugeordnet ist
den Gerätetyp für den zugehörigen Pubset
Statusinformationen über den Pubset
pubsetspezifische Operanden (EAM, Cache, Allocator,..)
Makrobeschreibung
Der Makro STAMCE übergibt einen Auszug aus einem ausgewählten Eintrag oder aus allen Einträgen des MRS-Katalogs (MRSCAT) in einen Ausgabebereich, der entweder vom Anwender definiert oder vom Makro angelegt wird. Die Auszüge informieren über die im Rechnernetz initialisierten Pubsets bezüglich
Gerätedaten (Katalogkennung; Gerätetypcode; BCAM-Name des Systems, wenn der Pubset von einem fernen System verwaltet wird; ...).
Status (Home-Pubset, lokaler Pubset, Pubset nicht zugreifbar, ...).
Verwendungszweck (Paging, Datenzugriff, ...).
Eigenschaften (EAM-Operand, Cache-Konfiguration,..)
Nur für Systemverwaltung oder Operator:
Anzahl, TSNs und Benutzerkennungen aller Aufträge, die den Pubset belegen (sei es durch geöffnete Dateien oder durch Reservierungsanforderungen (SECURE-Locks), Anzahl und Lage der CMS-Puffer gemäß Voreinstellung und aktueller Einstellung,..)
Ein Einzeleintrag wird über die Katalogkennung des Pubsets identifiziert. Es werden nur die Einträge des MRSCAT auf dem Home-Pubset ausgegeben.
Hinweise
Sowohl der Datenbereich als auch der Ausgabebereich wurden in ihrem Layout den funktionalen Erweiterungen der einzelnen BS2000-Versionen angepasst. Aus Kompatibilitätsgründen ist es möglich, mit dem STAMCE-Makro auch die Layouts älterer Versionen zu erzeugen (Operand VERSION).
Bei MF=M gilt folgende Einschränkung:
Werden die Operanden CATID oder AREA angegeben, darf Register R15 nicht als Basisregister für den Datenbereich oder für die durch diese Operanden bestimmten Felder genutzt werden.
Makroaufrufformat und Operandenbeschreibung
|
|
In der nachfolgenden Operandenbeschreibung sind die Operanden alphabetisch geordnet.
AREA=
vereinbart die Adresse eines Ausgabebereiches, in dem STAMCE die angeforderten MRSCAT-Einträge übergibt. Wenn der Operand nicht angegeben wird, fordert STAMCE für die Ausgabe Klasse-6-Speicher an (in Einheiten von Hauptspeicherseiten zu je 4096 Byte) und versorgt die Felder DMCEAREA und DMCEARLN des Datenbereichs mit der Adresse und der Länge (in Byte) dieses Ausgabebereiches. Für die Rückgabe des vom Makro angeforderten Speicherbereiches ist der Aufrufer zuständig (Makro RELM).
Bei MF=S darf AREA nur zusammen mit dem Operanden LENGTH angegeben werden.
adr
symbolische Adresse (Name) eines Feldes zur Aufnahme der angeforderten MRSCAT-Einträge. Das Feld ist auf Wortgrenze auszurichten.
(r)
r = Register mit dem Adresswert adr. Die Angabe ist nur zusammen mit MF=M möglich.
CATID=
legt die Katalogkennungen der Pubsets fest, deren MRSCAT-Einträge ausgegeben werden sollen. Eine engere Auswahl der auszugebenden MRSCAT-Einträge kann mit dem Operanden SELECT getroffen werden.
'
Das in Hochkommas eingeschlossene Leerzeichen ist Voreinstellung. Es bedeutet, dass alle MRSCAT-Einträge ausgegeben werden sollen.
'catid'
catid ist entweder eine explizit angegebene Katalogkennung oder ein Wildcard-Ausdruck zur Auswahl von Katalogkennungen. Die angegebene Zeichenfolge ist stets in Hochkommas einzuschließen.
Abhängig davon, ob die Katalogkennung explizit oder als Wildcard-Ausdruck angegeben wird, gelten für das Format von catid folgende Regeln:
Explizite Angabe der Katalogkennung:
'catid' ist entweder eine ein- bis vierstellige Zeichenfolge, bestehend aus den Buchstaben A,...,Z und den Ziffern 0,...,9, wobei die Zeichenfolgen PUB und PUBx (x = beliebiges Zeichen) ausgeschlossen sind
oder 'catid' ist das Zeichen # (für den Home-Pubset)
Angabe als Wildcard-Ausdruck:
'catid' ist ist eine ein- bis vierstellige Zeichenfolge, die außer Buchstaben und Ziffern noch folgende Platzhalterzeichen enthalten darf:
* | Platzhalter für eine beliebige (auch leere) Zeichenfolge |
/ | Platzhalter für (genau) ein beliebiges Zeichen |
<s1> | Platzhalter für die in den Klammern angegebene Zeichenfolge s1 (maximal |
- | Negationszeichen für die sich anschließenden Angaben (nur als erstes |
adr
symbolische Adresse (Name) eines Feldes, das entweder eine explizit angegebene Katalogkennung oder einen Wildcard-Ausdruck zur Auswahl von Katalogkennungen enthält. In jedem dieser Fälle muss der Aufrufer diese Informationen im jeweils zutreffenden Format hinterlegen:
Explizite Angabe der Katalogkennung:
Im Feld ist eine der beiden folgenden Angaben zu hinterlegen:
- das Zeichen # (für den Home-Pubset)
eine Zeichenfolge der Form
[:]catid[
/ :]
Darin steht catid für eine ein- bis vierstellige Zeichenfolge, bestehend aus den Buchstaben A,...,Z und den Ziffern 0,...,9, wobei die Zeichenfolgen PUB und PUBx (x = beliebiges Zeichen) ausgeschlossen sind. Wenn catid kürzer als vier Zeichen ist, muss sie (wie oben dargestellt) am rechten Ende durch ein Leerzeichen (; X'40') oder durch einen Doppelpunkt (:) begrenzt werden. Bei vierstelligen Katalogkennungen kann dieser Begrenzer entfallen.
Alternativ steht catid für einen Wildcard-Ausdruck, der – ggf. einschließlich des rechten Begrenzungszeichens – bis zu 256 Zeichen lang sein kann und neben Buchstaben und Ziffern noch folgende Platzhalterzeichen enthalten darf:
* | Platzhalter für eine beliebige (auch leere) Zeichenfolge |
/ | Platzhalter für (genau) ein beliebiges Zeichen |
<s1:s2> | Platzhalter für eine Zeichenfolge, die in der lexikografischen Ordnung zwischen den Zeichenfolgen s1 und s2 liegt |
<s1,...> | Platzhalter für eine der in den Klammern aufgeführten Zeichenfolgen |
- | Negationszeichen für die sich anschließenden Angaben (nur als erstes Zeichen des Ausdrucks zulässig) |
Ist der Wildcard-Ausdruck kürzer als 256 Zeichen, so muss er - wie oben dargestellt - am rechten Ende durch ein Leerzeichen (' '
; X'40') oder durch einen Doppelpunkt (:) begrenzt werden. Nur bei Ausdrücken mit 256 Zeichen kann dieser Begrenzer entfallen.
(r)
r = Register mit dem Adresswert adr.
Die Angabe ist nur zusammen mit MF=M möglich.
Hinweis
Werden bei MF=M die Operanden CATID oder AREA angegeben, darf Register R15 nicht als Basisregister für den Datenbereich oder für die durch diese Operanden bestimmten Felder genutzt werden.
HOST=
gibt unter den auf einen Pubset gemeinsam zugriffsberechtigten Systemen dasjenige an, über dessen Tasks die mit REF=ALL angeforderten Informationen ausgegeben werden sollen.
Der Operand ist nur wirksam, wenn er zusammen mit REF=ALL angegeben wird, andernfalls wird er ignoriert.
*LOCAL
'*LOCAL'
Die mit REF=ALL angeforderten Informationen werden für lokale Tasks ausgegeben, die den Pubset belegen.
*ALL
'*ALL'
Wenn der im Operanden CATID angegebene Pubset mehrrechnerbenutzbar und das lokale System der Master des Pubsets ist, dann werden die mit REF=ALL angeforderten Informationen für alle (lokalen und fernen) Tasks ausgegeben, die diesen Pubset belegen; andernfalls nur für die lokalen Tasks.
'bcamname'
bcamname = BCAM-Name des lokalen Systems oder - wenn das lokale System Master des Pubsets ist - eines Slave-Systems.
adr
symbolische Adresse (Name) eines Feldes, das einen der Werte '*LOCAL', '*ALL' oder 'bcamname' enthält.
LENGTH=länge
legt die Länge des Ausgabebereiches für die angeforderten MRSCAT-Einträge fest.
Die implizite Länge eines mit dem Operanden AREA vereinbarten Feldes wird auch dann nicht als Länge des Ausgabebereiches angenommen, wenn der Operand LENGTH nicht angegeben wird.
Bei MF=S darf LENGTH nur zusammen mit AREA angegeben werden.
länge
Länge (in Byte) des Feldes mit der Adresse adr2.
Die Mindestlänge für den Ausgabebereich hängt von der Anzahl der angeforderten MRSCAT-Einträge und dem im Operanden REF angegebenen Informationsumfang ab. Es gelten folgende Werte:
- Ein einzelner MRSCAT-Eintrag wird angefordert:
Bei REF=NO oder REF=YES muss der Ausgabebereich mindestens so lang sein wie der auszugebende MRSCAT-Eintrag. Das Layout dieses Eintrags wird im Anschluss an die Returncodes als DSECT wiedergegeben.
Bei REF=ALL wird die Mindestlänge l AREA des Ausgabebereiches durch folgende Formel bestimmt:
l AREA = l MCE + n OCC * l OCC + 1
Dabei bedeutet:
lAREA | Mindestlänge des Ausgabebereiches (in Byte) |
lMCE | Länge des auszugebenden MRSCAT-Eintrags (Layout siehe DSECT im Anschluss an die Beschreibung der Returncodes) |
nOCC | Anzahl der Belegungseinträge für den Pubset, auf den der MRSCAT-Eintrag verweist |
lOCC | Länge eines Belegungseintrags (Layout siehe DSECT im Anschluss an die Beschreibung der Returncodes) |
- Mehrere Einträge werden angefordert:
Für die Mindestlänge lAREA des Ausgabebereiches gilt folgende Formel:
lAREA = nMCE * lMCE + 4
Dabei bedeutet:
lAREA | Mindestlänge des Ausgabebereiches (in Byte) |
nMCE | Anzahl der auszugebenden MRSCAT-Einträge |
lMCE | Länge des auszugebenden MRSCAT-Eintrags (Layout siehe |
MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden (z.B. PREFIX, MACID und PARAM) siehe Abschnitt „S-Typ-Makroaufrufe“. Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.
Bei der C-Form, D-Form oder M-Form des Makroaufrufs kann ein Präfix PREFIX und bei der C-Form oder M-Form zusätzlich eine Macid MACID angegeben werden (siehe Abschnitt „S-Typ-Makroaufrufe“).
Voreinstellung:
MACID = MCE bei XPAND=PL
MACID = MCF bei XPAND=MCE
MACID = MCH bei XPAND=OCC
PUBSET=
Angabe nur in Verbindung mit SELECT=VOLUME_SETS zulässig.
Gibt die Catid des SM-Pubsets an, dessen Volume-Set zurückgeliefert wird.
*ALL
Die Volume-Sets aller SM-Pubsets werden zurückgeliefert.
'catid'
Catid des SM-Pubsets, für dessen Volume-Sets Informationen zurückgeliefert werden sollen.
adr
Symbolische Adresse (Name) eines Feldes, das die Katalogkennung des SM-Pubsets enthält, für dessen Volume-Sets Informationen zurückgeliefert werden sollen.
REF=
bestimmt, ob zusätzlich zu den MRSCAT-Einträgen (also den Informationen, die das Kommando /SHOW-MASTER-CATALOG-ENTRY liefert) weitere Informationen über die angegebenen Pubsets ausgegeben werden sollen.
NO
es sollen keine weiteren Informationen ausgegeben werden.
YES
Für jeden angegebenen Pubset werden zusätzlich zum MRSCAT-Eintrag auch die Pubset-Parameter ausgegeben (siehe Kommando SHOW-PUBSET-PARAMETERS). Es fehlen lediglich die belegenden Tasks; diese werden nur bei REF=ALL ausgegeben.
Diese Angabe wird bei Makroaufrufen nur unter der Kennung der Systemverwaltung (TSOS) ausgewertet, bei allen anderen Benutzern wird sie ignoriert.
ALL
Für einen Pubset werden zusätzlich zu den unter REF=YES beschriebenen Informationen noch die Benutzerkennungen, die TSNs und die TIDs der Tasks ausgegeben, die den Pubset belegen, sowie die SYSIDs der Systeme, auf denen diese Tasks ablaufen. Für jedes System werden die ausgegebenen Einträge sortiert: Zuerst nach Benutzerkennung, dann nach TSN und schließlich nach TID.
REF=ALL ist nur zulässig, wenn im Operanden CATID explizit die Katalogkennung eines Pubsets angegeben wurde. Bei der Angabe eines Wildcard-Ausdrucks oder des (voreingestellten) Wertes ' '
im Operanden CATID wird REF=ALL intern in REF=YES umgewandelt.
Diese Angabe wird bei Makroaufrufen nur unter der Kennung der Systemverwaltung (TSOS) ausgewertet, bei allen anderen Benutzern wird sie ignoriert.
SELECT=
erlaubt bei der Angabe eines Wildcard-Ausdrucks oder des (voreingestellten) Wertes ' '
(Leerzeichen) im Operanden CATID eine engere Auswahl der dadurch vereinbarten Pubsets.
ALL
Die angeforderten Informationen werden für alle im Operanden CATID vereinbarten Pubsets ausgegeben.
ACCESSIBLE
Die angeforderten Informationen werden nur für Pubsets ausgegeben, auf deren Dateikatalog zugegriffen werden kann.
DEF_XCS_CONF
Die angeforderten Informationen werden nur für Pubsets ausgegeben, die als XCS-Pubset definiert sind.
EXCLUSIVE
Die angeforderten Informationen werden nur für Pubsets ausgegeben, die nicht als Shared-Pubset importiert sind.
HSMS_SUPPORTED
Die angeforderten Informationen werden nur für SM-Pubsets ausgegeben, auf die das Attribut HSMS SUPPORTED zutrifft.
INACCESSIBLE
Die angeforderten Informationen werden nur für Pubsets ausgegeben, die nicht importiert sind.
LOCAL
Die angeforderten Informationen werden nur für Pubsets ausgegeben, die lokal importiert sind.
LOCAL_ACCESSIBLE
Die angeforderten Informationen werden nur für Pubsets ausgegeben, die lokal importiert und nicht im Quiet-Status sind.
MASTER_CHANGE_ERROR
Die angeforderten Informationen werden nur für Shared-Pubsets ausgegeben, bei denen ein Master-Wechsel fehlerhaft beendet wurde.
PAGING
Die angeforderten Informationen werden nur für Pubsets mit lokal genutzten Paging-Bereichen ausgegeben.
QUIET
Die angeforderten Informationen werden nur für Pubsets ausgegeben, die im Quiet-Status sind.
REMOTE
Die angeforderten Informationen werden nur für Pubsets ausgegeben, für die nicht das Auswahlkriterium LOCAL zutrifft.
REMOTE_ACCESSIBLE
Die angeforderten Informationen werden nur für Pubsets ausgegeben, die nicht lokal importiert sind, auf deren Katalog aber dennoch zugegriffen werden kann, weil aktuell eine MSCF-Verbindung zu einem fernen System besteht, das das Pubset lokal importiert hat.
SCA
Die angeforderten Informationen werden nur für Pubsets ausgegeben, bei denen das eigene System die Katalogzugriffe über SCA abwickelt.
SCA = Speed Catalog Access. Ersetzt den sequenziellen Zugriff auf den Dateikatalog TSOSCAT durch einen indexsequenziell orientierten (direkten) Dateizugriff.
SHARED
Die angeforderten Informationen werden nur für Pubsets ausgegeben, die als Shared-Pubset importiert sind.
SINGLE_FEATURE
Die angeforderten Informationen werden nur für SF-Pubsets ausgegeben.
SYSTEM_MANAGED
Die angeforderten Informationen werden nur für SM-Pubsets ausgegeben.
UNUSED_VOLSETS
Die angeforderten Informationen werden nur für Volume-Sets ausgegeben, die sich im Zustand DEFINED ONLY befinden.
VOLUME_SETS
Die angeforderten Informationen werden nur für Volume-Sets ausgegeben.
Eine engere Auswahl der auszugebenden Volume-Set-Einträge kann mit dem Operanden PUBSET getroffen werden.
XCS_CONFIGURATED
Die angeforderten Informationen werden nur für Pubsets ausgegeben, die als XCS-Pubset benutzt werden.
VERSION=
legt fest, für welche BS2000-Version das Layout erzeugt und Informationen ausgegeben werden soll.
Wird der Operand VERSION nicht angegeben, werden Layout und Informationen für die BS2000-Version V10.0 erzeugt bzw. ausgegeben.
5
Layout und Informationen für die Versionen ab BS2000/OSD-BC V3.0 werden erzeugt bzw. ausgegeben.
3
Layout und Informationen für die Versionen BS2000/OSD-BC V1.0 und V2.0 werden erzeugt bzw. ausgegeben.
XPAND=
wird nur im Zusammenhang mit MF=C bzw. MF=D ausgewertet und legt fest, für welchen Datenbereich eine CSECT bzw. DSECT erzeugt werden soll.
PL
Es wird eine CSECT/DSECT für den Datenbereich erzeugt. Dieser Wert ist Voreinstellung bei MF=C.
*ALL
Es werden CSECTs/DSECTs für den Datenbereich und den Ausgabebereich mit Belegungseintrag erzeugt. Voreinstellung bei MF=D.
MCE
Es wird eine CSECT/DSECT für einen MRSCAT-Eintrag erzeugt.
OCC
Es wird eine CSECT/DSECT für die bei REF=ALL zusätzlich ausgegebenen Belegungsinformationen erzeugt.
Rückinformation und Fehleranzeigen
Standardheader:
+---------------+ | | | | | |c|c|b|b|a|a|a|a| +---------------+
Über die Ausführung des Makros STAMCE wird im Standardheader folgender Returncode übergeben (cc=Subcode2, bb=Subcode1, aaaa=Maincode):
SUBCODE2 (X'cc') wird in der folgenden Tabelle nicht aufgeführt. Er kann die Werte X'00' und X'01' annehmen. Sie haben die folgenden Bedeutungen:
X'00': Fehler im lokalen System
X'01': Nur bei REF=ALL: Fehler im fernen System
X'bb' | X'aaaa' | Erläuterung |
X'00' | X'0000' | Funktion erfolgreich ausgeführt; kein Fehler. |
X'20' | X'0310' | Systemfehler: Fehler während der Privilegienprüfung. |
X'01' | X'0311' | Operandenfehler:
|
X'40' | X'0312' | Gesuchter MRSCAT-Eintrag nicht gefunden:
|
X'20' | X'0313' | Fehler bei REQM/RELM: Speicherplatz für die Ausgabe konnte nicht angefordert/freigegeben werden. |
X'40' | X'0313' | Fehler bei REQM/RELM: Es ist nicht genügend Klasse-6-Speicherplatz vorhanden. |
X'01' | X'0314' | Katalogkennung / Wildcard-Ausdruck ungültig: |
X'40' | X'0316' | Ausgabebereich zu klein: Der vom Anwender angegebene Ausgabebereich ist zu klein zur Aufnahme der angeforderten Information. |
X'40' | X'0317' | Systemfehler: Konflikt mit MRSCAT-Sperre |
X'20' | X'0318' | Systemfehler: Synchronisationsfehler |
X'40' | X'031A' | MRSCAT noch nicht initialisiert: |
X'20' | X'031B' | Übertragungsfehler, tritt nur bei REF=ALL auf: |
X'01' | X'031C' | Ungültiger BCAM-Name, tritt nur bei REF=ALL auf:
|
X'01' | X'031F' | Fehlerhafter SELECT-Operand des Datenbereichs: |
X'01' | X'FFFF' | Interface-Fehler: Falscher Unit- oder Funktions-Code. |
X'03' | X'FFFF' | Interface-Fehler: Falsche Versions-Nummer. |
Als zusätzliche Returncodes können in den beiden rechten Byte von Register R15 folgende Werte zurückgegeben werden:
X'04A4': | Es wurde versucht, einen STAMCE einer Version < V9.5 auszuführen. Dabei wurde im Datenbereich ein ungültiger Operationscode entdeckt. Dieser Fehler tritt insbesondere dann auf, wenn die Version des Datenbereichs nicht zur Version des SVC-Aufrufs passt. |
X'04A0': | Wie oben; darüber hinaus ist das Subsystem JV („Jobvariable“) nicht verfügbar. |
Weitere Returncodes, deren Bedeutung durch Konvention makroübergreifend festgelegt ist, können der Tabelle „Standard-Returncodes“ (Standardheader) entnommen werden.
Das aufrufende Programm wird beendet, wenn folgende Fehler auftreten:
Der Datenbereich ist dem Aufrufer nicht zugewiesen.
Der Datenbereich ist nicht auf Wortgrenze ausgerichtet.
Der Datenbereich ist gegen Schreibzugriff geschützt.
DSECT für den Datenbereich des Makros (XPAND=PL)
STAMCE MF=D,PREFIX=D,XPAND=PL,VERSION=5 1 #INTF REFTYPE=REQUEST, C 1 INTNAME=STAM, C 1 INTCOMP=5 1 MFCHK MF=D, C 1 SUPPORT=(C,D,E,L,M,S), C 1 PREFIX=D, C 1 MACID=MCE, C 1 DMACID=MCE, C 1 DNAME=MCEPL, C 1 PARAM=, C 1 SVC=33, C 1 ALIGN=F 2 DMCEPL DSECT , 2 *,##### PREFIX=D, MACID=MCE ##### 1 STAMLY MF=D, C 1 PREFIX=D, C 1 MACID=MCE, C 1 PARAM=, C 1 VERSION=5, C 1 XPAND=PL, C 1 FUNCT=1, C 1 CG27=DMCE, C 1 CATID=, C 1 AREA=, C 1 LENGTH=, C 1 REF=, C 1 HOST=, C 1 SELECT=, C 1 PUBSET= 2 #INTF REFTYPE=REQUEST, C 2 INTNAME=STAMLY, C 2 INTCOMP=5 2 ******************** 2 * parameter list * 2 ******************** 2 DMCEFHDR FHDR MF=(C,DMCE),EQUATES=NO standard header 3 DMCEFHDR DS 0A 3 DMCEFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER 3 * 3 DMCEIFID DS 0A 0 INTERFACE IDENTIFIER 3 DMCEFCTU DS AL2 0 FUNCTION UNIT NUMBER 3 * BIT 15 HEADER FLAG BIT, 3 * MUST BE RESET UNTIL FURTHER NOTICE 3 * BIT 14-12 UNUSED, MUST BE RESET 3 * BIT 11-0 REAL FUNCTION UNIT NUMBER
3 DMCEFCT DS AL1 2 FUNCTION NUMBER 3 DMCEFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER 3 * 3 DMCERET DS 0A 4 GENERAL RETURN CODE 3 DMCESRET DS 0AL2 4 SUB RETURN CODE 3 DMCESR2 DS AL1 4 SUB RETURN CODE 2 3 DMCESR1 DS AL1 5 SUB RETURN CODE 1 3 DMCEMRET DS 0AL2 6 MAIN RETURN CODE 3 DMCEMR2 DS AL1 6 MAIN RETURN CODE 2 3 DMCEMR1 DS AL1 7 MAIN RETURN CODE 1 3 DMCEFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH 3 * 2 DMCEAREA DS A area address 2 DMCECTAD DS A catid address 2 DMCECTID DS CL4 catid 2 DMCEARLN DS F area length 2 DMCERESA DS A reserved (mf=m buffer) 2 DMCEHOST DS CL8 bcam name of the host 2 DMCESLCT DS C SELECT value 2 DMCEFLAG DS X flags 2 DMCESMPU DS CL4 id of sm pubset 2 DMCEUNUS DS XL6 unused 2 DMCE# EQU *-DMCEFHDR length parameter list 2 * 2 * return codes 2 * 2 DMCEOK EQU X'0000' NO_ERROR 2 DMCESRPM EQU X'0310' SRPM_ERROR 2 DMCEOPER EQU X'0311' OPERAND_ERROR_IN_STAM 2 DMCENFND EQU X'0312' MCE_CANNOT_BE_FOUND 2 DMCERQRL EQU X'0313' REQM_RELM_ERROR 2 DMCEICOW EQU X'0314' INVALID_CATID_OR_WILDCARD 2 DMCEATS EQU X'0316' AREA_TOO_SMALL 2 DMCELCKC EQU X'0317' MRSCAT_LOCK_CONFLICT 2 DMCESYER EQU X'0318' SYNCHRONIZATION_ERROR 2 DMCENINI EQU X'031A' MRSCAT_NOT_INITIALIZED 2 DMCETRER EQU X'031B' TRANSMISSION_ERROR 2 DMCEHOIN EQU X'031C' INVALID_HOST_NAME 2 DMCEPAER EQU X'031F' MRS_PARAM_ERROR 2 * 2 * subcode 2 2 * 2 DMCESC2L EQU X'00' LOCAL_ERROR 2 DMCESC2R EQU X'01' REMOTE_ERROR 2 * 2 * last catid 2 * 2 DMCELAST EQU X'40404040'
2 * 2 * last occupation 2 * 2 DMCELOCC EQU X'00' 2 * 2 * SELECT values 2 * 2 DMCEALL EQU 0 all the pubsets 2 DMCEPAGI EQU 1 paging pubsets 2 DMCELOCA EQU 2 local pubsets 2 DMCEREMO EQU 3 remote pubsets 2 DMCEACCE EQU 4 pubsets accessible 2 DMCELOAC EQU 5 pubsets local and accessible 2 DMCESHAR EQU 6 shared pubsets 2 DMCEEXCL EQU 7 exclusive pubsets 2 DMCEREAC EQU 8 pubsets remote and accessible 2 DMCESCA EQU 9 local and accessible pubsets which 2 * are connected to SPEEDCAT 2 DMCEXCS EQU 10 XCS configurated pubsets 2 DMCEHSMS EQU 11 all HSMS supported sm pubsets 2 DMCESF EQU 12 all single feature pubsets 2 DMCESM EQU 13 all system managed pubsets 2 DMCEVOL EQU 14 all volume sets of a sm pubset 2 DMCEDEF EQU 15 volume sets of sm pubsets which are 2 * defined but not in use 2 DMCEMCHE EQU 16 pubsets where an error occured during 2 * master change processing 2 DMCEINAC EQU 17 pubsets which are inaccessible 2 DMCEDXCS EQU 18 defined XCS configurated 2 DMCEQUIT EQU 19 pubset in quiet status 2 * 2 * flags 2 * 2 DMCEMPVS EQU X'80' set: MPVS mode 2 DMCEREF EQU X'40' set: REF = YES 2 DMCERALL EQU X'20' set: REF = ALL
DSECT für den Ausgabebereich des Makros (XPAND=MCE)
STAMCE MF=D,PREFIX=D,XPAND=MCE,VERSION=5 1 #INTF REFTYPE=REQUEST, C 1 INTNAME=STAM, C 1 INTCOMP=5 1 MFCHK MF=D, C 1 SUPPORT=(C,D,E,L,M,S), C 1 PREFIX=D, C 1 MACID=MCF, C 1 DMACID=MCF, C 1 DNAME=MCFMCE, C 1 PARAM=, C 1 SVC=33, C 1 ALIGN=F 2 DMCFMCE DSECT , 2 *,##### PREFIX=D, MACID=MCF ##### 1 STAMLY MF=D, C 1 PREFIX=D, C 1 MACID=MCF, C 1 PARAM=, C 1 VERSION=5, C 1 XPAND=MCE, C 1 FUNCT=1, C 1 CG27=DMCF, C 1 CATID=, C 1 AREA=, C 1 LENGTH=, C 1 REF=, C 1 HOST=, C 1 SELECT=, C 1 PUBSET= 2 #INTF REFTYPE=REQUEST, C 2 INTNAME=STAMLY, C 2 INTCOMP=5 2 DMCFMST DS 0D 2 MCEDSK VERSION=5,CG27=DMCF 3 #INTF REFTYPE=REQUEST, C 3 INTNAME=MCEDSK, C 3 INTCOMP=5 3 ******************************* 3 * header of all entry types * 3 ******************************* 3 DS 0D DW alignement 3 DMCFSHDR DS 0XL8 header 3 DMCFSCTD DS CL4 catid 3 * 3 DMCFSENT DS X entry type set
3 DMCFSSF EQU 0 single feature pubset 3 DMCFSSM EQU 1 system managed pubset 3 DMCFSVOL EQU 2 volume set 3 * 3 DS XL3 unused 3 ********************************************* 3 * starting point of the static entry part * 3 ********************************************* 3 DMCFSDSC DS 0D starting point of static part 3 ************************************************** 3 * static part of a single feature pubset entry * 3 ************************************************** 3 DMCFSBCA DS CL8 BCAM name for RFA 3 DMCFSDEM DS 0XL2 device mnemonic 3 DMCFSDEV DS XL1 device code 3 DMCFSDEF DS XL1 device filler 3 DMCFSBNU DS XL2 static number of CMS buffer 3 DMCFSBWT DS F batch wait time 3 DMCFSDWT DS F dialog wait time 3 * 3 * static pubset status values (1) 3 * 3 DMCFSSTA DS X static status byte (1) 3 DMCFSAUT EQU X'80' set : autoquiet selected 3 DMCFSBDF EQU X'40' set : static buffer defined 3 DMCFSBCL EQU X'20' set : static buffer resident (cl.3) 3 * reset: static buffer non-res. (cl.4) 3 DMCFSSH EQU X'10' set : pubset shared (next import) 3 * reset: pubset exclusive (next import) 3 DMCFSAC EQU X'08' set : pubset with controlled use 3 DMCFSUVA EQU X'04' set : physical allocation by users allowed 3 DMCFSFIM EQU X'02' set : continue IMPORT if cache can't be 3 * connected 3 * reset: abort IMPORT if cache can't be 3 * connected 3 DMCFSXCS EQU X'01' set : XCS pubset at startup 3 * 3 DMCFSSPC DS X SPEEDCAT set 3 DMCFSNSP EQU 0 no automatic start 3 DMCFSSSP EQU 1 SPEEDCAT task 3 DMCFSUSP EQU 2 SPEEDCAT own task 3 DMCFSNSS EQU 4 no, non start SPEEDCAT 3 * 3 * static pubset status values (2) 3 * 3 DMCFSST2 DS X static status byte (2) 3 DMCFSRIM EQU X'80' set : remote import by command only 3 * reset: remote import by connection
3 DMCFSCCT EQU X'40' set : TSOSCAT is to be converted to V10 3 * format during next EXPORT 3 DS XL1 unused 3 DMCFSUID DS CL8 userid allowed to access pubset 3 * 3 * static cache values 3 * 3 DMCFSCBS DS F cache size 3 * 3 DMCFSCBY DS X byte for bit values 3 DMCFSCBU EQU X'80' set : cache size unit is KB 3 * reset: cache size unit is MB 3 DMCFSCST EQU X'40' set : size tolerance 3 * 3 DMCFSCM DS X cache medium set 3 DMCFSCNC EQU 0 no cache 3 DMCFSCDC EQU 1 controller 3 DMCFSCES EQU 2 expanded storage 3 DMCFSCGS EQU 3 global storage 3 DMCFSCMM EQU 4 main memory 3 * 3 DMCFSCSZ DS X segment size set 3 DMCFSC4 EQU 0 4 KB 3 DMCFSC8 EQU 1 8 KB 3 DMCFSC16 EQU 2 16 KB 3 DMCFSC32 EQU 3 32 KB 3 * 3 DMCFSCFS DS X file selection 3 DMCFSBUS EQU 0 by user 3 DMCFSALL EQU 1 all 3 DMCFSAUS EQU 2 autoselected 3 * 3 DMCFSGDS DS X GS data security set 3 DMCFSGNS EQU 0 no security 3 DMCFSGCO EQU 1 connect 3 * 3 DMCFSGU1 DS XL1 GS unit=1 or 2 3 DMCFSGU2 DS XL1 unused 3 * 3 DMCFSGDB DS X GS double recording by buffer set 3 DMCFSGST EQU 0 std 3 DMCFSGNY EQU 1 mono 3 DMCFSGNN EQU 2 any 3 DMCFSGYE EQU 3 yes 3 * 3 DMCFSGFO DS X force out set 3 DMCFSGNF EQU 0 no force out 3 DMCFSGLF EQU 1 at low filling
3 DMCFSGHF EQU 2 at high filling 3 * 3 DMCFSCFE DS X DC prefetch set 3 DMCFSCFN EQU 0 no prefetch 3 DMCFSCFL EQU 1 low 3 DMCFSCFH EQU 2 high 3 * 3 * static attach/detach pubset 3 * 3 DMCFSMN DS XL2 attach pubset with dev# 3 * 3 * static allocator values 3 * 3 DMCFSAL1 DS F residual space at sat level 1 3 DMCFSAL2 DS F residual space at sat level 2 3 DMCFSAL3 DS F residual space at sat level 3 3 DMCFSAL4 DS F residual space at sat level 4 3 DMCFSAL5 DS F residual space at sat level 5 3 DMCFSAPA DS F predet primary alloc amount 3 DMCFSASA DS F predet secondary alloc amount 3 DMCFSADL DS F sec alloc doubling limit 3 DMCFSAZP DS F residual space for ZIP startup 3 * 3 * static eam values 3 * 3 DMCFSEMA DS F maximal size of file SYSEAM 3 DMCFSEMI DS F minimal size of file SYSEAM 3 DMCFSESA DS F secondary allocation of file SYSEAM 3 DMCFSEMS DS F virtual memory size of file SYSEAM 3 * 3 DMCFS# EQU *-DMCFSBCA length of the static part of a single 3 * feature pubset entry 3 ORG DMCFSDSC starting point of static part 3 ************************************************** 3 * static part of a system managed pubset entry * 3 ************************************************** 3 DMCFHBCA DS CL8 BCAM name for RFA 3 DMCFHDEM DS 0XL2 device mnemonic of volres of ctl volset 3 DMCFHDEV DS XL1 device code 3 DMCFHDEF DS XL1 device filler 3 DMCFHBNU DS XL2 static number of CMS buffer 3 DMCFHBWT DS F batch wait time 3 DMCFHDWT DS F dialog wait time 3 * 3 * static pubset status values (1) 3 * 3 DMCFHSTA DS X static status byte (1) 3 DMCFHAUT EQU X'80' set : autoquiet selected
3 DMCFHBDF EQU X'40' set : static buffer defined 3 DMCFHBCL EQU X'20' set : static buffer resident (cl.3) 3 * reset: static buffer non-res. (cl.4) 3 DMCFHSH EQU X'10' set : pubset shared (next import) 3 * reset: pubset exclusive (next import) 3 DMCFHAC EQU X'08' set : pubset with controlled use 3 DMCFHHSM EQU X'04' set : pubset is HSMS supported 3 DMCFHFIM EQU X'02' set : continue IMPORT if cache can't be 3 * connected 3 * reset: abort IMPORT if cache can't be 3 * connected 3 DMCFHXCS EQU X'01' set : XCS pubset at startup 3 * 3 DS XL1 unused 3 * 3 * static pubset status values (2) 3 * 3 DMCFHST2 DS X static status byte (2) 3 DMCFHRIM EQU X'80' set : remote import by command only 3 * reset: remote import by connection 3 DS XL1 unused 3 DMCFHUID DS CL8 userid allowed to access pubset 3 * 3 * static cache values 3 * 3 DS XL4 unused 3 DMCFHCBY DS X byte for bit values 3 DMCFHCST EQU X'40' set : size tolerance 3 * 3 DMCFHVID DS CL4 catid of ctl volset 3 * 3 DMCFHDFF DS X default file format set 3 DMCFHDST EQU 0 std 3 DMCFHPAM EQU 1 pamkey format 3 DMCFHNK2 EQU 2 NK2 format 3 DMCFHNK4 EQU 3 NK4 format 3 * 3 DS XL4 unused 3 * 3 * static attach/detach pubset 3 * 3 DMCFHMN DS XL2 attach pubset with dev# 3 * 3 * static allocator values 3 * 3 DS XL20 unused 3 DMCFHAPA DS F predet primary alloc amount 3 DMCFHASA DS F predet secondary alloc amount
3 DMCFHADL DS F sec alloc doubling limit 3 DS XL4 unused 3 * 3 * static EAM values 3 * 3 DMCFHEMA DS F maximal size of file SYSEAM 3 DMCFHEMI DS F minimal size of file SYSEAM 3 DMCFHESA DS F secondary allocation of file SYSEAM 3 DMCFHEMS DS F virtual memory size of file SYSEAM 3 * 3 DMCFH# EQU *-DMCFHBCA length of the static part of a system 3 * managed pubset entry 3 ORG DMCFSDSC starting point of static part 3 *********************************** 3 * static part of a pubset entry * 3 *********************************** 3 DMCFFBCA DS CL8 BCAM name for RFA 3 DMCFFDEM DS 0XL2 device mnemonic 3 DMCFFDEV DS XL1 device code 3 DMCFFDEF DS XL1 device filler 3 DMCFFBNU DS XL2 static number of CMS buffer 3 DMCFFBWT DS F batch wait time 3 DMCFFDWT DS F dialog wait time 3 * 3 * static pubset status values (1) 3 * 3 DMCFFSTA DS X static status byte (1) 3 DMCFFAUT EQU X'80' set : autoquiet selected 3 DMCFFBDF EQU X'40' set : static buffer defined 3 DMCFFBCL EQU X'20' set : static buffer resident (cl.3) 3 * reset: static buffer non-res. (cl.4) 3 DMCFFSH EQU X'10' set : pubset shared (next import) 3 * reset: pubset exclusive (next import) 3 DMCFFAC EQU X'08' set : pubset with controlled use 3 DMCFFUVA EQU X'04' set : physical allocation by users allowed 3 DMCFFFIM EQU X'02' set : continue IMPORT if cache can't be 3 * connected 3 * reset: abort IMPORT if cache can't be 3 * connected 3 DMCFFXCS EQU X'01' set : XCS pubset at startup 3 DS XL1 unused 3 * 3 * static pubset status values (2) 3 * 3 DMCFFST2 DS X static status byte (2) 3 DMCFFRIM EQU X'80' set : remote import by command only 3 * reset: remote import by connection 3 DS XL1 unused
3 DMCFFUID DS CL8 userid allowed to access pubset 3 * 3 * static cache values 3 * 3 DS XL4 unused 3 DMCFFCBY DS X byte for bit values 3 DMCFFCST EQU X'40' set : size tolerance 3 * 3 DS XL9 unused 3 * 3 * static attach/detach pubset 3 * 3 DMCFFMN DS XL2 attach pubset with dev# 3 * 3 * static allocator values 3 * 3 DS XL20 unused 3 DMCFFAPA DS F predet primary alloc amount 3 DMCFFASA DS F predet secondary alloc amount 3 DMCFFADL DS F sec alloc doubling limit 3 DS XL4 unused 3 * 3 * static eam values 3 * 3 DMCFFEMA DS F maximal size of file SYSEAM 3 DMCFFEMI DS F minimal size of file SYSEAM 3 DMCFFESA DS F secondary allocation of file SYSEAM 3 DMCFFEMS DS F virtual memory size of file SYSEAM 3 * 3 DMCFF# EQU *-DMCFFBCA length of the static part of a pubset 3 * entry 3 ORG DMCFSDSC starting point of static part 3 *************************************** 3 * static part of a volume set entry * 3 *************************************** 3 DMCFBPID DS CL4 corresponding pubset id 3 DS XL4 unused 3 DMCFBDEM DS 0XL2 device mnemonic 3 DMCFBDEV DS XL1 device code 3 DMCFBDEF DS XL1 device filler 3 * 3 * static performance attributes 3 * 3 DMCFBVSU DS X volset usage set 3 DMCFBVST EQU 0 standard volset 3 DMCFBWRK EQU 1 work volset 3 DMCFBHSM EQU 2 HSMS controlled volset 3 *
3 DMCFBAVA DS X availability set 3 DMCFBAST EQU 0 standard availability 3 DMCFBHIG EQU 1 high availability 3 * 3 DMCFBPER DS X performance profile 3 DMCFBPST EQU X'80' standard performance 3 DMCFBHIH EQU X'40' high performance 3 DMCFBVHI EQU X'20' very high performance 3 * 3 DMCFBCRE DS X write consistency set 3 DMCFBBYC EQU 0 by close 3 DMCFBIMM EQU 1 immediate 3 * 3 DS XL1 unused 3 * 3 DMCFBNFA DS X new file allocation 3 DMCFBNNR EQU 0 not restricted 3 DMCFBNPO EQU 1 physical only 3 DMCFBNNA EQU 2 not allowed 3 * 3 DMCFBVAC DS X volset access 3 DMCFBVNR EQU 0 not restricted 3 DMCFBVAO EQU 1 administrator only 3 * 3 DMCFBVSS DS X volset status 3 DMCFBVSD EQU 0 normal use 3 DMCFBVDO EQU 1 defined only 3 DMCFBVIH EQU 2 in hold 3 DMCFBVDF EQU 3 defect 3 * 3 DS XL2 unused 3 * 3 * static volset status values 3 * 3 DMCFBSTA DS X static status byte 3 DMCFBCVS EQU X'04' set: volset is ctl volset of a sm pubset 3 DS XL11 unused 3 * 3 * static cache values 3 * 3 DMCFBCBS DS F cache size 3 * 3 DMCFBCBY DS X byte for bit values 3 DMCFBCBU EQU X'80' set : cache size unit is KB 3 * reset: cache size unit is MB 3 * 3 DMCFBCM DS X cache medium set 3 DMCFBCNC EQU 0 no cache
3 DMCFBCDC EQU 1 controller 3 DMCFBCES EQU 2 expanded storage 3 DMCFBCGS EQU 3 global storage 3 DMCFBCMM EQU 4 main memory 3 * 3 DMCFBCSZ DS X segment size set 3 DMCFBC4 EQU 0 4 KB 3 DMCFBC8 EQU 1 8 KB 3 DMCFBC16 EQU 2 16 KB 3 DMCFBC32 EQU 3 32 KB 3 * 3 DMCFBCFS DS X file selection 3 DMCFBBUS EQU 0 by user 3 DMCFBALL EQU 1 all 3 DMCFBAUS EQU 2 autoselected 3 * 3 DMCFBGDS DS X GS data security set 3 DMCFBGNS EQU 0 no security 3 DMCFBGCO EQU 1 connect 3 * 3 DMCFBGU1 DS XL1 GS unit=1 or 2 3 DMCFBGU2 DS XL1 unused 3 * 3 DMCFBGDB DS X GS double recording by buffer set 3 DMCFBGST EQU 0 standard 3 DMCFBGNY EQU 1 mono 3 DMCFBGNN EQU 2 any 3 DMCFBGYE EQU 3 dual 3 * 3 DMCFBGFO DS X force out set 3 DMCFBGNF EQU 0 no force out 3 DMCFBGLF EQU 1 at low filling 3 DMCFBGHF EQU 2 at high filling 3 * 3 DMCFBCFE DS X DC prefetch set 3 DMCFBCFN EQU 0 no prefetch 3 DMCFBCFL EQU 1 low 3 DMCFBCFH EQU 2 high 3 * 3 * static allocator values 3 * 3 DMCFBAL1 DS F residual space at sat level 1 3 DMCFBAL2 DS F residual space at sat level 2 3 DMCFBAL3 DS F residual space at sat level 3 3 DMCFBAL4 DS F residual space at sat level 4 3 DMCFBAL5 DS F residual space at sat level 5 3 DS XL12 unused 3 DMCFBAZP DS F residual space for ZIP startup
3 * 3 DS XL16 unused 3 * 3 DMCFB# EQU *-DMCFBPID length of the static part of a volume 3 * set entry 3 ORG DMCFSDSC+DMCFS# length of a static MRSCAT entry 2 ********************************************** 2 * starting point of the dynamic entry part * 2 ********************************************** 2 DMCFD DS 0D starting point of dynamic part 2 *************************************************** 2 * dynamic part of a single feature pubset entry * 2 *************************************************** 2 DMCFDOC# DS F counter for occupations 2 * 2 * dynamic pubset status values (1) 2 * 2 DMCFDSTA DS X dynamic status byte (1) 2 DMCFDLOC EQU X'80' set: local reset: remote 2 DMCFDHOM EQU X'40' set: home reset: imported 2 DMCFDSH EQU X'20' set: shared reset: exclusive 2 DMCFDIMC EQU X'10' set: import in process 2 DMCFDEXC EQU X'08' set: export in process 2 DMCFDMAS EQU X'04' set: master reset: slave 2 DMCFDINA EQU X'02' set: inaccessible reset: not inacc 2 DMCFDQUI EQU X'01' set: quiet 2 * 2 * dynamic pubset status values (2) 2 * 2 DMCFDST2 DS X dynamic status byte (2) 2 DMCFDUVA EQU X'10' set: physical allocation by users allowed 2 DMCFDAC EQU X'08' set: pubset with controlled use 2 DMCFDMCP EQU X'04' set: master change in process 2 DMCFDPAG EQU X'02' set: paging pubset 2 DMCFDERI EQU X'01' set: eram inhibit 2 * 2 DMCFDSES DS X pubset session number 2 * 2 DMCFDFLA DS X CMS flags 2 DMCFDBDF EQU X'80' set: CMS buffers defined 2 DMCFDBCL EQU X'40' set: CMS buffers resident (class 3) 2 * reset: CMS buffers not resident (class 4) 2 DMCFDSPC EQU X'20' set: speedcat is running 2 DMCFDELC EQU X'10' set: Extra_large_catalog 2 * 2 DMCFDBNU DS XL2 number of CMS buffers 2 * 2 DMCFDATT DS X attribute
2 DMCFDLOB EQU X'40' set: large_objects 2 * files/volumes with more than 32 GB 2 DMCFDLFA EQU X'20' set: large_files_allowed 2 DMCFDRAI EQU X'10' set: pubset with RAID volumes 2 DMCFDGSV EQU X'08' set: gs volumes 2 DMCFDDRV EQU X'02' set: high availability by DRV 2 DMCFDKEY EQU X'01' set: key pubset 2 * 2 DMCFDXCN DS CL8 XCS name 2 DMCFDHOS DS CL8 host name :* MSCF host name 2 * 2 DMCFDPUB DS X pubset set 2 DMCFD2KN EQU 0 NK2 (2K native) 2 DMCFD4KN EQU 1 NK4 (4K native) 2 DMCFD4KO EQU 2 NK2, allocation unit multiple of 4K 2 * (4K oriented) 2 * dynamic cache values 2 * 2 DMCFDCSZ DS F size of cache buffer 2 * 2 DMCFDCB8 DS X byte for bit values 2 DMCFDCBU EQU X'80' set : cache size unit is KB 2 * reset: cache size unit is MB 2 DMCFDCDS EQU X'40' set : data security ensured 2 DMCFDCDB EQU X'20' set : double recording by buffer 2 DMCFDCDD EQU X'10' set : cache deactivated 2 DMCFDCIH EQU X'08' set : cache in hold 2 DMCFDCCU EQU X'04' set : cache used 2 DMCFDCSF EQU X'02' set : save file failed 2 * 2 DMCFDCM DS X cache medium set 2 DMCFDCNC EQU 0 no cache 2 DMCFDCDC EQU 1 controller 2 DMCFDCES EQU 2 expanded storage 2 DMCFDCGS EQU 3 global storage 2 DMCFDCMM EQU 4 main memory 2 * 2 DMCFDCS DS X segment size set 2 DMCFDC4 EQU 0 4 KB 2 DMCFDC8 EQU 1 8 KB 2 DMCFDC16 EQU 2 16 KB 2 DMCFDC32 EQU 3 32 KB 2 * 2 DMCFDCU1 DS XL1 GS unit=1 or 2 2 DMCFDCU2 DS XL1 unused 2 * 2 DMCFDCFO DS X force out set 2 DMCFDCNF EQU 0 no force out
2 DMCFDCIP EQU 1 at low filling 2 DMCFDCIN EQU 2 at high filling 2 * 2 DMCFDCFE DS X prefetch set 2 DMCFDCFN EQU 0 no prefetch 2 DMCFDCFL EQU 1 low 2 DMCFDCFH EQU 2 high 2 * 2 DMCFDCFS DS X file selection 2 DMCFDBUS EQU 0 by user 2 DMCFDALL EQU 1 all 2 DMCFDAUS EQU 2 auto select 2 * 2 DMCFDCAS DS H size of allocation unit (# of half pages) 2 DMCFDMTL DS H maximal I/O transfer length 2 DMCFDUID DS CL8 userid allowed to access pubset 2 * 2 DS XL2 unused 2 * 2 * dynamic allocator values 2 * 2 DMCFDAL5 DS F residual space at sat level 5 2 DMCFDAL4 DS F residual space at sat level 4 2 DMCFDAL3 DS F residual space at sat level 3 2 DMCFDAL2 DS F residual space at sat level 2 2 DMCFDAL1 DS F residual space at sat level 1 2 DMCFDAPA DS F predet primary alloc amount 2 DMCFDASA DS F predet secondary alloc amount 2 DMCFDADL DS F sec alloc doubling limit 2 DMCFDAZP DS F residual space for ZIP startup 2 * 2 * dynamic EAM values 2 * 2 DMCFDEMA DS F minimal size of file SYSEAM 2 DMCFDEMI DS F maximal size of file SYSEAM 2 DMCFDESA DS F secondary allocation of file SYSEAM 2 DMCFDEMS DS F virtual memory size of file SYSEAM 2 * 2 DMCFDREF DS XL4 counter of occupations (duplicate) 2 * 2 DMCF# EQU *-DMCFMST length of the STAM single 2 * feature pubset entry 2 ORG DMCFD starting point of dynamic part 2 *************************************************** 2 * dynamic part of a system managed pubset entry * 2 *************************************************** 2 DMCFKOC# DS F counter for occupations 2 *
2 * dynamic pubset status values (1) 2 * 2 DMCFKSTA DS X dynamic status byte (1) 2 DMCFKLOC EQU X'80' set: local reset: remote 2 DMCFKHOM EQU X'40' set: home reset: imported 2 DMCFKSH EQU X'20' set: shared reset: exclusive 2 DMCFKIMC EQU X'10' set: import in process 2 DMCFKEXC EQU X'08' set: export in process 2 DMCFKMAS EQU X'04' set: master reset: slave 2 DMCFKINA EQU X'02' set: inaccessible reset: not inacc 2 DMCFKQUI EQU X'01' set: quiet 2 * 2 * dynamic pubset status values (2) 2 * 2 DMCFKST2 DS X dynamic status byte (2) 2 DMCFKAC EQU X'08' set: pubset with controlled use 2 DMCFKMCP EQU X'04' set: master change in process 2 DMCFKPAG EQU X'02' set: paging pubset 2 DMCFKERI EQU X'01' set: eram inhibit 2 * 2 DMCFKSES DS X session number 2 * 2 DMCFKFLA DS X CMS flags 2 DMCFKBDF EQU X'80' set: CMS buffers defined 2 DMCFKBCL EQU X'40' set: CMS buffers resident (class 3) 2 * reset: CMS buffers not resident (class 4) 2 DMCFKBNU DS XL2 number of CMS buffers 2 * 2 * dynamic sm pubset status values 2 * 2 DMCFKSMS DS X special status bytes for sm pubsets 2 DMCFKGEN EQU X'80' set: pubset is in generation 2 ORG DMCFKSMS 2 DMCFKATT DS X attribute 2 DMCFKLOB EQU X'40' set: large_objects 2 * files/volumes with more than 32 GB 2 DMCFKLFA EQU X'20' set: large_files_allowed 2 DMCFKXCN DS CL8 XCS name 2 DMCFKHOS DS CL8 host name :* MSCF host name 2 * 2 DMCFKDFF DS X default file format set 2 DMCFKPAM EQU 0 pamkey format 2 DMCFKNO2 EQU 1 NK2 format 2 DMCFKNO4 EQU 2 NK4 format 2 * 2 * dynamic performance attributes 2 * 2 DMCFKPER DS X performance profile
2 DMCFKSTD EQU X'80' standard performance 2 DMCFKHIG EQU X'40' high performance 2 DMCFKVHI EQU X'20' very high performance 2 * 2 DMCFKWRC DS X write consistency 2 DMCFKBC EQU X'80' by close 2 DMCFKIMM EQU X'40' immediate 2 * 2 DMCFKAVA DS X availability 2 DMCFKAST EQU X'80' standard availability 2 DMCFKAHI EQU X'40' high availability 2 * 2 DS XL1 unused 2 * 2 DMCFKFMT DS X format profile 2 DMCFKK EQU X'80' system managed pubset with K volsets 2 DMCFKNK2 EQU X'40' system managed pubset with NK2 volsets 2 DMCFKFN4 EQU X'20' system managed pubset with NK4 volsets 2 * 2 DMCFKUSA DS X volume set usage 2 DMCFKUST EQU X'80' sm pubset with standard volsets 2 DMCFKWRK EQU X'40' sm pubset with work volsets 2 DMCFKHSS EQU X'20' sm pubset with HSMS controlled volsets 2 * 2 DS XL2 unused 2 DMCFKNOV DS F number of volsets 2 DS XL1 unused 2 DMCFKMTL DS H maximal I/O transfer length 2 DMCFKUID DS CL8 userid allowed to access the pubset 2 DS XL4 unused 2 * 2 * dynamic allocator values 2 * 2 DS XL20 unused 2 DMCFKAPA DS F predet primary alloc amount 2 DMCFKASA DS F predet secondary alloc amount 2 DMCFKADL DS F sec alloc doubling limit 2 DS XL4 unused 2 * 2 * dynamic EAM values 2 * 2 DMCFKEMA DS F maximal size of file SYSEAM 2 DMCFKEMI DS F minimal size of file SYSEAM 2 DMCFKESA DS F secondary allocation of file SYSEAM 2 DMCFKEMS DS F virtual memory size of file SYSEAM 2 * 2 DMCFKREF DS XL4 counter of occupations (duplicate) 2 *
2 DMCFK# EQU *-DMCFMST length of the STAM system 2 * managed pubset entry 2 ORG DMCFD starting point of dynamic part 2 ************************************ 2 * dynamic part of a pubset entry * 2 ************************************ 2 DMCFGOC# DS F counter for occupations 2 * 2 * dynamic pubset status values (1) 2 * 2 DMCFGSTA DS X dynamic status byte (1) 2 DMCFGLOC EQU X'80' set: local reset: remote 2 DMCFGHOM EQU X'40' set: home reset: imported 2 DMCFGSH EQU X'20' set: shared reset: exclusive 2 DMCFGIMC EQU X'10' set: import in process 2 DMCFGEXC EQU X'08' set: export in process 2 DMCFGMAS EQU X'04' set: master reset: slave 2 DMCFGINA EQU X'02' set: inaccessible reset: not inacc 2 DMCFGQUI EQU X'01' set: quiet 2 * 2 * dynamic pubset status values (2) 2 * 2 DMCFGST2 DS X dynamic status byte (2) 2 DMCFGAC EQU X'08' set: pubset with controlled use 2 DMCFGMCP EQU X'04' set: master change in process 2 DMCFGPAG EQU X'02' set: paging pubset 2 DMCFGERI EQU X'01' set: eram inhibit 2 * 2 DMCFGSES DS X session number 2 * 2 DMCFGFLA DS X CMS flags 2 DMCFGBDF EQU X'80' set: CMS buffers defined 2 DMCFGBCL EQU X'40' set: CMS buffers resident (class 3) 2 * reset: CMS buffers not resident (class 4) 2 DMCFGBNU DS XL2 number of CMS buffers 2 DMCFGATT DS X attribute 2 DMCFGLOB EQU X'40' set: large_objects 2 * files/volumes with more than 32 GB 2 DMCFGLFA EQU X'20' set: large_files_allowed 2 DMCFGXCN DS CL8 XCS name 2 DMCFGHOS DS CL8 host name :* MSCF host name 2 DS XL14 unused 2 DMCFGMTL DS H maximal I/O transfer length 2 DMCFGUID DS CL8 userid allowed to access pubset 2 DS XL4 unused 2 * 2 * dynamic allocator values 2 *
2 DS XL20 unused 2 DMCFGAPA DS F predet primary alloc amount 2 DMCFGASA DS F predet secondary alloc amount 2 DMCFGADL DS F sec alloc doubling limit 2 DS XL4 unused 2 * 2 * dynamic EAM values 2 * 2 DMCFGEMA DS F minimal size of file SYSEAM 2 DMCFGEMI DS F maximal size of file SYSEAM 2 DMCFGESA DS F secondary allocation of file SYSEAM 2 DMCFGEMS DS F virtual memory size of file SYSEAM 2 * 2 DMCFGREF DS XL4 counter of occupations (duplicate) 2 * 2 DMCFG# EQU *-DMCFMST length of the STAM pubset entry 2 * 2 ORG DMCFD starting point of dynamic part 2 **************************************** 2 * dynamic part of a volume set entry * 2 **************************************** 2 DMCFEOC# DS F counter for occupations 2 * 2 * dynamic volume set status values (1) 2 * 2 DMCFESTA DS X dynamic status bytes (1) 2 DMCFECON EQU X'80' set: volume set is connected 2 * 2 * dynamic volume set status values (2) 2 * 2 DMCFEST2 DS X dynamic status bytes (2) 2 DMCFEMCP EQU X'04' set: master change in process 2 DMCFEERI EQU X'01' set: eram inhibit 2 * 2 DS XL4 unused 2 * 2 DMCFEATT DS X attribute 2 DMCFERAI EQU X'10' set: volset with RAID volumes 2 DMCFEGSV EQU X'08' set: gs volumes 2 DMCFEDRV EQU X'02' set: high availability by DRV 2 DMCFEKEY EQU X'01' set: key volset 2 * 2 DS XL16 unused 2 * 2 DMCFEVOL DS X volume set format set 2 DMCFE2KN EQU 0 NK2 (2K native) 2 DMCFE4KN EQU 1 NK4 (4K native) 2 DMCFE4KO EQU 2 NK2, allocation unit multiple of 4K
2 * (4K oriented) 2 * dynamic cache values 2 * 2 DMCFECSZ DS F size of cache buffer 2 * 2 DMCFECB8 DS X byte for bit values 2 DMCFECBU EQU X'80' set : cache size unit is KB 2 * reset: cache size unit is MB 2 DMCFECDS EQU X'40' set : data security ensured 2 DMCFECDB EQU X'20' set : double recording by buffer 2 DMCFECDD EQU X'10' set : cache deactivated 2 DMCFECIH EQU X'08' set : cache in hold 2 DMCFECCU EQU X'04' set : cache used 2 DMCFECSF EQU X'02' set : save file failed 2 * 2 DMCFECM DS X cache medium set 2 DMCFECNC EQU 0 no cache 2 DMCFECDC EQU 1 controller 2 DMCFECES EQU 2 expanded storage 2 DMCFECGS EQU 3 global storage 2 DMCFECMM EQU 4 main memory 2 * 2 DMCFECS DS X segment size set 2 DMCFEC4 EQU 0 4 KB 2 DMCFEC8 EQU 1 8 KB 2 DMCFEC16 EQU 2 16 KB 2 DMCFEC32 EQU 3 32 KB 2 * 2 DMCFECU1 DS XL1 GS unit_1 2 DMCFECU2 DS XL1 GS unit_2 2 * 2 DMCFECFO DS X force out set 2 DMCFECNF EQU 0 no force out 2 DMCFECIP EQU 1 at low filling 2 DMCFECIN EQU 2 at high filling 2 * 2 DMCFECFE DS X prefetch set 2 DMCFECFN EQU 0 no prefetch 2 DMCFECFL EQU 1 low 2 DMCFECFH EQU 2 high 2 * 2 DMCFECFS DS X file selection 2 DMCFEBUS EQU 0 by user 2 DMCFEALL EQU 1 all 2 DMCFEAUS EQU 2 auto select 2 * 2 DMCFECAS DS H size of allocation unit (# of half pages) 2 DMCFEMTL DS H maximal I/O transfer length
2 DS XL10 unused 2 * 2 * dynamic allocator values 2 * 2 DMCFEAL5 DS F residual space at sat level 5 2 DMCFEAL4 DS F residual space at sat level 4 2 DMCFEAL3 DS F residual space at sat level 3 2 DMCFEAL2 DS F residual space at sat level 2 2 DMCFEAL1 DS F residual space at sat level 1 2 DS XL12 unused 2 DMCFEAZP DS F residual space for ZIP startup 2 * 2 DS XL16 unused 2 DMCFEREF DS XL4 counter of occupations (duplicate) 2 * 2 DMCFE# EQU *-DMCFMST length of the STAM volume 2 * set entry
DSECT für den Ausgabebereich des Makros (XPAND=OCC)
STAMCE MF=D,PREFIX=D,XPAND=OCC,VERSION=5 1 #INTF REFTYPE=REQUEST, C 1 INTNAME=STAM, C 1 INTCOMP=5 1 MFCHK MF=D, C 1 SUPPORT=(C,D,E,L,M,S), C 1 PREFIX=D, C 1 MACID=MCH, C 1 DMACID=MCH, C 1 DNAME=MCHOCC, C 1 PARAM=, C 1 SVC=33, C 1 ALIGN=F 2 DMCHOCC DSECT , 2 *,##### PREFIX=D, MACID=MCH ##### 1 STAMLY MF=D, C 1 PREFIX=D, C 1 MACID=MCH, C 1 PARAM=, C 1 VERSION=5, C 1 XPAND=OCC, C 1 FUNCT=1, C 1 CG27=DMCH, C 1 CATID=, C 1 AREA=, C 1 LENGTH=, C 1 REF=, C 1 HOST=, C 1 SELECT=, C 1 PUBSET= 2 #INTF REFTYPE=REQUEST, C 2 INTNAME=STAMLY, C 2 INTCOMP=5 2 DMCHOST DS 0F 2 DMCHSYS DS X sysid 2 DMCHUNUS DS XL3 unused 2 DMCHUSID DS CL8 userid 2 DMCHTSN DS CL4 tsn 2 DMCHTID DS F tid 2 DMCH# EQU *-DMCHOST length of the occupation entry
Beispiel
Im folgenden Programm wird der Makro STAMCE aufgerufen. Dabei werden von den ersten 25 der von STAMCE übergebenen MRSCAT-Einträgen die Katalogkennung und der BCAM-Name des Systems auf den Bildschirm ausgegeben.
STAMCE START PRINT NOGEN BALR 10,0 USING *,10 USING DSTAM3,6 ----------------------------------------------(1) USING DSTAM4,7 ----------------------------------------------(2) STAMCE MF=E,PARAM=STAM3,VERSION=5 ----------------------------(3) LR 7,1 ---------------------------------------------------(4) L 6,DMCEAREA --------------------------------------------(5) L 5,=F'25' WROUT HEADER,WROUTERR ----------------------------------------(6) SHOW CLC DMCFSCTD,=AL4(DMCELAST)---------------------------------(7) BE WROUTERR MVC CATID,DMCFSCTD -----------------------------------------(8) MVC PROCESS,DMCFFBCA CLI PROCESS,X'00' BNE WROUT2 MVC PROCESS,=CL8' ' WROUT2 WROUT OUTREC,WROUTERR LA 6,DMCFG#(6) BCT 5,SHOW WROUTERR TERM *** Definitions STAM3 STAMCE CATID=' ',MF=L,VERSION=5 HEADER DC Y(HEADERE-HEADER) DC CL2' ' DC CL1' ' DC C'CATID PROCESSOR ' HEADERE EQU * OUTREC DC Y(OUTRECE-OUTREC) DC CL2' ' DC CL1' ' CATID DS CL4 DC CL3' ' PROCESS DS CL8 OUTRECE EQU * LTORG DS 0F DSTAM3 STAMCE MF=D,PREFIX=D,XPAND=MCE,VERSION=5 DSTAM4 STAMCE MF=D,PREFIX=D,XPAND=PL,VERSION=5 END
Ablaufprotokoll:
/start-assembh % BLS0500 PROGRAM 'ASSEMBH', VERSION '<ver>' OF '<date>' LOADED % ASS6010 <ver> OF BS2000 ASSEMBH READY //compile source=*library-element(macexmp.lib,stamce), - // compiler-action=module-generation(module-format=llm), - // module-library=macexmp.lib, - // listing=parameters(output=*library-element(macexmp.lib,stamce)) % ASS6011 ASSEMBLY TIME: 210 MSEC % ASS6018 0 FLAGS, 0 PRIVILEGED FLAGS, 0 MNOTES % ASS6019 HIGHEST ERROR-WEIGHT: NO ERRORS % ASS6006 LISTING GENERATOR TIME: 27 MSEC //end % ASS6012 END OF ASSEMBH /start-executable-program library=macexmp.lib,element-or-symbol=stamce % BLS0523 ELEMENT 'STAMCE', VERSION '@' FROM LIBRARY ':2OSG:$QM212.MACEXMP.LIB' IN PROCESS % BLS0524 LLM 'STAMCE', VERSION ' ' OF '<date> <time>' LOADED CATID PROCESSOR ---------------------------------------------------------(9) A N89H04 AAK3 D015B219 AAK4 D015B219 AAN3 D015B219 AA4N AKEY HELIOS2 ALB2 ANG3 ANGELA2 AP13 STARTB2 BAB2 BABETTE2 BAB3 BABETTE2 BECK BEDS SOPHIE2 BSAD D015B007 BS41 BUEB D015B011 BUR3 D017ZE39 BUR4 D017ZE39 BUR5 . . . B202 B203 D015B019
(1) | Dem Assembler wird Register R6 als Basisadressregister zur Adressierung der DSECT für den Ausgabebereich des Makros STAMCE zugewiesen. Diese DSECT wird an der symbolischen Adresse DSTAM3 durch einen STAMCE-Aufruf mit MF=D und XPAND=MCE erzeugt. |
(2) | Dem Assembler wird Register R7 als Basisadressregister zur Adressierung der DSECT für den Ausgabebereich des Makros STAMCE zugewiesen. Diese DSECT wird an der symbolischen Adresse DSTAM4 durch einen STAMCE-Aufruf mit MF=D und XPAND=PL erzeugt. |
(3) | Der Makro STAMCE wird in seiner E-Form aufgerufen. Der zugehörige Datenbereich wird an der symbolischen Adresse STAM3 durch einen STAMCE-Aufruf mit MF=L erzeugt, wobei CATID=' ' (Leerzeichen, für alle MRSCAT-Einträge) eingetragen wird. |
(4) | In Register R7 wird die Anfangsadresse des Datenbereichs des Makros STAMCE geladen. Dies ist für die Adressierung des Ausgabebereichs über DMCEAREA (zeigt auf die Adresse des Ausgabebereichs) nötig. |
(5) | Register R6 wird mit der Adresse des Ausgabebereichs geladen. |
(6) | Ausgabe der Überschriftszeile. |
(7) | Prüfung, ob das Ende der gelieferten MRSCAT-Einträge erreicht ist. |
(8) | In einer Schleife werden die ersten 25 MRSCAT-Einträge ausgewertet, die von STAMCE im Ausgabebereich hinterlegt worden sind: für jeden Eintrag werden die Katalogkennung (Feld DMCFSCTD der DSECT) und der BCAM-Name des Systems (Feld DMCFFBCA der DSECT) - bzw. Leerzeichen, falls kein BCAM-Name eingetragen ist - in einen Ausgabesatz übertragen und auf dem Bildschirm ausgegeben. Anschließend wird die DSECT um die Länge eines Eintrags (DMCFG#) verschoben. |
(9) | Ausgabe der ersten 25 MRSCAT-Einträge (gekürzt dargestellt). |