CICS VSAM Transparency for z/OS, Version 1.2


DB2 administration

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.

Start of change

Overriding the default DB2 plan name

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 illustrate this, assume that you have a batch job that accesses three migrated VSAM data sets with DIM names VSAM1, VSAM2, and VSAM3. VSAM1 and VSAM2 are accessed in read-only mode, and VSAM3 is potentially updated. You want to access the data sets as follows:
  • VSAM1 - This file can be accessed without locking and can process uncommitted updates.
  • VSAM2 - This file can be accessed without locking and must only read committed updates.
  • VSAM3 - This file is updated and must be accessed using regular page or row locking.

To use the facility to override the default DB2 plan name requires the following actions:

  1. Choose a unique DB2 plan name for this batch job. For example, this could be the MVS job name or the application program name.
  2. Bind the DDM DBRM for VSAM1 with attributes of CURRENTDATA(NO) and ISOLATION(UR). Bind this package into a collection that is reserved for VT DDM packages with these attributes, such as VIDURNO.
  3. Bind the DDM DBRM for VSAM2 with attributes of CURRENTDATA(NO) ISOLATION(CS). Once again a unique collection name is required, for example VIDCSNO.
  4. Use the following command to bind the packages from steps 2 and 3 and the default package for VSAM3 into the plan that will be used for this batch job.
    BIND PLAN(JOBNAMEP)         + 
         PKLIST(VIDURNO.VSAM1,  + 
                VIDCSNO.VSAM2,  +
                VIDCOLL.VSAM3)
  5. Add the following DD statement to the batch job:
    //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.

End of change




Last updated: February 8, 2013 20:42:51