JDYNVSAM TITLE ' ALLOCATE JOBGEN VS-00000100 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** AM DATASETS DYNAMICALLY' 00000200 *TITLEJDYNVSAM -- ALLOCATE JOBGEN VSAM DATASETS DYNAMICALLY 00000300 *A AUTHOR BOB KELLY 00000400 *A DESIGNER BOB KELLY 00000500 *A LANGUAGE ASSEMBLER H 00000600 *A SYSTEM IBM S/370 00000700 *A WRITTEN 10-27-84 00000800 * REVISED XX-XX-XX XXX. 00000900 *A 00001000 *A 00001100 *A CALL JDYNVSAM (RETURN) ALLOCATE 'DBGV.PROJSMT' AND 00001200 *A 'DBGV.SNFEXT'. 00001300 *A 00001400 *A IN/OUT ARGUMENT TYPE DESCRIPTION 00001500 *A 00001600 *A OUT RETURN S9(8) RETURN CODE FROM DYNALLOC 00001700 *A S9(8) ERROR AND REASON CODE FROM DYNALLOC 00001800 *A 00001900 *A 00002000 *A THIS PROGRAM IS USED TO DYNAMICALLY ALLOCATE THE 2 VSAM FILES 00002100 *A USED BY JOBGEN AND PREGEN: 'DBGV.PROJMST' AND 'DBGV.SNFEXT' . 00002200 *A FREE=CLOSE IS SPECIFIED FOR EACH. 00002300 *A EJECT 00002400 EJECT 00002500 * 00002600 R0 EQU 0 00002700 R1 EQU 1 00002800 R2 EQU 2 00002900 R3 EQU 3 00003000 R4 EQU 4 00003100 R5 EQU 5 00003200 R6 EQU 6 00003300 R7 EQU 7 00003400 R8 EQU 8 00003500 R9 EQU 9 00003600 R10 EQU 10 00003700 R11 EQU 11 00003800 R12 EQU 12 00003900 R13 EQU 13 00004000 R14 EQU 14 00004100 R15 EQU 15 00004200 EJECT 00004300 JDYNVSAM CSECT 00004400 STM R14,R12,12(R13) HOUSEKEEPING 00004500 LR R12,R15 00004600 USING JDYNVSAM,R12 00004700 L R5,0(R1) ADDRESS TO PASSED FIELDS 00004800 LA R2,REGSAV 00004900 ST R13,4(R2) 00005000 ST R2,8(R13) 00005100 LR R13,R2 00005200 * 00005300 XPROJALC EQU * 00005400 L R0,ALOCATN 00005500 LA R1,S99A LOAD SVC99 PARMS 00005600 SVC 230 00005700 ST R15,0(R5) SAVE RETURN CODE 00005800 L R3,S99ERRA SAVE ERROR INFORMATION 00005900 ST R3,4(R5) 00006000 XSNFALC EQU * 00006100 L R0,ALOCATN 00006200 LA R1,S99B LOAD SVC99 PARMS 00006300 SVC 230 00006400 ST R15,8(R5) SAVE RETURN CODE 00006500 L R3,S99ERRB SAVE ERROR INFORMATION 00006600 ST R3,12(R5) 00006700 B RETURN 00006800 * 00006900 RETURN EQU * 00007000 L R13,4(R13) 00007100 LM R0,R12,20(R13) LEAVE RETURN CODE IN R15. 00007200 L R14,12(,R13) 00007300 BR R14 00007400 EJECT 00007500 * 00007600 * 00007700 S99A DS 0F 00007800 DC X'80',AL3(S99RBA) POINTER TO REQUEST BLOCK. 00007900 S99RBA EQU * 00008000 DC X'14' 0 SVC 99 REQUEST BLOCK LENGTH = 20. 00008100 DC X'01' 1 SVC 99 VERB, ALLOCATE. 00008200 DC X'0000' 2 SVC 99 FLAGS 1 (NONE NEEDED). 00008300 S99ERRA DC X'0000' 4 SVC 99 ERROR RETURN. 00008400 DC X'0000' 6 SVC 99 INFORMATION RETURN. 00008500 DC A(S99TUPLA) 8 POINTS TO TEXT POINTERS. 00008600 DC F'0' 12 RESERVED. 00008700 DC XL4'40000000' 16 SVC 99 FLAGS 2 (WAIT FOR DSNAMES). 00008800 S99TUPLA EQU * 00008900 DC A(S99TUNA1) DDNAME. 00009000 DC A(S99TUNA2) DSNAME. 00009100 DC A(S99TUNA4) STATUS. 00009200 DC X'80',AL3(S99TUNA5) FREE=CLOSE. 00009300 SPACE 00009400 S99TUNA1 DS 0H 00009500 DC H'1' TEXT UNIT KEY FOR DDNAME. 00009600 DC H'1' NUMBER OF PARAMETERS = 1. 00009700 DC H'8' LENGTH OF PARAMETER = 1 TO 8. 00009800 DC CL8'PROJECT' DDNAME. 00009900 SPACE 00010000 S99TUNA2 DS 0H 00010100 DC H'2' TEXT UNIT KEY FOR DSNAME. 00010200 DC H'1' NUMBER OF PARAMETERS = 1. 00010300 DC H'44' LENGTH OF PARAMETER = 1 TO 44. 00010400 DC CL44'DBGV.PROJMST' 00010500 SPACE 00010600 S99TUNA4 DS 0H 00010700 DC H'4' TEXT UNIT KEY FOR STATUS. 00010800 DC H'1' NUMBER OF PARAMETERS = 1. 00010900 DC H'1' LENGTH OF PARAMETER = 1. 00011000 DC X'08' STATUS = SHR. 00011100 SPACE 00011200 S99TUNA5 DS 0H 00011300 DC X'001C' TEXT UNIT KEY FOR FREE=CLOSE. 00011400 DC H'0' NO PARAMETERS. 00011500 * 00011600 * 00011700 S99B DS 0F 00011800 DC X'80',AL3(S99RBB) POINTER TO REQUEST BLOCK. 00011900 S99RBB EQU * 00012000 DC X'14' 0 SVC 99 REQUEST BLOCK LENGTH = 20. 00012100 DC X'01' 1 SVC 99 VERB, ALLOCATE. 00012200 DC X'0000' 2 SVC 99 FLAGS 1 (NONE NEEDED). 00012300 S99ERRB DC X'0000' 4 SVC 99 ERROR RETURN. 00012400 DC X'0000' 6 SVC 99 INFORMATION RETURN. 00012500 DC A(S99TUPLB) 8 POINTS TO TEXT POINTERS. 00012600 DC F'0' 12 RESERVED. 00012700 DC XL4'40000000' 16 SVC 99 FLAGS 2 (WAIT FOR DSNAMES). 00012800 S99TUPLB EQU * 00012900 DC A(S99TUNB1) DDNAME. 00013000 DC A(S99TUNB2) DSNAME. 00013100 DC A(S99TUNB4) STATUS. 00013200 DC X'80',AL3(S99TUNB5) FREE=CLOSE. 00013300 SPACE 00013400 S99TUNB1 DS 0H 00013500 DC H'1' TEXT UNIT KEY FOR DDNAME. 00013600 DC H'1' NUMBER OF PARAMETERS = 1. 00013700 DC H'8' LENGTH OF PARAMETER = 1 TO 8. 00013800 DC CL8'LINE' DDNAME. 00013900 SPACE 00014000 S99TUNB2 DS 0H 00014100 DC H'2' TEXT UNIT KEY FOR DSNAME. 00014200 DC H'1' NUMBER OF PARAMETERS = 1. 00014300 DC H'44' LENGTH OF PARAMETER = 1 TO 44. 00014400 DC CL44'DBGV.SNFEXT' 00014500 SPACE 00014600 S99TUNB4 DS 0H 00014700 DC H'4' TEXT UNIT KEY FOR STATUS. 00014800 DC H'1' NUMBER OF PARAMETERS = 1. 00014900 DC H'1' LENGTH OF PARAMETER = 1. 00015000 DC X'08' STATUS = SHR. 00015100 SPACE 00015200 S99TUNB5 DS 0H 00015300 DC X'001C' TEXT UNIT KEY FOR FREE=CLOSE. 00015400 DC H'0' NO PARAMETERS. 00015500 SPACE 00015600 REGSAV DC 18F'0' 00015700 ALOCATN DC H'0',C'01' 00015800 LTORG 00015900 END 00016000