IBM Books

Migrating to VisualAge Generator


CSP/AD 3.2.1 or Earlier to VisualAge Generator Developer

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.


MSLs

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:

  1. Export, in internal source format, the entire MSL from CSP/AD 3.2.1 or earlier.

  2. Import the internal source format for the entire MSL into CSP/AD 3.2.2, CSP/AD 3.3, or CSP/370AD 4.1. These are the versions of Cross System Product that support both internal and external source format.

  3. Export, in external source format, the entire MSL from CSP/AD 3.2.2, CSP/AD 3.3, or CSP/370AD 4.1.
    Note:Be sure to save the exported external source format for use in migrating resource association information to VisualAge Generator.

  4. Download the export file to OS/2.

  5. Import the export file into VisualAge Generator.

    Cross System Product MSL members are converted on import.

Note:Steps 2 and 3 above can be accomplished through a service offering.

Considerations for Migrating an MSL from VSE/ESA to the Workstation

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


Message File Conversion

See Appendix F. Using the Message File Conversion Utility for more information on using the conversion utility.


Test Facility Limitations

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.

Testing TSO CICS

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:


Definition Limitations

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.


Special Function Words

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.


Generation Options

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.


Resource Associations

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:

  1. The resource association file used by VisualAge Generator Developer is not compatible with the resource association file used by the Interactive Test Facility (ITF). There is no method for migrating CSP/AD resource association information for use by ITF.

  2. For VM, if you are using VS COBOL II with VisualGen Host Services, you must specify /FILETYPE=VSAMRS on the associate statement in the resource association file for all VSAM files. VS COBOL II does not support VSAM files when the virtual machine is running in XA, ESA, or XC mode. Since VisualAge Generator applications cannot be run in a 370 mode virtual machine, /FILETYPE=VSAMRS must be specified so that VisualGen Host Services performs the VSAM file I/O.

Migrating SETGEN Information

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:


Tables

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.


Linkage Types


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]