PL/I and COBOL use undocumented interfaces to invoke the VSAM SHOWCB and TESTCB macros. To provide this support in CICS® VT, you must create a new VSAM data set and add one additional DD statement for each base cluster and alternate index path to your batch JCL.
If you use the data migration generation utility, run the member VID4DUMM in the generated appl.dimname.migrate library to create the dummy VSAM data set. If you don't use the data migration generation facility, you must create the dummy data set manually.
Model the dummy data set cluster on the cluster for the original VSAM data set, with minimum space allocated. Figure 1 is an example data set that uses the definition for the cluster that was used in The mapping component .
DEFINE CLUSTER
(NAME(VID.VIDKSDS.VID)
INDEXED SHR(2 3))
DATA
(NAME(VID.VIDKSDS.VID.DATA)
KEYS(6 0) VOL(CTC002) RECSZ(80 80)
CISZ(16384) TRK(1))
INDEX
(NAME(VID.VIDKSDS.VID.INDEX)
CISZ(2048) VOL(CTC002) TRK(1))
Initialize the dummy data set with one record. Sample JCL using the Access Method Services IDCAMS utility follows:
//VIDCOPY EXEC PGM=IDCAMS,REGION=1M
//SYSPRINT DD SYSOUT=*
//INF DD DISP=SHR,DSN=VID.VIDKSDS
//OUTF DD DISP=SHR,DSN=VID.VIDKSDS.VID
//SYSIN DD *
REPRO INFILE(INF) OUTFILE(OUTF) COUNT(1)
//STEPLIB DD DSN=appl.prog.lib,DISP=SHR
// DD DSN=appl.DRIVERS.LOAD,DISP=SHR
// DD DSN=VID.SVIDLODE,DISP=SHR
//ITEMDET DD SUBSYS=(ssi,db2id,dimname)
//ITEMDET@ DD DSN=ITEMDET.VID.DUMMY,DISP=SHR
//ITEMDETX DD SUBSYS=(ssi,db2id,aix-dimname)
//@TEMDETX DD DSN=ITEMDET.VID.DUMMY,DISP=SHR
//ORDERDET DD SUBSYS=(ssi,db2id,dimname)
//@RDERDET DD DSN=ORDERDET.VID.DUMMY,DISP=SHR
You can choose your own rules for the dummy VSAM data set DD name by adding appropriate code to the CICS VT user exit VIDDDMEX.