CICS VSAM Transparency for z/OS, Version 1.2


Making JCL changes before migration

It is possible to make the required batch JCL changes in advance of migrating the VSAM data to DB2®, so that your application programs continue to access the VSAM data set. You direct CICS® VT to access the data either in VSAM or in DB2 through the user-controlled program VIDFMSPX.

When you implement the required changes, the final JCL to enable CICS VT looks like this:

//jobcard
//STEPLIB  DD DSN=appl.prog.lib,DISP=SHR
//         DD DSN=appl.DRIVERS.LOAD,DISP=SHR
//         DD DSN=VID.SVIDLODE,DISP=SHR
//ITEMDT   DD SUBSYS=(ssi,db2id,vtitem)
//ITEMDT@  DD DSN=ITEMDT.VID.DUMMY,DISP=SHR  
//ORDERDT  DD SUBSYS=(ssi,db2id,vtorder)
//ORDERDT@ DD DSN=ORDERDT.VID.DUMMY,DISP=SHR        
//AUDIT    DD SUBSYS=(ssi,db2id,vtaudit)
//AUDIT@   DD DSN=AUDIT.VID.DUMMY,DISP=SHR  
//AUDAIX   DD SUBSYS=(ssi,db2id,vtaudix)
//AUDAIX@  DD DSN=AUDIT.VID.DUMMY,DISP=SHR

VIDFMSPX is a user-controlled data-only module containing one or more DIM names. It operates like a switch. If you update your batch JCL before migrating the VSAM data set but want to continue to access the VSAM data, add the DIM name to the VIDFMSPX source and assemble and link it in any JOBLIB or STEPLIB data set. There is sample VIDFMSPX code and assemble/link JCL in my.SVIDCNFG.custom member VIDGFMX.

By making the required JCL changes in advance, you reduce the time and effort to switch to DB2 access after the data is migrated. Instead of having to make the JCL changes at the same time as you migrate the VSAM data, you can separate migration preparation activities, such as JCL modification, from data migration activities.

The VIDFMSPX module

When you add the SUBSYS statement and CICS VT parameters to an existing VSAM DD statement, all application calls to that DD are processed by the CICS VT subsystem. The first VSAM call in a batch application program opens the data set. If there is no DSN parameter, the subsystem assumes that the data has been migrated to DB2. If the DSN parameter exists, the subsystem attempts to load VIDFMSPX from the STEPLIB or JOBLIB libraries. If the module doesn't exist, CICS VT processes the appropriate VSAM call in DB2. If VIDFMSPX is successfully loaded, VT scans the module for the DIM name specified 3rd SUBSYS parameter. If the DIM is defined in VIDFMSPX, all calls to this DD statement are processed by VSAM. If the DIM is not defined in VIDFMSPX, all calls to this DD statement are processed by CICS VT.

For example, assume that you are using CICS VT to migrate your Order Detail, Item Detail, and Audit files. Figure 1 shows the JCL changes that prepare for CICS VT migration but still allow the VSAM file to be accessed as normal:

Figure 1. JCL changes before CICS VT migration
//jobcard
//STEPLIB  DD DSN=appl.prog.lib,DISP=SHR
//         DD DSN=appl.DRIVERS.LOAD,DISP=SHR
//         DD DSN=VID.SVIDLODE,DISP=SHR
//ITEMDT   DD SUBSYS=(ssi,db2id,vtitem),
//         DISP=SHR,DSN=ITEMDT.VSAM
//ITEMDT@  DD DSN=ITEMDT.VID.DUMMY,DISP=SHR  
//ORDERDT  DD SUBSYS=(ssi,db2id,vtorder),
//         DISP=SHR,DSN=ORDERDT.VSAM
//ORDERDT@ DD DSN=ORDERDT.VID.DUMMY,DISP=SHR        
//AUDIT    DD SUBSYS=(ssi,db2id,vtaudit),
//         DISP=SHR,DSN=AUDIT.VSAM
//AUDIT@   DD DSN=AUDIT.VID.DUMMY,DISP=SHR  
//AUDAIX   DD SUBSYS=(ssi,db2id,vtaudix),
//         DISP=SHR,DSN=AUDIT.VSAM.PATH
//AUDAIX@  DD DSN=AUDIT.VID.DUMMY,DISP=SHR

Assuming that the DIM names ar VTITEM, VTORDER, VTAUDIT, and VTAUDIX, the VIDFMSPX source code that you have to assemble and link to continue to access the VSAM data is as follows:

VIDFMSPX CSECT                           
VIDFMSPX AMODE 31                        
VIDFMSPX RMODE ANY                       
VERIFY   DC    CL8'VIDFMSPX'             
*                                        
*        SPECIFY DIM NAMES HERE          
         DC    CL8'VTITEM'
         DC    CL8'VTORDER'
         DC    CL8'VTAUDIT'
         DC    CL8'VTAUDIX'                                         
THEEND   DC    XL8'FFFFFFFFFFFFFFFF'     
         END                             

The CICS VT subsystem issues the following message when calls are redirected to VSAM:

+VIDSS250 SUBSYSTEM NAME=ssid VSAM ONLY FOR DDNAME=ddname

Managing the VIDFMSPX module

VIDFMSPX provides the flexibility to perform a staged migration process. If you exploit this capability, you must implement a mechanism to control VIDFMSPX.

You should assemble and link VIDFMSPX into your CICS VT application drivers library. If you are deploying a single, system-wide application drivers library, you will have a single instance of VIDFMSPX and therefore you require a single p oint of control. If you have separate drivers libraries on an application by application basis, you can have multiple application level instances of VIDFMSPX.

When you remove a DIM from VIDFMSPX, you should also remove the JCL references to the original VSAM data set.





Last updated: May 25, 2012 20:43:52