JCL statements used in the DEIINST or HFSINST job

JCL statements are created for the DEIINST or HFSINST job during the GENERATE process. Along with the GIMIAP control statements for each job step, the JCL is composed of:
Figure 2 illustrates the JCL statements that could be generated to invoke GIMIAP processing for data elements and Figure 3 illustrates the JCL statements that could be generated to invoke GIMIAP processing for hierarchical file system elements.
Figure 2. Sample DEIINST job for GIMIAP
     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 1 
     //DEIINST  JOB 'accounting info',MSGLEVEL=(1,1)
 2 
     //tgtlib01  EXEC PGM=GIMIAP,PARM='LANGUAGE=ENU'                        EXECDEI
     //distlib1 DD distribution library DD info.                             distlib1
     //distlib2 DD distribution library DD info.                             distlib2
     //tgtlib01 DD target library 1 DD info                                  tgtlib01
     //* ------ work data sets ----------------
     //SYSUT1   DD UNIT=SYSDA,SPACE=(TRK,(x,y)),DISP=(NEW,DELETE)            SYSUT1
     //SYSUT3   DD UNIT=SYSDA,SPACE=(TRK,(x,y)),DISP=(NEW,DELETE)            SYSUT3
     //SYSUT4   DD UNIT=SYSDA,SPACE=(TRK,(x,y)),DISP=(NEW,DELETE)            SYSUT4
     //SYSPRINT DD SYSOUT=*                                                  DEFAULT
     //SMPOUT   DD SYSOUT=*                                                  SMPOUT
     //SYSIN    DD *                                                         DEFAULT
     INVOKE COPY(IEBCOPY) RC(0) PRINT(SYSPRINT) REPLACE.
     COPY FROMLIB(distlib1) TOLIB(tgtlib01).
     SELECT CLIST(elem1).
     SELECT CLIST(elem2) ALIAS(elemA,elemB).
     COPY FROMLIB(distlib2) TOLIB(tgtlib01).
     SELECT CLIST(elem3) ALIAS(elemC).
     SELECT CLIST(elem4).
     /*
 2 
     //tgtlib02  EXEC PGM=GIMIAP,PARM='LANGUAGE=ENU'                        EXECDEI
     //distlib3 DD distribution library DD info.                             distlib3
     //distlib4 DD distribution library DD info.                             distlib4
     //tgtlib02 DD target library 2 DD info.                                 tgtlib02
     //* ------ work data sets ----------------
     //SYSUT1   DD UNIT=SYSDA,SPACE=(TRK,(x,y)),DISP=(NEW,DELETE)            SYSUT1
     //SYSUT3   DD UNIT=SYSDA,SPACE=(TRK,(x,y)),DISP=(NEW,DELETE)            SYSUT3
     //SYSUT4   DD UNIT=SYSDA,SPACE=(TRK,(x,y)),DISP=(NEW,DELETE)            SYSUT4
     //SYSPRINT DD SYSOUT=*                                                  DEFAULT
     //SMPOUT   DD SYSOUT=*                                                  SMPOUT
     //SYSIN    DD *                                                         DEFAULT
     INVOKE COPY(IEBCOPY) RC(0) PRINT(SYSPRINT) REPLACE.
     COPY FROMLIB(distlib3) TOLIB(tgtlib02).
     SELECT HELPENU(elem3).
     SELECT HELPENU(elem4) ALIAS(elemD,elemE).
     COPY FROMLIB(distlib4) TOLIB(tgtlib02).
     SELECT HELPENU(elem5) ALIAS(elemF).
     SELECT PNLENU(elem6).
     /*
Additional information:
 1 
The job name "DEIINST" is generated during the job creation process. A single job installs the data elements.
 2 
The job step name is the target library. Each job step installs multiple data elements from multiple distribution libraries into a single target library.
Figure 3. Sample HFSINST job for invoking GIMIAP
     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
 1 
     //HFSINST  JOB 'accounting info',MSGLEVEL=(1,1)
 2 
     //tghfs01  EXEC PGM=GIMIAP                                             EXECIAP
     //distlib1 DD distribution library DD info.                             distlib1
     //distlib2 DD distribution library DD info.                             distlib2
     //tghfs01  DD PATH='/Hierarchical/File/System/library1/DD/info/'        tghfs01
     //SYSPRINT DD SYSOUT=*                                                  DEFAULT
     //SYSIN    DD *                                                         DEFAULT
     INVOKE HFSCOPY(BPXCOPY) RC(0) PRINT(SYSPRINT)
     COPY FROMLIB(distlib1) TOLIB(tgthfs01)
     SELECT HFS(hfselm1) EPARM(LLELEMENT(hfselm1),LINK('linkname01','linkname
     thatislongerthanthefirstoneandshouldbemoreuserfriendly'),TYPE(BINARY))
     SELECT HFS(hfselm2) EPARM(LLELEMENT(hfselm2),LINK('linknm01'),TYPE(TEXT)
     )
     COPY FROMLIB(distlib2) TOLIB(tgthfs01)
     SELECT HFS(hfselm3) EPARM(LLELEMENT(hfselm3),TYPE(TEXT))
     SELECT HFS(hfselm4) EPARM(LLELEMENT(hfselm4),LINK('linknm01','linknm02',
     'linknm03','linknm04','linknm05'))
     /*
 2 
     //tghfs02  EXEC PGM=GIMIAP                                             EXECIAP
     //distlib3 DD distribution library DD info.                             distlib3
     //distlib4 DD distribution library DD info.                             distlib4
     //tghfs02  DD PATH='/Hierarchical/File/System/library2/DD/info/'        tghfs02
     //SYSPRINT DD SYSOUT=*                                                  DEFAULT
     //SYSIN    DD *                                                         DEFAULT
     INVOKE HFSCOPY(BPXCOPY) RC(0) PRINT(SYSPRINT)
     COPY FROMLIB(distlib3) TOLIB(tgthfs02)
     SELECT HFS(hfselm3) EPARM(LLELEMENT(hfselm3),LINK('linknm01','linknm02',
     'linknm03','linknm04'),TYPE(TEXT))
     SELECT HFS(hfselm4) EPARM(LLELEMENT(hfselm4),LINK('linknm01'),TYPE(TEXT)
     )
     COPY FROMLIB(distlib4) TOLIB(tgthfs02)
     SELECT HFS(hfselm5) EPARM(LLELEMENT(hfselm5),TYPE(TEXT))
     SELECT HFS(hfselm6) EPARM(LLELEMENT(hfselm6),LINK('linknm01','linknm02',
     'linknm03','linknm04','linknm05'),TYPE(TEXT))
     /*
Additional information:
 1 
The job name "HFSINST" is generated during the job creation process. A single job installs all hierarchical file system elements.
 2 
The job step name on the EXEC statement is the target library within a UNIX file system. Each job step installs multiple hierarchical file system elements from multiple distribution libraries into a single target library within a UNIX file system.