The DB2® packages for the CICS® VT DDMs must be available to the application program at run time. If you are not using subtasking, CICS VT uses the DB2 plan for the first DDM that is used by the application program. Therefore, you must ensure that all DDM packages are bound into all of the DDM plans. The most effective way to do this is to use the same collection for each package and bind the entire collection into every DDM plan.
If you are using subtasking, CICS VT uses a different plan for each migrated VSAM data set.
In some circumstances you might want to run a batch job using bind parameters that are different to the default plan bind parameters. For example, you could have a read only program and you want to take advantage of DB2 lock avoidance using the CURRENTDATA(NO) parameter, or you could have programs that can handle the processing of uncommitted updates.
The third parameter in the subsys JCL statement contains the name of the DIM, which is also the default DB2 plan name. To override the default plan name, add the following DD statement to your JCL:
//VIDPLAN DD *
plan-name
When CICS VT creates a DB2 thread, it uses the plan plan-name.
To use the facility to override the default DB2 plan name requires the following actions:
BIND PLAN(JOBNAMEP) +
PKLIST(VIDURNO.VSAM1, +
VIDCSNO.VSAM2, +
VIDCOLL.VSAM3)
//VIDPLAN DD *
JOBNAMEP
You can use the DB2 plan override capability for jobs that run in either non-subtasking or subtasking modes. You can also override the default plan name using the VIDCATTE connection exit.
If you specify a plan name that does not exist or a null input, the batch job abends on the first file open in your application program. The abend code is S013-C8.