Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

CMDALLW Liste der zulässigen Operationen generieren

&pagelevel(5)&pagelevel

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