Sample JCL to allocate VSAM non-RLS data sets

Purpose

The following is the sample JCL for VSAM non-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) -
  KEYS(8 0) -
  CISZ(18324) -
  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) -
    CYL(2,1) -
    KEYS(52, 8) -
    NONUNIQUEKEY -
    RECORDSIZE(4086 28990) -
    CISZ(18324) -
    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) -
    CYL(2,1) -
    KEYS(52, 60) -
    NONUNIQUEKEY -
    RECORDSIZE(4086 28990) -
    CISZ(18324) -
    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) -
  KEYS(8 0) -
  CISZ(18324) -
  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) -
    CYL(2,1) -
    KEYS(52, 8) -
    NONUNIQUEKEY -
    RECORDSIZE(4086 28990) -
    CISZ(18324) -
    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) -
    CYL(2,1) -
    KEYS(32, 60) -
    NONUNIQUEKEY -
    RECORDSIZE(4086 28990) -
    CISZ(18324) -
    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) -
  KEYS(8 0) -
  CISZ(18324) -
  RECORDSIZE(16 16))
/*
//REPRO EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
  REPRO INDATASET(ADMIN.VSAM1.DUMMY.SEQ) -
    OUTDATASET(ADMIN.VSAM1.CCZVSAM.SEQ.BASE)
/*
//