This chapter lists the considerations for migrating from CSP/AD 3.2.1 or earlier releases to VisualAge Generator Developer.
To migrate from CSP/AD 3.2.1 or earlier releases to VisualAge Generator, first migrate your MSLs to VisualAge Generator and save the external source file used for migration.
If you are migrating from either CSP/AD 3.2.1 or earlier releases, you need to complete the following steps to convert the Member Specification Library (MSL) members:
Note: | Be sure to save the exported external source format for use in migrating resource association information to VisualAge Generator. |
Cross System Product MSL members are converted on import.
Note: | Steps 2 and 3 above can be accomplished through a service offering. |
The JCL shown in provides a method of exporting your MSL to a VSE library member where it can be easily transferred to the workstation. First, the entire MSL or selected MSL member is exported to tape as an external source format file. The DITTO executable file is used to write a /* following the external source format file to signify end-of-data to LIBR, the VSE librarian program. The LIBR program is run to catalog the external source format file as a VSE library member. The sublibrary and member name information are passed to the LIBR program on the PARM statement. After successful completion of this job, the newly cataloged member can be transferred directly to the workstation. The member can then be imported into an MSL using VisualAge Generator for subsequent generation.
Note: | Prior to running this sample JCL, please ensure that APAR PN53933 has been applied to CSP/AE 3.3 (program number 5668-814). |
Figure 1. Sample VSE/ESA JCL for Migrating CSP/AD 3.2.1 Members
* $$ JOB JNM=MOVEMSL,CLASS=A,DISP=D * $$ LST CLASS=A,DISP=D // JOB MOVEMSL MOVE CSP330 MSL TO TAPE // DLBL USERCAT, 'USER.CATALOG',,VSAM // DLBL DCAMAPD,'CSP.V3R3M0.FZEMAPDS',,VSAM,CAT=USERCAT // DLBL DCATESD,'CSP.V3R3M0.FZETUTOR',,VSAM,CAT=USERCAT // DLBL DCAEZED,'CSP.V3R3M0.EZEMSG',,VSAM,CAT=USERCAT // DLBL DCAHECD,'CSP.V3R3M0.FZEMSG',,VSAM,CAT=USERCAT // DLBL TESTMSL,'CSP330.SAMPMSL',,VSAM,CAT=USERCAT // MTC REW,281 // ASSGN SYS006,281 // LIBDEF *,SEARCH=(PRD2.DBASE) // ASSGN SYS005,SYSLST // EXEC DCBYINIT,SIZE=64K ROMSL=(TESTMSL) CMDIN=SYSIPT CMDOUT=EZEPRINT F=ESFOUT L=NO S=006 B=80 R=NO F=EZEPRINT S=005 ;; EXPORT TYPE(ALL) SERIAL(ESFOUT) FORMAT(EXTERNALU); /* // UPSI 1 // EXEC DITTO $$DITTO BSR OUTPUT=281,NBLKS=1 $$DITTO CT OUTPUT=281,BLKFACTOR=1 /+ /* $$ DITTO EOJ /* // MTC REW,281 // ASSGN SYSIPT,281 // EXEC LIBR,PARM='ACC S=PRD2.TEMPMSL;CATALOG TEMPMSL.Z REPLACE=YES' /* /& * $$ EOJ |
To avoid the need for tape handling in exporting members, you can use a VSAM entry sequenced data set (ESDS) as an external source format file. Start by defining a VSAM ESDS with a fixed-length size of 80 bytes as shown in and define a CICS FCT entry as show in . Then, use the JCL shown in to export the entire MSL or selected MSL members to the VSAM ESDS shown in . After successful completion of this job, the data set can be transferred directly to the workstation.
VSAM ESDS Delete/Define Job
Figure 2. VSAM ESDS DELETE/DEFINE JOB Example
* $$ JOB JNM=CWCIDCAM, CLASS=A, DISP=D, NTFY=YES * $$ LST FND=1STK, CLASS=A, DISP=H // JOB DEFINE TEST003 * $$ PRT FNO=1STK, CLASS=A, REMOTE=O, DISP=H // EXEC IDCAMS, SIZE=AUTO DELETE (TEST003.VSAMESDS.TESTFILE.CSPCAT ) - CLUSTER - PURGE - CATALOG (CSP.VSAM.CATALOG) DEFINE CLUSTER ( - NAME (TEST003.VSAMESDS.TESTFILE.CSPCAT) - TRACKS (200 5) 0 SHAREOPTIONS (2) - RECORDSIZE (80 6000) - VOLUMES (VOL706) - REUSE - NONINDEXED - FREESPACE (15 7) - TO (99366)) - DATA (NAME (TEST003.VSAMESDS.TESTFILE.CSPCAT.@d@)) - CATALOG (CSP.VSAM.CATALOG) /* /& * $$ EOJ |
CICS FCT Entry
Figure 3. CICS FCT Entry Example
DFHFCT TYPE=DATASET, DATASET=TEST003, ACCMETH=(VSAM, ESDS) , LSRPOOL=NONE, SERVREQ=(READ, UPDATE, ADD, DELETE, BROWSE), BUFND=6, BUFNI=3, STRNO-3, FILSTAT=(DISABLED, CLOSED) |
CSP 3.3 Export Job
Figure 4. CSP 3.3 EXPORT JOB Example
* $$ JOB JNM=CSPXPORT, CLASS=1 * $$ LST FNO=1STK, CLASS=Q, DISP=H // JOB CSPXPORT // ASSGN SYS005, SYSLST // DLBL DCAMAPD, 'CSP.V3R3M0.FZEMAPDS', , VSAM, CAT=CSPCAT // DLBL DCAEZED, 'CSP.V4R3M0.EZEMSG', , VSAM, CAT=CSPCAT // DLBL DCAHECD, 'CSP.V3R3M0.FZEMSG', , VSAM, CAT=CSPCAT // DLBL DCATESD, 'CSP.V3R3M0.FZETUTOR', , VSAM, CAT=CSPCAT // DLBL FZERSAM, 'CSP.USERSAM.ALF', , VSAM,CAT=CSPCAT // DLBL DCAWORK, 'CSP.USER.WORK', , VSAM, CAT=CSPCAT * // DLBL TEST003, 'TEST003.VSAMESDS.TESTFILE.CSPCAT', , VSAM, CAT=CSPCAT * // DLBL TBL1MSL, 'CSP.TBL1MSL.MSL', , VSAM, CAT=CSPCAT // DLBL MAP1MSL, 'CSP.MSL1MSL.MSL', , VSAM, CAT=CSPCAT // DLBL REC1MSL, 'CSP.REC1MSL.MSL', , VSAM, CAT=CSPCAT // DLBL USR1MSL, 'CSP.USR1MSL.MSL', , VSAM, CAT=CSPCAT // DLBL USR2MSL, 'CSP.USR2MSL.MSL', , VSAM, CAT=CSPCAT // DLBL USR3MSL, 'CSP.USR3MSL.MSL', , VSAM, CAT=CSPCAT // DLBL USR4MSL, 'CSP.USR4MSL.MSL', , VSAM, CAT=CSPCAT // EXEC DCBYINIT, SIZE=64K M=USER3MSL ROMSL= (TBL1MSL, REC1MSL, MAP1MSL) CDMIN=SYSIPT CMDOUT=EZEPRINT EXPORT MEMBER (LAPPL3) SERIAL (TEST003) TYPE (ASSOCIATES) FORMAT (EXTERNAL); /* /& * $$ EOJ |
See Appendix F. Using the Message File Conversion Utility for more information on using the conversion utility.
The VisualAge Generator test facility emulates the /MATH=COBOL method of storing intermediate results for arithmetic calculations. The VisualAge Generator test facility does not emulate the Cross System Product method /MATH=CSPAE.
If your applications call non-CSP programs, you need to plan for testing of the calling application. Some techniques that you might use, depending on your old CSP environment and what the non-VisualAge Generator program does, are as follows:
Cross System Product has a limit of 4096 rows in a table. You can define larger tables with VisualAge Generator.
VisualAge Generator does not support the internal source format that was supported by Cross System Product.
See CSP/AE 3.2.1 or Earlier to VisualGen Host Services or VisualAge Generator Workgroup Services for considerations that might apply to development and generation.
EZECNVCM is the same as EZEDLTRM. Setting one of the language elements sets the other. EZEDLTRM support is only for compatibility with releases of the Cross System Product set prior to 3.3.
In CSP/AD some generation options were saved in the application MSL member. In VisualAge Generator, generation information is not saved in the application MSL member. If you want to use the same generation options for more than one generation, specify the options in generation control files such as the generation options file and the resource association file.
In CSP/AD, information associating application record definitions with physical files in the target environment was saved in the application MSL member from one generation to the next. With VisualAge Generator, if you want to use the same file resource association information across more than one generation, you must specify the information in a resource association file.
Resource association information saved in application MSL members can be converted for VisualAge Generator by doing the following:
Notes:
In CSP/AD the SETGEN batch command enabled the developer to choose which map groups and tables to generate with an application. The SETGEN command also enabled the application developer to set table related options, such as SHARED, RESIDENT, and KEEP AFTER USE, during generation. VisualAge Generator provides the following:
The generation options RESIDENT, SHARED, and KEEP AFTER USE were generation options in CSP/AD. They are specified at definition time with VisualAge Generator. SHARED and RESIDENT are specified within table definition. KEEP AFTER USE is specified on the Tables and Additional Record panel in application definition.
For Cross System Product releases prior to 4.1, the compatible linkage type and parameter format for CICS environments is CICSLINK COMMPTR.
For Cross System Product releases prior to 4.1, the compatible linkage type and parameter format for non-CICS environments is DYNAMIC OSLINK.