FABIUNLS JCL example

This topic provides a JCL example for generating a database with the FABIUNLS utility program.

Figure 1. Example of database generation
//*******************************************************
//* SPLIT THE UNLOADED-DB INTO MULTIPLE DATA SETS       *
//*******************************************************
//*
//SPLITUNL  EXEC FABHULU,MBR=FABIUNLS,DBD=DPHIN02
//STEPLIB   DD  DSN=HPS.SHPSLMD0,DISP=SHR
//          DD  DSN=IMSVS.SDFSRESL,DISP=SHR
//          DD  DSN=RANDOMIZ.LIB,DISP=SHR
//DFSRESLB  DD  DSN=IMSVS.SDFSRESL,DISP=SHR
//DFSVSAMP  DD  *
4096,8
/*
//SYSPRINT  DD  SYSOUT=A
//SYSUT1    DD  DSN=UNLOADED.DB,DISP=OLD
//HDR       DD  DSN=DPHIN02E.HDR,DISP=(,CATLG),
//              VOL=SER=WRK34B,UNIT=SYSDA,SPACE=(TRK,1),
//              DCB=(RECFM=VB,LRECL=4092,BLKSIZE=4096)
//FKD1      DD  DSN=DPHIN02E.FKD1,DISP=(,CATLG),
//              VOL=SER=WRK34B,UNIT=SYSDA,SPACE=(CYL,(40,10)),
//              DCB=*.HDR
//FKD2      DD  DSN=DPHIN02E.FKD2,DISP=(,CATLG),
//              VOL=SER=WRK34C,UNIT=SYSDA,SPACE=(CYL,(40,10)),
//              DCB=*.HDR
 ........
 ........
 ........
//FKD17     DD  DSN=DPHIN02E.FKD17,DISP=(,CATLG),
//              VOL=SER=WRK35A,UNIT=SYSDA,SPACE=(TRK,(1,10)),
//              DCB=*.HDR
//TRL       DD  DSN=DPHIN02E.TRL,DISP=(,CATLG),
//              VOL=SER=WRK35B,UNIT=SYSDA,SPACE=(TRK,1),
//              DCB=*.HDR
//*
//*****************************************************************
//*  DEFINE THE CLUSTER FOR THE DATABASE                         *
//*****************************************************************
//*
//ALLOCDB   EXEC PGM=IDCAMS
//SYSPRINT  DD   SYSOUT=A
//SYSIN     DD   *
    DEFINE       CLUSTER  (NAME(USER.DB) .....
/*
//*
//*****************************************************************
//* RELOAD THE DATABASE WITH THE SEQUENTIAL SUBSET RANDOMIZER   *
//*****************************************************************
//*
//RELOAD    EXEC PGM=DFSRRC00,PARM=’ULU,DFSURGL0,DPHIN02’
//STEPLIB   DD  DSN=IMSVS.SDFSRESL,DISP=SHR
//          DD  DSN=RANDOMIZ.LIB,DISP=SHR
//DFSRESLB  DD  DSN=IMSVS.SDFSRESL,DISP=SHR
//IMS       DD  DSN=IMSVS.DBDLIB,DISP=SHR
//IEFRDER   DD  DUMMY
//DFSVSAMP  DD  DSN=IMSVS.PROCLIB(DFSVSAMP),DISP=SHR
//SYSPRINT  DD  SYSOUT=A
//DFSUINPT  DD  DSN=DPHIN02E.HDR,DISP=OLD
//          DD  DSN=DPHIN02E.FKD1,DISP=OLD
//          DD  DSN=DPHIN02E.FKD2,DISP=OLD
//          DD  ....
//          DD  ....
//          DD  DSN=DPHIN02E.FKD17,DISP=OLD
//          DD  DSN=DPHIN02E.TRL,DISP=OLD
//DB        DD  DSN=USER.DB,DISP=OLD
//SYSUDUMP  DD  SYSOUT=A
Note: If the database is involved in logical relations or secondary indexing, additional DD statements are required by IMS for the reload job step.