The following sections list the language differences from CSP/370AD 4.1 to VisualAge Generator, from CSP/AD 3.3 to VisualAge Generator, and from CSP/AD 3.2.2 to VisualAge Generator.
The following lists the language differences from CSP/370AD 4.1 to VisualAge Generator:
The following files have been added for the VSE environment:
In addition, the functions for dynamic file association that were added for CSP/370AD 4.1 have been extended to the VSE environment.
In addition to the language differences listed in this section, if you are migrating from CSP/AD 3.3 to VisualAge Generator, you should also review the language differences listed under Language Differences from CSP/370AD 4.1 to VisualAge Generator.
The following language enhancements were added to the CSP/370AD and CSP/2AD products.
The following language elements improve support for the transactional processing environments of IMS/VS and MVS CICS and add function for the other supported environments:
The following special function words supply information about the generated application in the runtime environment:
The records passed on an XFER, DXFR, or CREATX statement can be up to 32KB in length.
First map and XFER with map can be specified for applications targeted to run in interactive environments. This support enables the application developer to control the amount of working storage that needs to be saved when a map is displayed. It also permits development and testing of efficient IMS and psuedoconversational CICS transactions to run consistently across all environments.
The application developer can specify the execution mode for applications as part of the application specification. In the test facility and the nontransaction runtime environments like MVS/TSO and VM CMS, segmented runtime is simulated by committing recoverable resources and refreshing special function words and single user table contents at each CONVERSE or XFER with map, allowing applications to run consistently across environments.
Consistent commit processing for DXFR and XFER enables the application developer to control when commit points are performed on DXFR and XFER statements. The application developer uses the test facility and COBOL generation options to request consistent commit processing (commit on XFER or no commit on DXFR except when the program specification block changes) across all environments.
XFER with record is allowed in batch applications for the MVS batch IMS BMP, and VM batch environments.
Note: | XFER from a called application is not supported in generated COBOL applications or in the test facility. |
A linkage table can be used at generation to select the implementation for a CALL statement, a CREATX statement, file I/O, or a DXFR statement. The linkage table provides a way of specifying when a remote call or file I/O is to be done as well as specifying the parameter format for a CALL statement.
The following additions for associating records with different types of files provide the application developer with greater flexibility.
In addition to the file types supported in previous releases of the Cross System Product set, the following file types are supported:
The application developer uses the resource association information to specify system resource associations.
Dynamic File Association and Dynamic File Allocation
The system resource name associated with a file can be dynamically modified during running of the application for most types of files, using the following special function words:
The dynamic file association can be used for the following file types:
A generated application dynamically allocates the following types of files for the following environments:
When dynamic allocation is used, the system resource name is the name of the data set or file to be allocated.
Dynamic file association and dynamic file allocation let the application developer build applications that enable the application user to identify the data set to be accessed when running the application.
An application can include ADD and SCAN processes for the same serial file. The code generated for the application automatically closes and opens the file again when switching from ADD to SCAN.
VisualAge Generator supports client/server processing between the following:
The client/server processing support is built on the CALL, CREATX, and file I/O processing options. Using the VisualAge Generator linkage table, communication between applications on different systems can be defined to call an application on a remote system, start an asynchronous transaction on a remote system, or access a file on a remote system.
The following processing statement extensions provide you with greater control over processing statements:
You can use parentheses in arithmetic and conditional statements to control the order in which expressions are evaluated.
You can perform data movement and computation using the assignment statement in the form RESULT=EXPRESSION.
The conditional statements, IF and WHILE, can contain parentheses in conditional expressions with the AND and OR operators.
You can do the following:
A negative (-) or positive (+) can be specified for numeric literals, data items, and expressions in parentheses in the arithmetic statement.
You can enter blank lines; they are stored by statement definition.
You can specify a unique date edit mask during map or data item definition. Both 2-digit and 4-digit years are supported. Date edit is supported in both numeric and character fields, and the system date can be retrieved in either numeric or character form. The default date format can be Gregorian or Julian and can be selected at installation. You can also select the date format with special keywords.
The SET statement has been expanded to allow dynamic control for color and extended highlighting attributes of variable map items on display maps.
SQL table names can be specified as host variables in SQL process options. Dynamic SQL table access allows a table name to be specified in host variable format during the SQL row record definition. The statements for processes that access the record are prepared and run dynamically, substituting the data item value for the table name host variable.
For MVS, the EZECONCT special function word provides access to the DB2 CONNECT, CONNECT TO, and CONNECT RESET functions.
For VM, the EZECONCT special function word provides access to the SQL/DS CONNECT function.
An individual PCB can be passed on a CALL statement by subscripting EZEDLPCB with the PCB number to be passed.
User message files are developed and managed as standard VisualAge Generator tables. This process eliminates any need to separately create and maintain application message files outside of the MSL. In addition, a utility is provided to convert existing VSAM user message files to VisualAge Generator tables. For more infomation on message file conversion, see Appendix F. Using the Message File Conversion Utility.
In addition to the language differences listed in this section, if you are migrating from CSP/AD 3.2.2 or earlier releases to VisualAge Generator, you should also review the language differences listed under Appendix A. Language Differences from the Cross System Product Set and Language Differences from CSP/370AD 4.1 to VisualAge Generator.
The following list the language enhancements that were added between CSP/AD 3.2.2 and CSP/AD 3.3.
Table 5. Length of Member Names
Member Name | Length |
---|---|
Data Item | 32 |
Record | 18 |
Process | 18 |
Statement Group | 18 |