The following example shows how to use the OPEN macro to create several tape data sets with file sequence numbers ranging from 1 to 10␠010. In the JCL statement, specify the LABEL=(fsn,labeltype) parameter, where fsn is the file sequence number and labeltype is the type of tape label such as SL or NL.
Example:
//* STEP06
//* Create files 1 through 10␠010 on a single volume.
//*--------------------------------------------------------------
//STEP06 EXEC ASMHCLG
//C.SYSIN DD *
. . .
L 6,=F'10010' CREATE 10␠010 FILES
LA 5,1 START AT FILE 1 AND DS1
RDJFCB (DCBAD) READ JFCB
MVC JFCBAREA(44),=CL44'DS' DSNAME IS 'DSfsn' WHERE
* fsn IS FSN 1 TO 10␠010
* -------------------------------------------------------------
* This loop creates file sequence numbers from 1 to 10␠010.
* -------------------------------------------------------------
LOOP EQU *
STCM 5,B'0011',JFCBAREA+68 STORE NEW FSN IN JFCB
CVD 5,WORKAREA UPDATE DSNAME
UNPK JFCBAREA+2(5),WORKAREA(8) LOAD JFCB
OI JFCBAREA+6,X'F0' SET DSfsn
MVC RECORD+6(5),JFCBAREA+2 MOVE FSN INTO RECORD
* RECORD FORMAT IS 'RECORDfsn'
OPEN (DCBAD, (OUTPUT)),TYPE=J CREATE FILE NUMBER
PUT DCBAD,RECORD WRITE RECORD
CLOSE (DCBAD,LEAVE) CLOSE FILE NUMBER
CONTIN EQU *
RDJFCB (DCBAD) READ JFCB
SR 5,5
ICM 5,B'0011',JFCBAREA+68 GET CURRENT FSN
LA 5,1(5) INCREMENT FSN
BCT 6,LOOP CONTINUE PROCESSING UNTIL DONE
. . .
* DEFINITIONS
DS 0D
SAVE DC 18F'0'
DCBAD DCB DDNAME=DD1,DSORG=PS,EXLST=LSTA,MACRF=PM,BLKSIZE=80,RECFM=F
LSTA DS 0F RJFCB EXIT LIST
DC X'87'
DC AL3(JFCBAREA)
JFCBAREA DC 50F'0' JFCB AREA
RECORD DC CL80'RECORD' RECORD AREA
DS 0D
WORKAREA DC 2F'0' WORK AREA
END
/*
* JCL FOR ALLOCATING TAPE DATA SET
IEC205I DD1,OCEFS001,G.STEP06,FILESEQ=09999, COMPLETE VOLUME LIST,
DSN=DS09999,VOLS=TAPE01,TOTALBLOCKS=1