Load Utility JCL

Contents
idms
Contents
Preload CALC Processing (Step 1)
The JCL to perform CALC processing and preload sorting on the unloaded DL/I data is shown below:
Preload CALC Processing (Step 1, Part 1) (z/OS)
//CALC  EXEC PGM=IDMSDLRC,PARM='CALC,IDMSDLLD,ipsbname' //STEPLIB DD DSN=idms.loadlib,DISP=SHR //        DD DSN=ipsb.loadlib,DISP=SHR //SYSOUT DD SYSOUT=A //SYSLST DD SYSOUT=A //SYSPRINT  DD  SYSOUT=A //SYS001 DD DSN=unloaded.dli.data,DISP=OLD //SYS002 DD DSN=unsorted.dli.calc.data, //    UNIT=TAPE,DISP=(NEW,KEEP) // //
idms.loadlib
data set name of the CA IDMS DLI Transparency load library
ipsb.loadlib
data set name of the IPSB load library
ipsbname
name of the IPSB load module
unloaded.dli.data
data set name of the unloaded DL/I data
unsorted.dli.calc.data
data set name of the unsorted DL/I CALC data
PreLoad CALC Processing (Step 1, Part 1) (z/VSE)
// JOB // LIBDEF *,SEARCH=(idms.library,user.library) // DLBL fileid,'idms.database',,DA // EXTENT SYS018,nnnnnn // ASSGN SYS018,DISK,VOL=nnnnnn,SHR // TLBL  SYS001,'unloaded.dli.data' // ASSGN SYS001,nnn // TLBL  SYS002,'unsorted.dli.data' // ASSGN SYS002,nnn // EXEC IDMSDLRC sysidms parameter statements /* CALC,IDMSDLLD,ipsbname /* DMCL=dmclname /*
idms.library
data set name of the CA IDMS DLI Transparency library
user.library
name of the load library that contains the IPSB and SUBSCEHEMA modules.
fileid
DCML database file assignment
idms.database
name of the CA IDMS database file
nnnnnn
volume serial number of the disk unit
unloaded.dli.data
name of the tape data set that contains the HD UNLOAD DLI data
unsorted.dli.data
name of the tape data set that contains the CALC DLI data output
nnn
cuu address of the tape unit
ibsbname
name of the LOAD IPSB (Interface PSB with processing options of 'LOAD')
dmclname
name of the CA IDMS DMCL module
// JOB // LIBDEF *,SEARCH=(idms.library,user.library) // DLBL fileid,'idms.database',,DA // EXTENT SYS018,nnnnnn // ASSGN SYS018,DISK,VOL=nnnnnn,SHR // TLBL  SYS001,'unloaded.dli.data' // ASSGN SYS001,nnn // TLBL  SYS002,'unsorted.dli.data' // ASSGN SYS002,nnn // EXEC  IDMSDLRC,PARM='CALC,IDMSDLLD,ipsbname' sysidms parameter statements /* DMCL=dmclname /*
idms.library
data set name of the CA IDMS DLI Transparency library
user.library
name of the load library that contains the IPSB and SUBSCEHEMA modules.
fileid
DCML database file assignment
idms.database
name of the CA IDMS database file
nnnnnn
volume serial number of the disk unit
unloaded.dli.data
name of the tape data set that contains the HD UNLOAD DLI data
unsorted.dli.data
name of the tape data set that contains the CALC DLI data output
nnn
cuu address of the tape unit
ibsbname
name of the LOAD IPSB (Interface PSB with processing options of 'LOAD')
dmclname
name of the CA IDMS DMCL module
PreLoad CALC Sort (Step 1, Part 2) (z/OS)
//SORT  EXEC  SORT //SORTIN DD DSN=unsorted.calc.dli.data,DISP=OLD,UNIT=TAPE //SORTOUT DD DSN=sorted.calc.dli.data,DISP=OLD,UNIT=TAPE //SORTWK01 DD UNIT=DISK,SPACE=(CYL,(n),,CONTIG) //SORTWKO2 DD UNIT=DISK,SPACE=(CYL,(n),,CONTIG) //SORTWK03 DD UNIT=DISK,SPACE=(CYL,(n),,CONTIG) //SYSIN  DD * SORT  FIELDS=(20,4,BI,D,24,4,BI,A) /* //
n
number of cylinders for space allocation
sorted.calc.dli.data
data set name of the sorted DL/I CALC data
unsorted.calc.dli.data
data set name of the unloaded DL/I CALC data (from Step 1, Part 1)
This step requires that you use your own sort/merge facility.
PreLoad CALC Sort (Step1, Part 2) (z/VSE)
// TLB  SORTIN1,'unsorted.dli.data',,SD // ASSGN SYS001,nnn // TLBL SORTOUT,'sorted.dli.data',,SD // ASSGN SYS002,nnn // DLBL SORTWK1,'work.file1',,SD // EXTENT SYS003,nnnnnn,1,0,ssss,llll // ASSGN SYS003,DISK,VOL=nnnnnn,SHR // DLBL SORTWK2,'workfile2',,SD // EXTENT SYS004,1,0,ssss,llll // ASSGN SYS004,DISK,VOL=nnnnnn,SHR // DLBL SORTWK3,'work.file3',,SD // EXTENT SYS005,ERES00,1,0,ssss,llll // ASSGN SYS005,DISK,VOL=nnnnnn,SHR // EXEC SORT    SORT FIELDS=(20,4,BI,D,24,4,BI,A),FILES=1,WORK=3    RECORD TYPE=V    INPFIL BLKSIZE=8000    OUTFIL BLKSIZE=8000 /* //
unsorted.dli.data
data set name of the file created by the CALC processing step
sorted.dli.data
data set name of the sorted workfile produced by this sort step
nnn
cuu address of the tape unit
nnnnnn
volume serial number of the disk unit
work.file1
file id of the 1st SORT work file
work.file2
file id of the 2nd SORT work file
work.file3
file id of the 3rd SORT work file
logical.workfile
name of the data set that will receive data concerning logical relationships
ssss
starting track in disk extent
llll
number of tracks required for the disk file
Database Load (Step 2)
The JCL to load the DL/I data in the CA IDMS/DB database is shown below:
Central Version
Database Load (Step 2) (z/OS)
//LOAD  EXEC PGM=IDMSDLRC,PARM='LOAD,IDMSDLLD,ipsbname' //STEPLIB DD DSN=idms.loadlib,DISP=SHR //        DD DSN=ipsb.loadlib,DISP=SHR //sysctl DD DSN=idms.sysctl,DISP=SHR //SYSOUT DD SYSOUT=A //SYSLST DD SYSOUT=A //SYSPRINT  DD SYSOUT=A //SYS001 DD DSN=unloaded.dli.data, //    UNIT=TAPE,VOL=SER=nnnnnn,DISP=OLD //SYS003 DD DSN=step2.workfile, //              UNIT=TAPE,DISP=(NEW,KEEP), //    DCB=(RECFM=FB,LRECL=288,BLKSIZE=5760) //
idms.loadlib
data set name of the CA IDMS DLI Transparency load library
ipsb.loadlib
data set name of the IPSB load library
idms.sysctl
data set name of the SYSCTL file
ipsbname
name of the IPSB load module
nnnnnn
volume serial identifier for the tape/disk volume
step2.workfile
logical workfile output by the load
sysctl
ddname of the SYSCTL file
unloaded.dli.data
data set name of the unloaded DL/I data
Local Mode
To execute the load process in local mode, remove the SYSCTL statement and replace with the following:
//dictdb DD DSN=idms.dictdb  //sysjrnl DD DSN=idms.tapejrnl,DISP=(NEW,KEEP),UNIT=tape //userdb DD DSN=user.userdb,DISP=SHR
idms.dictdb
data set name of the data dictionary
idms.tapejrnl
data set name of the tape journal file
dictdb
ddname of the data dictionary
sysjrnl
ddname of the tape journal file
tape
symbolic device type for the tape journal file
user.userdb
data set name of the user database
userdb
ddname of the user database
Central Version
Database Load (Step 2) (z/VSE)
Use this Load utility JCL if the IDMSDLPC is included in the IDMSDLRC linkedit.
// JOB // LIBDEF *,SEARCH=(idms.library,user.library) // DLBL fileid,'idms.database',,DA // EXTENT SYS018,nnnnnn // ASSGN SYS018,DISK,VOL=nnnnnn,SHR // TLBL SYS001,'sorted.dli.data' // ASSGN SYS001,nnn // TLBL  SYS003,'logical.workfile' // ASSGN SYS003,nnn // EXEC  IDMSDLRC sysidms parameter statements /* LOAD,IDMSDLLD,ipsbname /* /DMCL=ipsbname /*
idms.library
data set name of the DLI Transparency library
user.library
name of the library that contains the IPSB and SUBSCHEMA modules
fileid
DMCL database file assignment
idms.database
name of the CA IDMS database file
nnnnnn
volume serial number of the disk unit
sorted.dli.data
name of the tape data set that contains the sorted CALC DLI data
logical.workfile
name of the data set that will receive data concerning logical relationships
nnn
cuu address of the tape unit
ipsbname
name of the LOAD IPSB (Interface PSB with processing options of 'LOAD')
dmclname
name of CA IDMS DMCL module
This LOAD utility JCL is for use if IDMSDLPC is not included in IDMSDLRC.
// JOB // LIBDEF *,SEARCH=(idms.library,user.library) // DLBL fileid,'idms.database',,DA // EXTENT SYS018,nnnnnn // ASSGN SYS018,DISK,VOL=nnnnnn,SHR // TLBL SYS001,'sorted.dli.data' // ASSGN SYS001,nnn // TLBL  SYS003,'logical.workfile' // ASSGN SYS003,nnn // EXEC IDMSDLRC,PARM='LOAD,IDMSDLLD,ipsbname sysidms parameter statements /* LOAD,IDMSDLLD,ipsbname /* /DMCL=dmclname /*
idms.library
data set name of the DLI Transparency library
user.library
name of the library that contains the IPSB and SUBSCHEMA modules
fileid
DMCL database file assignment
idms.database
name of the CA IDMS database file
nnnnnn
volume serial number of the disk unit
sorted.dli.data
name of the tape data set that contains the sorted CALC DLI data
logical.workfile
name of the data set that will receive data concerning logical relationships
nnn
cuu address of the tape unit
ipsbname
name of the LOAD IPSB (Interface PSB with processing options of 'LOAD')
dmclname
name of CA IDMS DMCL module
Local Mode JCL
To execute the load process in local mode, remove the UPSI statement and insert the following after the ASSGN statement:
// DLBL  dictdb,'idms.dictdb' // EXTENT sys015,nnnnnn,1,,SSSS,LLLL // ASSGN sys015,dddd,VOL=nnnnnn,SHR // TLBL  journal,'idms.tapejrnl' // ASSGN SYS009,X'ttt' // DLBL  userdb,'user.userdb',,DA // EXTENT sys018,nnnnnn,1,,SSSS,LLLL // ASSGN sys018,dddd,VOL=nnnnnn,SHR
idms.dictdb
file-id of the data dictionary
idms.tapejrnl
data set name of the tape journal file
dddd
device assignment for the disk file
dictdb
filename of the data dictionary
journal
filename of the tape journal
nnnnnn
volume serial number
sys018
logical-unit assignment of the user database
sys015
logical-unit assignment of the data dictionary
ttt
channel-unit assignment of the journal file
user.userdb
file-id of the user database
userdb
name of the user database
Workfile Sort/Merge (Step 3)
The JCL to merge/sort the logical workfiles produced by the load step is shown below:
Workfile Sort/Merge (Step 3) (z/OS)
// SORT  EXEC  SORT //SORTIN DD DSN=step2.workfile,DISP=OLD,UNIT=TAPE //SORTOUT DD DSN=step3.workfile,DISP=OLD,UNIT=TAPE //SORTWK01 DD UNIT=DISK,SPACE=(CYL,(n),,CONTIG) //SORTWK02 DD UNIT=DISK,SPACE=(CYL,(n),,CONTIG) //SORTWK03 DD UNIT=DISK,SPACE=(CYL,(n),,CONTIG) //SYSIN  DD * SORT  FIELDS=(25,5,BI,A) /* //
n
number of cylinders for space allocation
step2.workfile
the workfile output from Step 2
step3.workfile
the sorted workfile output by this step
This step requires that you use your own sort/merge facility.
Workfile Sort/Merge (Step 3) (z/VSE)
// TLBL  SORTIN1,'logical.workfile' // ASSGN  SYS001,nnn // TLBL  SORTOUT,'sorted.workfile' // ASSGN  SYS002,nnn // DLBL  SORTWK1,'work.file1' // EXTENT  SYS003,1,0,ssss,llll // ASSGN  SYS003,DISK,VOL=nnnnnn,SHR // DLBL  SORTWK2,'work.file2' // EXTENT  SYS004,1,0,ssss,llll // ASSGN  SYS004,DISK,VOL=nnnnnn,SHR // DLBL  SORTWK3,'work.file3' // EXTENT  SYS005,ERES00,1,,ssss,llll // ASSGN  SYS005,DISK,VOL=nnnnnn,SHR // EXEC SORT    SORT FIELDS=(25,5,BI,A),FILES=1,WORK=3    RECORD TYPE=F,LENGTH=288    INPFIL BLKSIZE=32544    OUTFIL BLKSIZE=32544 /*
logical.workfile
data set name of the logical workfile produced by LOAD processing
sorted.workfile
data set name of the sorted workfile produced by this SORT set
nnn
cuu address of the tape unit
nnnnnn
volume serial number of the disk unit
work.file1
file-id of the first SORT work file
work.file2
file id of the second SORT work file
work.file3
file id of the third SORT work file
ssss
starting track in disk extent
llll
number of tracks in disk extent
Prefix (Concatenated Key) Resolution (Step 4)
The JCL to resolve the prefixes (concatenated keys) for the logical records in the workfile from Step 3 is shown below:
Prefix (Concatenated Key) Resolution (Step 4) (z/OS)
//PFXR  EXEC   PGM=IDMSDLRC,PARM='PFXR,IDMSDLLD,ipsbname' //STEPLIB DD DSN=idms.loadlib,DISP=SHR //        DD DSN=ipsb.loadlib,DISP=SHR //SYSOUT DD SYSOUT=A //SYSLST DD SYSOUT=A //SYSPRINT DD SYSOUT=A //SYS004 DD DSN=step3.workfile,DISP=OLD,UNIT=TAPE //SYS003 DD DSN=step4.workfile.DISP=OLD,UNIT=TAPE //
idms.loadlib
data set name of the CA IDMS DLI Transparency load library
ipsb.loadlib
data set name of the IPSB load library
ipsbname
name of the IPSB load module
step3.workfile
sorted output from Step 3
step4.workfile
the workfile output by this step
Prefix (Concatenated Key) Resolution (Step 4) (z/VSE)
For use if IDMSDLPC is included in the IDMSDLRC linkedit.
// JOB // LIBDEF *,SEARCH=(idms.library,user.library) // TLBL SYS004,'sorted.workfile' // ASSGN SYS004,nnn // TLBL SYS003,'hierarchic.workfile' // ASSGN SYS003,nnn // EXEC  IDMSDLRC sysidms parameter statements PFXR,IDMSDLLD,ipsbname /*
idms.library
data set name of the CA IDMS DLI Transparency library
user.library
name of the library that contains the IPSB and SUBSCHEMA modules
sorted.workfile
name of the tape data set that contains the output of the previous step's SORT
hierarchic.workfile
name of the tape data set that contains the output of this step's SORT
nnn
cuu address of the tape unit
ipsbname
name of the LOAD IPSB (Interface PSB with processing options of 'LOAD' )
For use if IDMSDLRC does not include IDMSDLPC in the linkedit.
// JOB // LIBDEF *,SEARCH=(idms.library,user.library) // TLBL SYS004,'sorted.workfile' // ASSGN SYS004,nnn // TLBL SYS003,'hierarchic.workfile' // ASSGN SYS003,nnn // EXEC IDMSDLRC,PARM='PFXR,IDMSDLLD,ipsbname sysidms parameter statements /*
idms.library
data set name of the CA IDMS DLI Transparency library
user.library
name of the library that contains the IPSB and SUBSCHEMA modules
sorted.workfile
name of the tape data set that contains the output of the previous step's SORT
hierarchic.workfile
name of the tape data set that contains the output of this step's SORT
nnn
cuu address of the tape unit
ipsbname
name of the LOAD IPSB (Interface PSB with processing options of 'LOAD' )
Workfile Hierarchical Sort (Step 5)
The JCL to hierarchically sort the workfile from Step 4 is shown below:
Workfile Hierarchical Sort (Step 5) (z/OS)
//SORT  EXEC  SORT //SORTIN DD DSN=step4.workfile,DISP=OLD,UNIT=TAPE //SORTOUT DD DSN=step5.workfile,DISP=OLD,UNIT=TAPE //SORTWK01 DD UNIT=DISK,SPACE=(CYL,(1),,CONTIG) //SORTWKO2 DD UNIT=DISK,SPACE=(CYL,(1),,CONTIG) //SORTWK03 DD UNIT=DISK,SPACE=(CYL,(1),,CONTIG) //SYSIN  DD * SORT  FIELDS=(17,8,BI,A) /* //
This step requires that you use your own sort/merge facility.
step4.workfile
the workfile output from Step 4
step5.workfile
hierarchically sorted workfile output by this step
Workfile Hierarchical Sort (Step 5) (z/VSE)
// TLBL SORTIN1,'hierarchic.workfile',,SD // ASSGN  SYS001,nnn // TLBL  SORTOUT,'final.workfile',,SD // ASSGN  SYS002,nnn // DLBL  SORTWK1,'work.file1',,SD // EXTENT  SYS003,1,0,ssss,llll // ASSGN  SYS003,DISK,VOL=nnnnnn,SHR // DLBL  SORTWK2,'work.file2',,SD // EXTENT  SYS004,1,0,ssss,llll // ASSGN  SYS004,DISK,VOL=nnnnnn,SHR // DLBL  SORTWK3,'work.file3' // EXTENT  SYS005,ERES00,1,0,ssss,llll // ASSGN  SYS005,DISK,VOL=nnnnnn,SHR // EXEC SORT    SORT FIELDS=(17,8,BI,A),FILES=1,WORK=3    RECORD TYPE=F,LENGTH=288    INPFIL BLKSIZE=32544    OUTFIL BLKSIZE=32544 /*
hierarchic.workfile
data set name of the output from the PFXR step
final.workfile
data set name of the sorted workfile produced by this SORT step
nnn
cuu address of the tape unit
nnnnnn
volume serial number of the disk unit
work.file1
file id of the third SORT work file
work.file2
file id of the second SORT work file
work.file3
file id of the third SORT work file
ssss
starting track in disk extent
llll
number of tracks in disk extent
Prefix Update (Step 6)
The JCL to update the logical child database records with the resolved prefixes is shown below. This step uses the hierarchically sorted workfile from Step 5.
Central Version
Prefix Update (Step 6) (z/OS)
//PFXU  EXEC PGM=IDMSDLRC,PARM='PFXU,IDMSDLLD,ipsbname' //STEPLIB DD DSN=idms.loadlib,DISP=SHR //   DD DSN=ipsb.loadlib,DISP=SHR //sysctl DD DSN=idms.sysctl,DISP=SHR //SYSOUT DD SYSOUT=A //SYSLST DD SYSOUT=A //SYSPRINT DD SYSOUT=A //SYS004 DD DSN=step5.workfile,DISP=OLD,UNIT=TAPE //
idms.loadlib
data set name of the CA IDMS DLI Transparency load library
idms.sysctl
data set name of the SYSCTL file
ipsb.loadlib
data set name of the IPSB load library
ipsbname
name of the IPSB load module
step5.workfile
hierarchically sorted workfile from step 5
sysctl
ddname of the SYSCTL file
Local Mode JCL
To execute the prefix update process in local mode, remove the SYSCTL statement and replace with the following:
//dictdb DD DSN=idms.dictdb  //sysjrnlDD DSN=idms.tapejrnl,DISP=(NEW,KEEP),UNIT=tape //userdb DD DSN=user.userdb,DISP=SHR
idms.dictdb
data set name of the data dictionary
idms.tapejrnl
data set name of the tape journal file
dictdb
ddname of the data dictionary
sysjrnl
ddname of the tape journal file
tape
symbolic device type for the tape journal file
user.userdb
data set name of the user database
userdb
ddname of the user database
Central Version
Prefix Update (Step 6) (z/VSE)
Use the following LOAD utility if IDMSDLPC is included in the IDMSDLRC linkedit.
// JOB // LIBDEF *,SEARCH=(idms.library,user.library) // DLBL fileid,'idms.database',,DA // EXTENT SYS018,nnnnnn // ASSGN SYS018,DISK,VOL,=nnnnnn,SHR // TLBL  SYS004,'final.workfile' // ASSGN SYS004,nnn // EXEC  IDMSDLRC system parameter statements /* PFXU,IDMSDLLD,ipsbname /* /&
idms.library
data set name of the CA IDMS DLI Transparency library
user.library
name of the library that contains the IPSB and SUBSCHEMA modules
fileid
DMCL database file assignment
idms.database
name of the CA IDMS database file
nnnnnn
volume serial number of the disk unit
final.workfile
name of the tape dataset that contains the previous step's sorted output
ipsbname
name of the LOAD IPSB (Interface PSB with processing options of 'LOAD')
The following LOAD utility JCL is for use if IDMSDLPC is not included in the IDMSDLRC linkedit.
// JOB // LIBDEF *,SEARCH=(idms.library,user.library) // DLBL fileid,'idms.database',,DA // EXTENT SYS018,nnnnnn // ASSGN SYS018,DISK,VOL,=nnnnnn,SHR // TLBL  SYS004,'final.workfile' // ASSGN SYS004,nnn // EXEC IDMSDLRC,PARM='PFXU.IDMSDLLD,ipsbname system parameter statements /* /&
idms.library
data set name of the CA IDMS DLI Transparency library
user.library
name of the library that contains the IPSB and SUBSCHEMA modules
fileid
DMCL database file assignment
idms.database
name of the CA IDMS database file
nnnnnn
volume serial number of the disk unit
final.workfile
name of the tape dataset that contains the previous step's sorted output
ipsbname
name of the LOAD IPSB (Interface PSB with processing options of 'LOAD')
Local Mode JCL
To execute the prefix update process in local mode, remove the UPSI statement and insert the following after the ASSGN statement:
// DLBL  dictdb,'idms.dictdb' // EXTENT sys015,nnnnnn,1,,SSSS,LLLL // ASSGN sys015,dddd,VOL=nnnnnn,SHR // TLBL  journal,idms.tapejrnl' // ASSGN SYS009,X'ttt' // DLBL  userdb,'user.userdb',,DA // EXTENT sys018,nnnnnn,1,,SSSS,LLLL // ASSGN sys018,dddd,VOL=nnnnnn,SHR
idms.dictdb
file-id of the data dictionary
idms.tapejrnl
data set name of the tape journal file
dddd
device assignment for the disk file
dictdb
filename of the data dictionary
journal
filename of the tape journal
nnnnnn
volume serial number
sys015
logical-unit assignment of the data dictionary
sys018
logical-unit assignment of the user database
ttt
channel-unit assignment of the journal file
user.userdb
file-id of the user database
userdb
filename of the user database