Purpose
The following is the sample JCL for
VSAM RLS to allocate three VSAM data set provided in the user assistance.
In this example, ADMIN.VSAM1 is the IAHLQ. The IAHLQ can be any combination
of valid data set qualifiers up to 26 characters long, including the
separating periods. The rest of the VSAM data set names must be specified
exactly as shown in this sample.//ADMIN JOB ,
// MSGCLASS=H,MSGLEVEL=(1,1),TIME=(,4),REGION=70M,
// USER=&SYSUID
//******************************
//* DELETE EXISTING VSAM
//******************************
//DELETE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DELETE ADMIN.VSAM1.CCZVSAM.COPY.BASE
/*
//* DEFINE KSDS
//**************************************************************
//DEFINE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DEFINE CLUSTER (NAME(ADMIN.VSAM1.CCZVSAM.COPY.BASE) -
INDEXED -
CYLINDERS(8 100) -
LOG(NONE) -
STORCLAS(NORMALG) -
DATACLAS(NOCACHE) -
KEYS(8 0) -
CISZ(18324) -
SHR(2 3) -
RECORDSIZE(112 112))
/*
//**************************************************************
//* PRIME KSDS WITH A DUMMY RECORD
//* IN ADMIN.DUMMY.DATA WITH ONE 112 BYTE RECORD
//* E.G. THE RECORD CAN BE DUMMY RECORD
//*************************************************************
//REPRO EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
REPRO INDATASET(ADMIN.VSAM1.DUMMY.DATA7110) -
OUTDATASET(ADMIN.VSAM1.CCZVSAM.COPY.BASE)
/*
//**************************************************************
//* DEFINE THE FIRST ALTERNATE INDEX KEY AND BUILD PATH
//**************************************************************
//ALTIX1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE AIX -
(NAME(ADMIN.VSAM1.CCZVSAM.COPY.NUAIX1) -
DATACLAS(NOCACHE) -
CYL(2,1) -
KEYS(52, 8) -
NONUNIQUEKEY -
RECORDSIZE(4086 28990) -
CISZ(18324) -
SHR(2 3) -
RELATE(ADMIN.VSAM1.CCZVSAM.COPY.BASE)) -
DATA -
(NAME(ADMIN.VSAM1.CCZVSAM.COPY.NUAIXDA1)) -
INDEX -
(NAME(ADMIN.VSAM1.CCZVSAM.COPY.NUAIXIX1))
DEFINE PATH -
(NAME(ADMIN.VSAM1.CCZVSAM.COPY.NUPATH1) -
PATHENTRY(ADMIN.VSAM1.CCZVSAM.COPY.NUAIX1))
BLDINDEX -
INDATASET(ADMIN.VSAM1.CCZVSAM.COPY.BASE) -
OUTDATASET(ADMIN.VSAM1.CCZVSAM.COPY.NUAIX1)
/*
//**************************************************************
//* DEFINE THE SECOND ALTERNATE INDEX KEY AND BUILD PATH
//**************************************************************
//ALTIX2 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE AIX -
(NAME(ADMIN.VSAM1.CCZVSAM.COPY.NUAIX2) -
DATACLAS(NOCACHE) -
CYL(2,1) -
KEYS(52, 60) -
NONUNIQUEKEY -
RECORDSIZE(4086 28990) -
CISZ(18324) -
SHR(2 3) -
RELATE(ADMIN.VSAM1.CCZVSAM.COPY.BASE)) -
DATA -
(NAME(ADMIN.VSAM1.CCZVSAM.COPY.NUAIXDA2)) -
INDEX -
(NAME(ADMIN.VSAM1.CCZVSAM.COPY.NUAIXIX2))
DEFINE PATH -
(NAME(ADMIN.VSAM1.CCZVSAM.COPY.NUPATH2) -
PATHENTRY(ADMIN.VSAM1.CCZVSAM.COPY.NUAIX2))
BLDINDEX -
INDATASET(ADMIN.VSAM1.CCZVSAM.COPY.BASE) -
OUTDATASET(ADMIN.VSAM1.CCZVSAM.COPY.NUAIX2)
/*
//******************************
//* DELETE EXISTING VSAM
//******************************
//DELETE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DELETE ADMIN.VSAM1.CCZVSAM.CALL.BASE
/*
//* DEFINE KSDS
//**************************************************************
//DEFINE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DEFINE CLUSTER (NAME(ADMIN.VSAM1.CCZVSAM.CALL.BASE) -
INDEXED -
CYLINDERS(8 100) -
LOG(NONE) -
STORCLAS(NORMALG) -
DATACLAS(NOCACHE) -
KEYS(8 0) -
CISZ(18324) -
SHR(2 3) -
RECORDSIZE(99 99))
/*
//**************************************************************
//* PRIME KSDS WITH A DUMMY RECORD
//* IN ADMIN.DUMMY.DATA WITH ONE 99 BYTE RECORD
//* E.G. THE RECORD CAN BE DUMMY RECORD
//*************************************************************
//REPRO EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
REPRO INDATASET(ADMIN.VSAM1.DUMMY.CALL) -
OUTDATASET(ADMIN.VSAM1.CCZVSAM.CALL.BASE)
/*
//**************************************************************
//* DEFINE THE FIRST ALTERNATE INDEX KEY AND BUILD PATH
//**************************************************************
//ALTIX1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE AIX -
(NAME(ADMIN.VSAM1.CCZVSAM.CALL.NUAIX1) -
DATACLAS(NOCACHE) -
CYL(2,1) -
KEYS(52, 8) -
NONUNIQUEKEY -
RECORDSIZE(4086 28990) -
CISZ(18324) -
SHR(2 3) -
RELATE(ADMIN.VSAM1.CCZVSAM.CALL.BASE)) -
DATA -
(NAME(ADMIN.VSAM1.CCZVSAM.CALL.NUAIXDA1)) -
INDEX -
(NAME(ADMIN.VSAM1.CCZVSAM.CALL.NUAIXIX1))
DEFINE PATH -
(NAME(ADMIN.VSAM1.CCZVSAM.CALL.NUPATH1) -
PATHENTRY(ADMIN.VSAM1.CCZVSAM.CALL.NUAIX1))
BLDINDEX -
INDATASET(ADMIN.VSAM1.CCZVSAM.CALL.BASE) -
OUTDATASET(ADMIN.VSAM1.CCZVSAM.CALL.NUAIX1)
/*
//**************************************************************
//* DEFINE THE SECOND ALTERNATE INDEX KEY AND BUILD PATH
//**************************************************************
//ALTIX2 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE AIX -
(NAME(ADMIN.VSAM1.CCZVSAM.CALL.NUAIX2) -
DATACLAS(NOCACHE) -
CYL(2,1) -
KEYS(32, 60) -
NONUNIQUEKEY -
RECORDSIZE(4086 28990) -
CISZ(18324) -
SHR(2 3) -
RELATE(ADMIN.VSAM1.CCZVSAM.CALL.BASE)) -
DATA -
(NAME(ADMIN.VSAM1.CCZVSAM.CALL.NUAIXDA2)) -
INDEX -
(NAME(ADMIN.VSAM1.CCZVSAM.CALL.NUAIXIX2))
DEFINE PATH -
(NAME(ADMIN.VSAM1.CCZVSAM.CALL.NUPATH2) -
PATHENTRY(ADMIN.VSAM1.CCZVSAM.CALL.NUAIX2))
BLDINDEX -
INDATASET(ADMIN.VSAM1.CCZVSAM.CALL.BASE) -
OUTDATASET(ADMIN.VSAM1.CCZVSAM.CALL.NUAIX2)
/*
//******************************
//* DELETE EXISTING VSAM
//******************************
//DELETE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DELETE ADMIN.VSAM1.CCZVSAM.SEQ.BASE
/*
//* DEFINE KSDS
//**************************************************************
//DEFINE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DEFINE CLUSTER (NAME(ADMIN.VSAM1.CCZVSAM.SEQ.BASE) -
INDEXED -
CYLINDERS(8 100) -
LOG(NONE) -
STORCLAS(NORMALG) -
DATACLAS(NOCACHE) -
KEYS(8 0) -
CISZ(18324) -
SHR(2 3) -
RECORDSIZE(16 16))
/*
//REPRO EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
REPRO INDATASET(ADMIN.VSAM1.DUMMY.SEQ) -
OUTDATASET(ADMIN.VSAM1.CCZVSAM.SEQ.BASE)
/*
//