The migration utility is a front-end program that, after converting command statements, can call the CICS BAC batch request utility. The CICS BAC sample migration utility is written in assembler, but you follow its design to write a similar utility in COBOL, REXX, or another suitable language. The following is a summary of the main steps the sample performs:
If the CBKIN data set is allocated to the job by a DD statement, it uses that existing data set. Use a predefined data set when you want to keep a permanent copy of the converted statements.
If the CBKIN data set is not allocated by a DD statement, the migration utility allocates a temporary data set for output. You can use a temporary data set in this way when the migration utility is to call the CICS BAC batch request utility and pass to it the statements migrated to CBKIN (the CALLCICSBAC option) and you do not want to keep a copy of the statements.
The sample migration utility contains all the instructions that you need to help you customize the program for your own needs. The actual routines that convert existing statements to CICS BAC syntax are in the form of subroutines that you call with parameters for the keywords and operand values, simplifying the whole process. There are also some switches at the front of the module that you can customize. These are designed to enable you to control things such as what SYSOUT class to allocate CBKPRINT to, what unit to allocate CBKIN to, and so on.
//********************************************************************
//* *
//* Copyright (c) 2004 HLA Software, LLC. All Rights Reserved. *
//* *
//********************************************************************
//* *
//* You can use the following procedure, suitably modified, to *
//* execute the sample migration utility. *
//* To use this procedure, make the required changes and move it to *
//* an appropriate procedure library. *
//* *
//* You can also convert this procedure into an inline set of JCL *
//* statements to be run independently of a PROC. *
//* *
//* 1. Make sure all the required data sets are defined and *
//* available. *
//* *
//* 2. Change ALL the data sets names in lower case below to the *
//* names of the data sets at your installation. *
//* *
//* For more information, see the CICS BAC User's Guide. *
//* *
//********************************************************************
//* *
//CBKMGJCL PROC P=''
//*
//CBKMIGRT EXEC PGM=CBKMIGRT,PARM='&P'
//*
//STEPLIB DD DISP=SHR,DSN=your.cicsbac.loadlib
//SYSUDUMP DD SYSOUT=*
//PRINT DD SYSOUT=*
//INPUT DD DISP=SHR,DSN=your.statements.to.be.migrated
// PEND
The CICS BAC sample migration utility is designed to read command statements of an existing product and generate the equivalent set of CICS BAC statements. This allows you to convert your existing input statements into the functionally equivalent CICS BAC statements, and allows the CICS BAC batch request utility to execute the migrated statements.
There are possibly two main approaches that you might want to consider when planning the migration to CICS BAC. The one you choose will probably depend upon the number of jobs you have to migrate.