The format of the M F keyword for the generate form is:
1\11'"
=
(G,addressi,labell) where:G
specifies that this is the generate form of the macro.
address
label
specifics the address of a remote area in which the parameter list is to be built. The area must begin on a fullword boundary.
is a unique name that is used in an EQ U instruction in the expansion of the macro; label is equated to the length of the parameter list. You do not have to know the lenbrth of the parameter list if you code label; the
expansion of the macro determines the amount of storage required.
If you code MF = (G,address), the parameter list is built in the remote area specified.
If you code MF
=
(G,address,label), the parameter list is built in the remote area specified. The expansion of the macro equates the length of the parameter list to label.Appendix B. List. Executet and Generate Forms of Macros 173
List Form of BLDVRP
Note: If FIX is specified, DLVRP must be issued by the same task that issues BLDVRP. STRNO is optional in the list fonn of BLDVRP, but, if it is not specified, it must be specified in the execute fonn.
The fonnat of the list fonn of BLDVRP is:
BLOVRP BU .. · .. ·ERS == (size(number),size(number),I' •• ) ,MF=L
(,"'IX = {B,,'RIIOBI(BFR,IOB)}I (,KEYLEN:::a lengthl"
I,Ri\'IOOE31 == {ALLIBUFFICBINONE}I I,SIIRPOOL ==
(mnll
1,1\'IOOE
=
{24131J1(,STRNO = number!
I,TYI)E = {J.SRI,~II~J)EXII(;SRJ
I
Execute Form of BLDVRP
Note: The address is the address of the parameter list built by a list fonn of nLDVRP. If you use register notation, you may use register I, and a register between-2' and-
t2.
Registerr
is used to pass tfie parameter ust to VSAM.BUffERS may not be specified in ~he execute fonn of nLDVRP, because this operand affects the length of the paramet~r list.
The fonnat of the execute fonn of nLDVRP is:
BLOVRP l\IF == (E,address) (,KJ.:YLEN == lengthl
(,Ri\100E31 == {ALLIBU."FICBINONEH (,SHRPOOL == numberJ
(,1\IOOE = {£!131J1 (,STRNO = number!
(,TYPE
=
{LSRI,~IINI>EXIIGSRJI
Note: IfMODE=31 was specified on the list fonn, MODE=31 must be specified on the execute fonn. The same is true for MODE = 24.
I 74
MVS/XA VSAM Administration: Macro Instruction Referencel..ist Form of GENCB
Execute Form of GENCB
Note: There is no list fonn for DLVRP, because DLVRP works with.
BLDVRP: It uses the parameter list associated with BLDVRP. The address is the address of the parameter list built by a list fonn of BLDVRP. If you use register notation, use register 1 to pass the address of the parameter list to VSAM.
If MODE= 31 in the BLDVRP macro, then MODE= 31 is required in the DLVRP macro.
The fonnat of the execute fonn of DLVRP is:
DLVRP 1\IF = (E,address) I,SIIRI)OOL = numberJ 1,1\10DE= (~131}J
,TYPE = (I..8RIGSR)
The fonnat of the list fonn of GENeB is:
Ilabe~ GENCn BLK
=
(ACBIEXLSTIRPI .. ) I,AM == VSAMII,COPIES ==
number!
l,keyword == {address
I
namelnumberl option) , •••1
I,I .. E~GTH == numberJ I,LOC
=
(BEI.O\VIANYHI,R~10DE31 = {ALL1BUF .... ,CB1NO~"'E1I
,1\1"" = (LI(L,addre.fJ'I,labe~)}
I,\\' AREA == addressl
The fonnat of the execute fonn of GENCB is:
Ilabe~ GENCB BLK == (ACBIEXLSTIRPL) I,AM == VSAMI
I.COI)IES == numberJ
l,keyword == {addresslnameJnumberloption} , •••
1 I,I ..
ENGTH ==numberJ
I,LOC = {BELOW I ANY}
I
I,Ri\IODE31 == {ALLIBU .... ~ICBINONEH
,MF = (E,address)
I,W
AREA=
addressJAppendix B. List, Execute, and Generate Forms of Macros
175
List Form of ~IODtB
Execute Form of ~I()DCB
The fonnat of the generate form of the GENCB macro is:
IlaheLJ GENCB BLK == {ACBIEXLSTIRPL}
(,A~t
=
VSAM'(,COPIES
=
numberJ(,keyword == address I name I number
I
optionJ , •.• 1
(,I . .ENGT":II munberJ(,LOC
=
(BEI..O\VIANY}J(,R~IODE31 ~ {ALLIBUF}~ICBINO~EJI
,MF == (G,addressl,labeLJ) (,\V AREA = addressl
The format of the list form of MO DCB is:
IlaheLJ l\IODCB - (ACBIEXtSTIRI·I .. ( = address
,keyword = (addressl name I numherl option} , ..•
,l\I}""
=
(LI(L,addressl,labe4)}Note: If the executC!-(onTl.af MODCD is used and EXLST is used as a keyword to be processed, the block must be identified by
Acn
= .The format of the execute form of MODCB is:
(lahe4 ;\10DCB I(ACBIEXI .. STIRPL} = addressl
keyword
=
{addresslnamel numberI
option} , •.•,~11"'= (E,address)
Generate Form of l\IODCB
The format of the generate fonn of MODCD is:
IlabeLJ l\-IODCB {ACIJIEXI.,STIRIJL{ = address
,keyword
=:
(addresslnamelnumberl option} , •••,MF
=
(G,addr~ss(,labe4)176
MVS/XA VSAM Administration: Macro Instruction ReferenceThe fonnat of the list fonn of SHOWCB is:
(labe4 SHO\VCB ({ACBIEXLSTIRPL} = address) ,AREA = address
,FIELDS = (keywordl,keyword, ••• ) ,tENGTH = number
,l\t .. ~ = (tl(L,address(,labe~)}
,OB.JECT= {DATAIINDEXH Execute Form of SHO\VCB
The fonnat of the execute fonn of SHOWCD is:
(labe~ SIIO\VCB HACBIEXI.5TIRPL)
=
address ,AREA = address,MF == (E,address)
I,OIUECT= {I>ATAID-4DEXH Generate Form of SHO\VCB
List Form of TESTCD
'{be fonnat of the gcneratc fonn of SIIOWCD is:
IlabelJ SHO\VCB f(ACBIEXLSTIRPI .. } = addressl ,AREA = addre.tS
;"~II::LDS
=
(keywordl,keyword, ... 1);1 .. }~G"11 = number ,:\11-' = (G,addresJI,labe~)
I,OIUECT = (OAT AII:\DEX}J
Note: If the execute fonn of TESTCB is used and EXLST is used as a keyword to be processed, the block must be identified by ACB = .
The fonnat of the list fonn ofTESTCB is:
I'abe~ TESTCD ({ACIJI.:XLSTIRPL) = addressl I,ERET = address)
keyword = {addressl name I number
I
option} , .••,l\1F = (I .. I(L,addressi,labe4)}
I,OBJECT= (DATAIINI>EX)I
Appendix B. List. Execute, and Generate Forms of Macros
177
N ole: If the execute fonn of TESTCD is used and EXLST is used as a keyword to be processed, the block must be identified by ACD
= _
The format of the execute fonn of TESTCD is:
l!abeIJ TESTCD ({ACBIEXI..STIRI)L) == addressl (,ERET == addressl
keyword == {addresslnamelnumberloplion) , •••
,~I"" == (E,address)
(,OBJECT = {~IINDEXH.
Generate Form of TESTCD
The format of the generate form of TESTCD is:
(labeIJ TI:STCB ((ACBIEXLSTIRPL) == addressl I,ERKf == addressl
keyword == {addressl name
I
number I option) , .••,~I"" == (G,addressl,labeIJ) I,OBJECT== {DATAIINDEXH