The DB2® load utility reads every record in the input sequential data set to satisfy the WHEN statement. If you are migrating a very large VSAM file, it is often more efficient to split the VIDLOAD output file into a separate data set for each table.
You can achieve this with DFSORT , like the example in Figure 1 .
//jobcard
//*
//COPY1 EXEC PGM=SORT
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SORTIN DD DISP=SHR,DSN=your.APPLCTL.LOADDB2
//TYPE00 DD DSN=your.TYPE00.FILE,DISP=(,CATLG,DELETE),
// SPACE=(CYL,(350,100)),UNIT=SYSDA,AVGREC=U,
// DCB=your.APPLCTL.LOADDB2
//TYPE10 DD DSN=your.TYPE10.FILE,DISP=(,CATLG,DELETE),
// SPACE=(CYL,(150,75)),UNIT=SYSDA,AVGREC=U,
// DCB=your.APPLCTL.LOADDB2
//TYPE20 DD DSN=your.TYPE20.FILE,DISP=(,CATLG,DELETE),
// SPACE=(CYL,(750,200)),UNIT=SYSDA,AVGREC=U,
// DCB=your.APPLCTL.LOADDB2
//TYPE30 DD DSN=your.TYPE30.FILE,DISP=(,CATLG,DELETE),
// SPACE=(CYL,(1550,300)),UNIT=SYSDA,AVGREC=U
// DCB=your.APPLCTL.LOADDB2
//TYPE30 DD DSN=your.TYPE40.FILE,DISP=(,CATLG,DELETE),
// SPACE=(CYL,(450,100)),UNIT=SYSDA,AVGREC=U,
// DCB=your.APPLCTL.LOADDB2
//SYSIN DD *
OPTION COPY
OUTFIL FNAMES=TYPE00,INCLUDE=(1,2,CH,EQ,C'00')
OUTFIL FNAMES=TYPE10,INCLUDE=(1,2,CH,EQ,C'10')
OUTFIL FNAMES=TYPE30,INCLUDE=(1,2,CH,EQ,C'30')
OUTFIL FNAMES=TYPE40,INCLUDE=(1,2,CH,EQ,C'40')