Session Number C 49 CICS VSAM Transparency Satish
Session Number: C 49 CICS VSAM Transparency Satish Tanna Satish_Tanna@uk. ibm. com © 2007 IBM Corporation Conference materials may not be reproduced in whole or in part without the prior written permission of IBM.
AGENDA B What is CICS VT? B Product highlights B Components B Migration process summary B Other enhancements in CICS VT 1. 2 q Operational enhancements q Performance enhancements B Supported software levels © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
WHAT EXACTLY IS CICS VT? B Tool to migrate VSAM files to DB 2 without changing application programs B Legacy programs access DB 2 data using driver modules CICS VT generates for each migrated data set B Migrated data can be accessed by SQL in new programs B Existing programs can be enhanced using SQL B Lowest risk migration strategy © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
WHAT EXACTLY IS CICS VT (continued)? B Before CICS VT RITE W E R , WRITE VSAM File #1 Application Program READ © IBM Corporation 2007 VSAM File #2 IBM European Web. Sphere Technical Conference
WHAT EXACTLY IS CICS VT (continued)? ATE B After CICS VT D , UP T R E INS ECT L E S C I C S Application Program V T DB 2 Table #1 VSAM File #1 GET , RE AD WR ITE, REW RITE VSAM File #2 Application programs unchanged © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
CICS VT HIGHLIGHTS B Completely separate from application program B Transparent access to data in DB 2 B 100% static SQL B Migrate on a file by file basis B Single live copy of data q Dual mode available for test purposes B Data can be re-engineered q Same data returned to VSAM programs q Enhanced data available using SQL © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
CICS VT COMPONENTS B Mapping component 1 Establishes relationship between VSAM record layout and DB 2 row B Data migration component 1 Utilities to migrate data to DB 2 and re-engineer if required B Testing component 1 Enables application programs to be tested following data migration B Run time component 1 Intercepts application calls to VSAM data sets migrated to DB 2 © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
MAPPING COMPONENT “ The relationship between the record in VSAM and the row in DB 2” B One time activity for each data set and alternate index B Manual and automated mapping methods B Automated method should handle at least 70% of all data sets B Run-time driver module generation B Performed by DB 2 DBA and application programmer B Includes design of DB 2 objects © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
MAPPING COMPONENT MAPPING DATA in DB 2 ISPF VSAM COPYBOOK or DSECT 01 VSAM-file. 02 file-key pic 9999 02 group-field. 03 order-number pic x(3) 03 order-type pic s 9(8) comp 02 next-field pic s 999 comp-3 ……… RUN-TIME DRIVERS CREATE TABLE VSAM_TAB ( TAB_KEY DEC(5, 0) , ORDER_NO CHAR(3) , ORDER_TYPE INTEGER , NEXT_FIELD DEC(3, 0) PRIMARY KEY(TAB_KEY)) Usually one to one, can be one to many © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TYPICAL DB 2 TABLE DESIGN - 1 B B One VSAM file becomes one DB 2 table Each copybook field becomes a DB 2 column 01 02 02 02 03 03 03 02 02 02 ITEM-DET. ITEM-NUMBER ITEM-NAME ITEM-DESC. ITEM-COLOUR ITEM-WEIGHT ITEM-COST ITEM-REORDER-QUANTITY ITEM-SUPPLIER-CODE ITEM-DATE-FIRST-SHIP ITEM-SHELF-LIFE ITEM-DESCRIPTION PIC X(6). PIC X(12). PIC X(6). PIC X(4). PIC S 99999 V 99 COMP-3. PIC S 999. PIC X(3). PIC S 9(9) COMP-3. PIC X(2). PIC X(35). © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TYPICAL DB 2 TABLE DESIGN - 2 02 ITEM-NUMBER PIC X(6). 02 ITEM-NAME PIC X(12). 03 ITEM-COLOUR PIC X(6). 03 ITEM-WEIGHT PIC X(4). 03 ITEM-COST PIC S 99999 V 99 COMP-3. 02 ITEM-REORDER-QUANTITY PIC S 999. 02 ITEM-SUPPLIER-CODE PIC X(3). 02 ITEM-DATE-FIRST-SHIP PIC S 9(9) COMP-3. 02 ITEM-SHELF-LIFE PIC X(2). 02 ITEM-DESCRIPTION PIC X(35). B B CREATE TABLE VID_ITEM (ITEM_NUMBER CHAR(6) , ITEM_NAME CHAR(12) , ITEM_COLOUR CHAR(6) , ITEM_WEIGHT CHAR(4) , ITEM_COST DEC(7, 2) , ITEM_REORDER_NO SMALLINT , ITEM_SUPP_CODE CHAR(3) , ITEM_DATE_FSHIP DATE , ITEM_SHELF_LIFE CHAR(2) , ITEM_DESCRIPTION CHAR(35) Numeric fields re-engineered Date field re-engineered © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
MANUAL VERSUS AUTOMATED MAPPING B Manual Mapping q User inserts information for each copybook field q User creates DDL q Additional mapping for alternate indexes B Automated Mapping q Mapping and DDL generated by CICS VT q Capability to edit column names and attributes q Automated alternate index mapping © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
AUTO-MAPPING REQUIREMENTS B There is a valid copybook or DSECT for a data set B Copybook is written in ASM, Cobol or PL/I and will assemble/compile B There are no COPY statements in the copybook B The data set will be migrated to a single table B There is a maximum of 5 levels of nested redefines B The maximum OCCURS clause is 99 B MACRO and MEND statements must be removed from DSECTS B User is responsible for copybook/DSECT “quality” © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
AUTO-MAPPING PROCESS Step 1 - Batch utility gathers base cluster information Step 2 - User specifies copybook or DSECT for file Step 3 - Optionally edit generated columns q Names and attributes q REDEFINES Step 4 - JCL generated and submitted Step 5 - driver modules generated © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
MANUAL MAPPING B When data set will be mapped to multiple tables using exits q Multiple record types q Repeating groups of may fields q To introduce normalisation B DDL created by user B Data set mapped by user B Alternate indexes mapped by user q Batch mapping utility © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
DATA MIGRATION COMPONENT B Three steps in data migration process 1. Unload existing data from VSAM data set 2. Convert data to DB 2 format 3. Load DB 2 data (using DB 2 LOAD utility) B CICS VT utilities provided for 1 and 2 B Optionally identifies invalid numeric fields that are mapped to numeric column types (which would cause data conversion errors) © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
STEP 1 - UNLOAD VSAM DATA SET B Supplied batch utility program VIDUNLOD //VIDUNLOD EXEC PGM=VIDUNLOD //STEPLIB DD DSN=VID. VIDLOAD, DISP=SHR //SYSPRINT DD SYSOUT=* //FILEIN DD DSN=vsam. file, DISP=SHR //FILEOUT DD DSN=vsam. unload, UNIT=SYSDA, // DISP=(, CATLG, DELETE), RECFM=FB, LRECL=108, // SPACE=(CYL, (25, 5), RLSE) B Creates sequential data set 1 1 Must be RECFM=FB LRECL = longest record length plus 8 bytes for KSDS and 12 bytes for RRDS © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
STEP 2 - REFORMAT VSAM DATA - 1 B Supplied batch utility program VIDLOAD //VIDLOAD EXEC PGM=VIDLOAD, PARM=dimname //STEPLIB DD DSN=VID. DRIVERS. LOAD, DISP=SHR // DD DSN=VID, LOAD, DISP=SHR //SYSPRINT DD SYSOUT=* //LOADIN DD DSN=vsam. unload, DISP=SHR //LOADOUT DD DSN=vsam. db 2 load, UNIT=SYSDA, // DISP=(, CATLG, DELETE), RECFM=FB, LRECL=100, // SPACE=(CYL, (25, 5), RLSE) B Creates reformatted sequential data set ready for DB 2 load 1 1 1 Must be RECFM=FB LRECL=length of longest DB 2 record CICS VT invoked to perform data re-engineering © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
STEP 3 - LOAD DATA INTO DB 2 B Uses standard DB 2 LOAD utility (the most efficient way to load records into a DB 2 table) B LOAD utility control cards generated by DB 2 sample program DSNTIAUL B Will require WHEN statements if migrating one file to multiple DB 2 tables © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
REFORMAT VSAM DATA - 2 B If file is mapped to multiple tables, DD name for output data is different. //VIDLOAD EXEC PGM=VIDLOAD, PARM=dimname //STEPLIB DD DSN=VID. DRIVERS. LOAD, DISP=SHR // DD DSN=VID, LOAD, DISP=SHR //SYSPRINT DD SYSOUT=* //LOADIN DD DSN=vsam. unload, DISP=SHR //LOADOUTM DD DSN=vsam. db 2 load, UNIT=SYSDA, // DISP=(, CATLG, DELETE), RECFM=FB, LRECL=100, // SPACE=(CYL, (25, 5), RLSE) B Relies on code in IRD exit to identify appropriate record type © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
REFORMAT VSAM DATA - 3 Example: FILE X has 8 -byte key and contains 3 record types. Sub-field of key indicates record type. B B Implemented as 4 tables in CICS VT One FBE exit and one IRD exit to manage the data 1 1 B Table 1 is mapped to CICS VT and contains the key columns Table 2 contains type #1 records and is accessed by the exits Table 3 contains type #2 records and is accessed by the exits Table 4 contains type #3 records and is accessed by the exits IRD exit must set table indicator in first 2 bytes of output record © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
REFORMAT VSAM DATA - 4 Data produced by VIDLOAD with LOADOUTM KEY 0001000013 0101000013 DATA 1000000041 DATA 1000000042 DATA 1000000043 00020 0202000020 DATA 2000011 DATA 2000012 DATA 1000013 DATA 2000014 0002000021 0202000021 DATA 20000000022 DATA 1000023 DATA 2000024 0002000022 0202000022 DATA 2000031 DATA 2000032 DATA 1000033 DATA 2000034 00030 0303000030 DATA 30000011 DATA 30000012 DATA 30000013 DATA 30000014 DATA 30000015 0003000031 0303000031 DATA 30000022 DATA 30000023 DATA 30000024 DATA 30000025 LOAD DATA REPLACE INDDN SYSREC 00 INTO TABLE_02 WHEN (1: 2) = '02' © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
DATA MIGRATION - THE REALITY B Potentially old legacy files with high probability of inconsistent data q Numeric field values with BLANKS, binary zeroes q Inconsistent date values (how about a value of ASAP? ) B VIDLOAD can be used to identify invalid numeric values B DB 2 LOAD will fail if it encounters invalid column values B Potential to use exits for verification © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
IDENTIFY INCONSISTENT DATA B Additional DD statement added to VIDLOAD //VIDLOAD EXEC PGM=VIDLOAD, PARM=dimname //STEPLIB DD DSN=VID. DRIVERS. LOAD, DISP=SHR // DD DSN=VID, LOAD, DISP=SHR //SYSPRINT DD SYSOUT=* //LOADIN DD DSN=vsam. unload, DISP=SHR //LOADOUT DD DUMMY //VIDS 0 C 7 DD SYSOUT=* All invalid numeric fields identified VID DATA EXCEPTION REPORT RECORD 0000000102 OFFSET 0029 DATASET VIDKSDS FIELD NAME VIDF 004 LENGTH 0004 VALUE xxxx RECORD 0000000356 OFFSET 0063 DATASET VIDKSDS FIELD NAME VIDF 007 LENGTH 0003 VALUE yyy B FBE exit might be required for recurring fields © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
INCONSISTENT DATA - THE OPTIONS B Invalid data q q Perform data cleansing exercise Map inconsistent fields to CHAR columns, correct invalid data and remap to numeric columns and remigrate Perform data validation/correction using CICS VT exits Correct data during migration B May have to identify and correct the application programs that are creating invalid data © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B Dual mode facility (DMF) - major new V 1. 2 feature 1 1 1 Application program calls to migrated data sets are processed in DB 2 and in VSAM VT automatically compares record areas and call status areas Any difference is highlighted B Will significantly reduce application program test B Two main purposes: a) Verify initial migration b) Test user exits © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B Using DMF to verify initial data migration 1 1 1 The VT utility VIDUNLOD unloads a VSAM file to a sequential data set The VT utility VIDLOAD converts sequential data set into a DB 2 load file according to the mapping and user exits The DB 2 LOAD utility loads the DB 2 table(s) B CICS VT V 1. 1 1 1 User runs VIDUNLOD against the migrated data in DB 2 Compares unload data sets from VSAM and DB 2 B CICS VT V 1. 2: 1 1 User runs VIDUNLOD enabled for DMF CICS VT automatically compares data © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B VIDUNLOD JCL with and without DMF //VIDUNLOD EXEC PGM=VIDUNLOD //STEPLIB DD DSN=VID. VIDLOAD, DISP=SHR //SYSPRINT DD SYSOUT=* //FILEIN DD SUBSYS=(ssi, db 2 id, dimname) //FILEOUT DD DSN=vt. unload, UNIT=SYSDA, // DISP=(, CATLG, DELETE), RECFM=FB, LRECL=108, // SPACE=(CYL, (25, 5), RLSE) //VIDUNLOD EXEC PGM=VIDUNLOD //STEPLIB DD DSN=VID. VIDLOAD, DISP=SHR //SYSPRINT DD SYSOUT=* //FILEIN DD SUBSYS=(ssi, db 2 id, dimname, VSAMDD) //FILEOUT DD DUMMY, LRECL=108, RECFM=FB //VSAMDD DD DSN=original-VSAM-file, DISP=SHR B Any DD name can be specified © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B Using DMF for batch application testing 1 1 Add 4 th parameter to SUBSYS DD statement Add DD statement for original VSAM data set //RTP 050 EXEC PGM=appl-prog //STEPLIB DD DSN=VID. VIDLOAD, DISP=SHR //SYSPRINT DD SYSOUT=* //ORDERFL DD SUBSYS=(ssi, db 2 id, dimname, ORDERFLV) //ORDERFL@ DD DSN=hlq. ORDERFL. DUMMY, DISP=SHR //ORDERFLV DD DSN=hlq. ORDERFL, DISP=SHR B Any difference detected by DMF causes program abend 1 1 U 3139 indicates a data difference U 3141 indicates a return code or reason code difference © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B DMF U 3139 abend VIDSS 227 DUALMODE ERROR FOR SUBSYS=VIDZ VSAM DDNAME=ENTITLV RECORD DATA WAS NOT THE SAME AT OFFSET X"0036" VIDSS 219 DUMP OF DB 2 RECORD: VIDSS 220 +0016 F 0 F 0 F 0 F 4 F 1 E 4 F 4 F 1 E 5 F 4 F 100 *000000041 U 41 V 41. * VIDSS 220 +0026 000040404040 *. . * VIDSS 220 +0036 40404040 * * VIDSS 220 +0046 40404040 * * VIDSS 219 DUMP OF VSAM RECORD: VIDSS 220 +0016 F 0 F 0 F 0 F 4 F 1 E 4 F 4 F 1 E 5 F 4 F 100 *000000041 U 41 V 41. * VIDSS 220 +0026 000040404040 *. . * VIDSS 220 +0036 C 9 C 9 C 9 D 5 D 5 D 5 C 6 C 6 C 6404040 *IIINNNFFF * VIDSS 220 +0046 40404040 * * B Hex offset of first byte identified in error message B X’ 20’ bytes before and after is displayed © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B DMF U 3141 abend VIDSS 228 DUALMODE ERROR FOR SUBSYS=VIDZ VSAM DDNAME=ENTITLV FEEDBACK DIFFERENT ON PUT DB 2 RPLRTNCD=00 RPLERRCD=00 VSAM RPLRTNCD=08 RPLERRCD=08 ACB MACRF=(ADR, SEQ, DIR, IN) RPL OPTCD=(SEQ, KEY) KEYL=0025 B Call parameter list is displayed B Non-significant VSAM fields such as component code are ignored by DMF B Most errors will be a result of unsynchronised VSAM and DB 2 data © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B Using DMF for CICS application testing 1 1 New file definition for VSAM data set must be added to CICS File name is derived from original file name Two new DMF parameters in the VT data set table (DST) DMF is activated/deactivated with new VT transaction VTMA B 2 new transaction abend codes for DMF 1 1 3139 for data differences 3141 for RESP code differences B Errors written to new DD statement VIDCOMP © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B Enabling DMF in CICS 1) Add new CICS file definition for VSAM data set File name is derived from original file name 1 Add ‘@’ if original file name less than 7 characters 1 Replace 1 st character with ‘@’ if file name is 8 characters 2) Two new DMF parameters in the VT data set table (DST) 1 ERRORACT=ABEND|REPORT 1 DUMP=YES|NO (only relevant if ERRORACT=ABEND) 3) Issue VTMA START +VIDCINIC - CICS VT DMF successfully initialised. © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B Using the VTMA transaction 1 VTMA STATUS 1 VTMA START 1 VTMA STOP 1 VTMA RESTART B Optionally add VIDCINIC program to PLT to activate DMF at CICS start up if required © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B CEMT I FI(*) STATUS: RESULTS - OVERTYPE TO MODIFY Fil(VIDKSDS ) Vsa Ope Ena Rea Upd Add Bro Del Sha Dsn( VIDKSDS. DUMMY ) Fil(VIDKSDS@) Vsa Ope Ena Rea Upd Add Bro Del Sha Dsn( VIDKSDS ) Fil(ORDERFIL) Vsa Ope Ena Rea Upd Add Bro Del Sha Dsn( VID. ORDERFIL. DUMMY ) Fil(@RDERFIL Vsa Clo Ena Rea Upd Add Bro Del Sha Dsn( VID. ORDERFIL ) Fil(VIDRRDS) Vsa Ope Ena Rea Upd Add Bro Del Sha Dsn( VIDRRDS. DUMMY ) B Files VIDKSDS and ORDERFIL will be processed by DMF © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B VTMD transaction 03/21/05 ==> CICS VT File Definition List <== 10: 32: 57 Filename DFHCMACD VIDKSDS 01 RRDS 01 ORDERFIL TVDP 01 DIM name Org DFHCMACD VIDKSDS 01 RRDS 01 ORDERFL TVDP 01 Status ENA UNE ENA ENA Operations INI REA BRO REA UPD ADD INI REA UPD DEL BRO ADD ADD DEL BRO BRO DEL DEL Compare REP N ABEND Y End of File table © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B 3139 transaction abend – data is different *********************************** * CICS VT COMPARE EXCEPTION * *********************************** TRAN: K 1 P 4 DIM: KSDS 01 TERMINAL: 0019 TIME: 15. 49. 5300 REQ: 0000026 EXEC CICS READNEXT FILE(KSDS 01 ) RIDFLD= 000 F 0 F 0 F 0 RECORD AREA EXCEPTION @ OFFSET 00000017 -. . 5. . 0. . 5. . . + CICS VT. ORIGINAL. DATA. FOR. K 40 D 6 D 9 C 9 C 7 C 9 D 5 C 1 D 340 C 4 C 1 E 3 C 140 C 6 D 6 D 940 D 2 VSAM. ORIGINAL. BAD. DATA. F 40 D 6 D 9 C 9 C 7 C 9 D 5 C 1 D 340 C 2 C 1 C 440 C 4 C 1 E 3 C 140 C 6 B Offset is hex value – 10 bytes of data either side is dumped © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B 3141 transaction abend – return codes are different *********************************** * CICS VT COMPARE EXCEPTION * *********************************** TRAN: K 1 P 2 DIM: KSDS 01 TERMINAL: 0019 TIME: 15. 31. 3300 REQ: 0000009 EXEC CICS READ FILE(KSDS 01 ) RIDFLD= YYYYYY EQUAL UPDATE E 8 E 8 E 8 Hex return code - NOTFND RETURN CODE EXCEPTION CICS VT VSAM RESP 2 RCODE 0000000 D 00000050 8100000000 000000 © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B DMF checking varies by call 1 Data areas, return and reason codes for READ/GET/BROWSE calls 1 Return and reason codes for WRITE/REWRITE/PUT calls 1 Return and reason codes for ERASE calls. Count of records deleted is also checked B Data MUST always be synchronised or results are unreliable 1 Especially important in batch programs – an abend will leave VSAM data partially updated, but updates will be automatically backed out in DB 2 © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
TESTING APPLICATIONS USING DMF B Can DMF be used in production? 1 1 1 If ERRORACT=ABEND then the transaction will fail If ERRORACT=REPORT transaction won’t fail but data may be out of line, which will cause additional problems What happens if both versions of the file (DB 2 and VSAM) are not available? There is a performance overhead There is no scope to exploit 24 x 7 or online DB 2 utilities You can’t run mixed online and batch workloads © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
DATA MIGRATION PROCESS SUMMARY ANALYSIS 1 1 1 MAP Data cleansing required Exits for data validation/correction IF SPACES test may dictate column attributes MIGRATE TEST CUTOVER Data inconsistencies © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
RUN-TIME COMPONENT B Application programs continue to issue calls to VSAM files B CICS VT intercepts call q q Using a global user exit (GLUE) in CICS Using an MVS sub-system for batch programs B Translates call to equivalent SQL call and processes in DB 2 B After call has been processed by CICS VT q q Data and RESP codes return to CICS program Data and return and reason codes passed back to batch program © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
RUN TIME CALL INTERCEPTION - CICS Application Program C I C S CICS VT TRUE DB 2 CICS VT GLUE V T VSAM B GLUE performs DST look up © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
CICS VT DST - 1 B CICS table containing a list of migrated data sets B Macros based on CICS FCT VIDCDTAB VIDTAB TYPE=INITIAL VIDTAB TYPE=ENTRY, FILE=VIDKSDS, DIM=VIDKSDS, STATUS=ENA, OPEN=S, ADD=YES, BRO=YES, DEL=YES, REA=YES, UPD=YES, RESET=YES, RECORDF=FIX VIDTAB TYPE=FINAL © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
CICS VT DST - 2 To add an entry for a migrated data set B B Define DIM and DDM drivers, plus user exits to CICS Add data set information to table Assemble new table to DFHRPL library Restart the CICS VT interface VTMI RESTART B B Data set available for processing by CICS VT installed and runs in AOR 1 Remote file requests no longer function-shipped to FOR © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
DEFINING DRIVERS TO CICS VT B DIM and DDM drivers must be defined to CICS q Drivers are assembler programs q Re-entrant in CICS VT 1. 2 Ø Must be defined RELOAD NO q Can be defined RESIDENT if required q Can be auto-installed (assuming default is RELOAD NO) B DDM driver size reduced in CICS VT 1. 2 B V 1. 1 drivers are not compatible with V 1. 2 and vice versa q Must be re-generated B CICS VT user exits RELOAD=NO © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
CICS VT - ADDITIONAL TRANSACTIONS To control the CICS - CICS VT interface VTMI with either STOP, START (or RESTART) STOP disables CICS VT GLUE and effectively CICS VT START enables the CICS VT GLUE and activates call interception B Useful control for testing MUST BE AUTHORISED IN PRODUCTION © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
RUN TIME CALL INTERCEPTION - BATCH 1 B MVS subsystem used for batch program call interception B SSI defined at CICS VT installation q Dynamic method q Permanent method - no IPL required - IPL required B Default CICS VT ssid = VIDS B JCL changes required to enable call interception © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
RUN TIME CALL INTERCEPTION - BATCH 2 B JCL changes Before: //ORDERFL DD DSN=ORDER. VSAM. DATASET, DISP=SHR //ORDERFL 1 DD DSN=ORDER. VSAM. AIX, DISP=SHR After: //ORDERFL DD SUBSYS=(VIDS, ssid, DIM-name) //ORDERFL 1 DD SUBSYS=(VIDS, ssid, DIM-name) B VIDS = CICS VT SSI, ssid = DB 2 subsystem B DD statements for base cluster and AIX paths © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
RUN TIME CALL INTERCEPTION - BATCH 3 B Cobol and PL/1 programs use undocumented interface to SHOWCB macro during initialization B CICS VT uses dummy VSAM data set to achieve same B User must create dummy data set with same attributes as migrated data and add DDNAME to batch JCL Before: //ORDERFL DD DSN=ORDER. VSAM. DATASET, DISP=SHR After: //ORDERFL DD SUBSYS=(VIDS, ssid, DIM-name) //ORDERFL@ DD DSN=ORDER. DUMMY. VSAM. DATASET, DISP=SHR © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
PK 14457 ENHANCEMENTS - 1 B Previously, DB 2 plan name had to match DIM name. The same plan/package attributes applied to every application program accessing a migrated file B New DD statement required Before PK 14457: //ORDERFL DD SUBSYS=(VIDS, ssid, DIM-name) DIM-name = PLAN-name After PK 14457: //ORDERFL DD SUBSYS=(VIDS, ssid, DIM-name) //VIDPLAN DD * any_plan © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
PK 14457 ENHANCEMENTS - 2 B Benefits for read only programs: Example 1: Exploit DB 2 uncommitted read B Bind DDM package into new collection (VIDUR? ) with ISOLATION(UR) B Bind collection into new plan and specify in VIDPLAN DD Example 2: Exploit DB 2 lock avoidance B Bind DDM package into new collection (VIDNOLK? ) with CURRENTDATA(NO) B BIND collection into new plan and specify in VIDPLAN DD © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
PK 14457 ENHANCEMENTS - 3 B Example 3: Mixing packages B An application program accesses 3 files as follows: B B B 1. 2. 3. 4. VSAM 1 is updated VSAM 2 is read only but cannot access uncommitted updates VSAM 3 is read only and can access uncommitted updates Bind package VSAM 2 with CURRENTDATA(NO) into collection VIDNOLK Bind package VSAM 3 with ISOLATION(UR) into collection VIDUR Bind plan job-name PKLIST(VIDCOLL. VSAM 1, VIDNOLK. VSAM 2, VIDUR. VSAM 3) Specify plan job-name in VIDPLAN DD statement © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
BATCH SUBTASKING - 1 B Optional facility for existing programs that include SQL calls B Provides multiple DB 2 threads from a single batch TCB UPDATE-KSDS-01. MOVE WS-ITEM-QUANTITY TO ITEM-QUANTITY. MOVE WS-ITEM-NUMBER TO ITEM-NUMBER. REWRITE ITEM-DET. CICS VT migrated data set UPDATE-DB 2 TAB. EXEC SQL UPDATE ORDER_TAB SET ORDER_DATE = CURRENT DATE COMMIT END-EXEC. © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
BATCH SUBTASKING - 2 B Without subtasking: q one thread to DB 2 q updates to natively accessed tables plus CICS VT accessed tables are COMMITted B With subtasking: q multiple threads to DB 2 q COMMIT scope is natively access table only q Updates to CICS VT DB 2 objects determined by outcome of job B Implications for restart and recovery © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
BATCH SUBTASKING - 3 B Enabled by adding optional DD statement Before: //ORDERFL DD DSN=ORDER. VSAM. DATASET, DISP=SHR After: //ORDERFL DD SUBSYS=(VIDS, ssid, DIM-name) //ORDERFL@ DD DSN=ORDER. DUMMY. VSAM. DATASET, DISP=SHR //VIDSUBSW DD DUMMY B Mandatory for existing DB 2 programs using DSN attach as opposed to CAF B Measurable performance overhead © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
MIGRATION PROCESS SUMMARY B Skills required ANALYSIS q MAP q q MIGRATE q Application programmer and DBA for migration and testing Users for testing CICS support for defining driver modules Assembler skills needed if exits are required TEST CUTOVER © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
Other enhancements in CICS VT 1. 2 © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
OPERABILITY ENHANCEMENTS B Maximum number of DB 2 columns supported by CICS VT is increased; 1 1 180 was maximum in V 1. 1 No limitation imposed by VT 1. 2 (750 limit in DB 2) B Needed VT exits to circumvent in V 1. 1 B More files are now eligible for auto-mapping B Improves support for Cobol OCCURS and PL/I arrays B DB 2 overhead increases as number of table columns increases © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
OPERABILITY ENHANCEMENTS B New commands available in auto-mapper 1 1 V 1. 1 supported only the MAP command SUSPEND command allows the mapping to be saved for later resumption RESUME command recovers previously suspended mapping information SAVE command writes the generated DDL to a user-specified dataset. Very useful if person doing mapping does not have the necessary DB 2 privileges B SUSPEND/RESUME supports a single file © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
OPERABILITY ENHANCEMENTS B Auto-mapper now supports INSERTing new columns Assume there are 4 2 -byte copybook fields for CC, YY, MM and DD to be migrated to a single DATE column in DB 2 1 1 V 1. 1; manually edit copybook to replace 4 fields with a single 8 -byte field and map to a DATE column V 1. 2; use auto-mapper to delete 4 2 -byte fields and insert a single 8 -byte field B Need to manipulate copybooks prior to auto-mapping is reduced B RENAME column name function now displays original field name and attributes (V 1. 1 displayed only column information) © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
PERFORMANCE ENHANCEMENTS B Improvements to WRITE and REWRITE calls 1 1 1 V 1. 1; Each field built separately V 1. 2; Adjacent fields with same attributes are built in a single process Same function for GET calls was introduced in V 1. 1 by a PTF © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
SUPPORTED SW LEVELS B VT 1. 2 has been tested in the following environments 1 z/OS 1. 3 to 1. 6 1 CICS TS V 1. 3 to V 3. 1 1 DB 2 V 7. 1 1 DB 2 V 8. 1 (more on next slide) © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
SUPPORTED SW LEVELS B There are 3 modes of DB 2 version 8 1 Compatibility mode – this is the result of migration from V 7. 1 1 Enabling new function mode – the process of migrating to new function mode is underway 1 New function mode – the process of migrating to new function mode has completed (fully unicode enabled) B Extended object names supported in new function mode only B VT 1. 2 supports new function mode but does not support extended object names © IBM Corporation 2007 IBM European Web. Sphere Technical Conference
- Slides: 64