Der Makro CMDALLW generiert eine Liste der zulässigen Operationen, die beim Aufruf der Makros CMDRST und CMDTST benutzt werden kann, wenn in diesen Makros für den Parameter STMT=A(identifier) angegeben wird.
Operation | Operanden |
CMDALLW | LIST = (name, ...) ,SIZE = 1 / i ,PREFIX = C / p ,MACID = MDA / mac ,MF = L / D / C |
LIST = (name,...)
gibt die Liste der zulässigen Anweisungen in den Makros CMDRST und CMDTST an. Das Layout wird so generiert, wie es beim Parameter STMT in diesen Makros notwendig ist. Nur die Anweisungen, deren interner Anweisungsname angegeben ist, sind zulässig. Der interne Anweisungsname ist in der Syntaxdatei in der Anweisungsdefinition abgelegt (siehe ADD-STMT). Er ist mindestens ein und maximal acht Byte lang. Die SDF-Standardanweisungen sind unabhängig von der hier getroffenen Festlegung immer zulässig.
SIZE = 1 / i
gibt die Anzahl der Namen an, die in die Liste der zulässigen Operationen eingetragen werden können. i muss ganzzahlig und größer als null sein.
Beschreibung der Parameter PREFIX, MACID und MF siehe Typen von Makroaufrufen.
Mögliche Kombinationen
[label] CMDALLW MF=D[,SIZE=i][,PREFIX=p][,MACID=mac] [label] CMDALLW MF=C[,SIZE=i][,PREFIX=p][,MACID=mac] [label] CMDALLW MF=L[,LIST=(name,...)]
Rückinformation und Fehleranzeigen
Der Makro liefert keinen Returncode.
Beispiele
Speicherbereich für maximal 20 Namen anfordern:
ALLC CMDALLW MF=C,SIZE=20
Modell für die Liste der zulässigen Anweisungen in einer DSECT deklarieren:
ALLD CMDALLW MF=D,PREFIX=D
Deklaration einer Liste von beispielsweise 20 Namen im statischen Code. Die Länge des Speicherbereiches wird hier durch die Anzahl der Listenelemente festgelegt.
ALL20 CMDALLW LIST=(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T),-
PREFIX=I
Der Speicherbereich kann durch den statischen Code initialisiert werden. Die Weiterverarbeitung erfolgt mit Verweis auf die DSECT:
MVC ALLC(IMDALL#),ALL20 L R5,ALLC USING ALLD,R5 MVC DMDALNR,=H'15' MVC DMDAL1+10*DMDALNL,=CL8'V' ...
(IMDALL#, DMDALNR, DMDAL1 und DMDALNL wurden durch CMDALLW mit PREFIX=I und D erzeugt)
Aufruf mit statischen Listen:
... LA 2,MYLIST LA 1,RST1 USING RSTD,1 CMDRST MF=M,PARAM=RST1,STMT=(2) * Update parameter area RST1 * using register notation ... RST1 CMDRST MF=L,STMT=A(MYLIST) * direct initialization of * parameter area RST1 MYLIST CMDALLW LIST=(A,B,C) RSTD CMDRST MF=D