This is the subroutine that dynamically allocates the SYSOUT data
set that references the output descriptor.
* INVOKE DYNALLOC TO ALLOCATE A SYSOUT DATA SET. SPECIFY
* SYSOUT CLASS A AND REFERENCE THE OUTPUT DESCRIPTOR
* 'OUT1'. SET UP ADDRESSABILITY TO THE DYNAMIC ALLOCATION
* (SVC 99) REQUEST BLOCK.
*
DYNAL DS 0H
LA 10,SVC99PRM PTR TO SVC 99 RB PTR
LA 11,SVC99PRM+4 PTR TO SVC 99 RB
USING S99RBP,10 RB PTR
USING S99RB,11 RB
ST 11,S99RBPTR SET RB PTR TO RB
OI S99RBPTR,S99RBPND PTR HIGH ORDER BIT ON
*
* INITIALIZE THE SVC 99 REQUEST BLOCK
*
XC S99RB(RBLEN),S99RB ZERO THE RB
MVI S99RBLN,RBLEN RB LENGTH
MVI S99VERB,S99VRBAL RB VERB CODE=ALLOC
LA 1,TXTPTRS2 ADR SVC 99 TEXT PTRS
ST 1,S99TXTPP STORED IN RB
OI POINTERB,S99TUPLN HIGH ORDER BIT ON
* INDICATES LAST TEXT
* UNIT POINTER
LR 1,10 ADR OF RB POINTER
*
* ISSUE DYNALLOC TO ALLOCATE A SYSOUT DATA SET THAT
* REFERENCES THE OUTPUT DESCRIPTOR, OUT1
*
DYNALLOC INVOKES SVC99
ST 15,DYNAL_RETCODE SAVE RETURN CODE
MVC DYNAL_REASON,S99RSC SAVE REASON CODE
B DELETE TO DEL THE OUT DES
*
* DECLARE SPACE FOR THE RB, WHICH IS MAPPED BY IEFZB4D0
*
DS 0F
SVC99PRM DS CL(RBLEN+4) RB PTR & RB STORAGE
RBLEN EQU (S99RBEND-S99RB) LENGTH OF RB