Compatibility between releases of CICSPlex SM

Once you have written an API program to run under one release of CICSPlex® SM, you can continue to access the data provided by that release, or you can access the data available from a later release of the product. In general, if you plan to access more than one release of the CICSPlex SM API, keep the following in mind:

Run-time environment
The run-time version of a CICSPlex SM API program is equal to the level of the CMAS to which it connects: The run-time version of a program must be greater than or equal to:
Note:
For programs written in REXX, the run-time version must be greater than or equal to the version of the function package (EYU9AR00), which is distributed in the version’s SEYUAUTH library.
VERSION option
The VERSION option on the CONNECT command controls which release of CICSPlex SM resource tables are available to your program (resource tables are the external representation of CICSPlex SM data).
CONTEXT option
The CONTEXT option that is supported by various API commands determines which CICS systems your program receives data from. The CONTEXT value can be set to any CMAS or CICSplex running any currently supported release of CICSPlex SM. Note, however, that the release level of the CMAS or CICSplex must be the same as the release of the run-time module.
CURRENT option
When specifying the CURRENT option, the record pointer does not move (that is, a subsequent FETCH retrieves the same record). Previously, the record pointer moved to the next record. For further information, see Positioning the record pointer in a result set.

Special considerations for REXX applications

If you have REXX application programs you should be aware of how CICSPlex SM behaves in the case where you apply a PTF to some members of a CICSplex but not others, you modify a REXX API program to put a value in a new table field introduced by the PTF and the REXX program then connects to a CMAS which has not had the PTF applied, and which therefore has no definition for the new field.

In this case:

  1. The CMAS does not transmit the value of the new field to the maintenance point CMAS.
  2. The maintenance point CMAS (which is at the highest level) transforms the record area to give a default value to the new field. The new value may be different from that originally specified by the REXX program.
  3. The maintenance point CMAS then broadcasts the record back to the originating CMAS, but transforms the record back to remove the new field. At this point, the maintenance point repository will not contain the intended value, (it will contain the default value) and when it has broadcast the record back to the originating CMAS, this repository will have had the intended value removed.
  4. If the same REXX program issues a TPARSE of the record, the value of the field is still the same as it was at the time it was created, and is not changed by the TPARSE. This might cause the program to indicate, wrongly, that the field contains the intended value, whereas, in the maintenance point repository, the field has the default value, and in the back-level CMAS repository, the field does not exist.
  5. If a REXX API program subsequently connects to the back-level CMAS and issues a TPARSE of the record, the new field will not be populated by the TPARSE. In this case the field will have the normal REXX default value - the field value will be the same as the field name.

If the set of circumstances described above applies to you, and might cause you a problem, your REXX program should contain code to issue a QUERY to obtain and verify the record length.

Migrating applications to a new release

In order to migrate your application programs to the new release so that they can benefit from the full function available there, see Accessing resource tables from a new release. If you need to continue to run application programs in an earlier release CICSPlex SM environment whilst being able to manage this environment using the services provided in the new release, you must first read the sections on CICSPlex SM migration in the CICS Transaction Server for z/OS® Migration from CICS TS Version 2.3.

Accessing resource tables from a new release

You can access the most up-to-date CICSPlex SM resource tables by running an existing program under a new release of the API.

Note:
To take full advantage of a new CICSPlex SM function (such as Business Application Services), however, you would have to modify an existing program or create a new one.

To run an existing API program under a new release of CICSPlex SM:

Accessing resource tables from a previous release

To continue accessing the resource tables supplied with a previous release of CICSPlex SM:

Table 4 illustrates some valid combinations of the VERSION option, stub module and run-time module for accessing data from different releases of CICSPlex SM.

Table 4. Valid ways to access data from different releases
VERSION
value
Stub module
(EYU9AxSI)
Run-time module
(EYU9AB00)
CMASs available CMAS used Data available
0220 V2R2 V2R2 V1R2
V1R3
V1R4
V2R1
V2R2
V2R2 V2R2
0120 V1R2 V1R2 V1R2 V1R2 V1R2
0120 V1R2 V1R3 V1R3 V1R3 V1R2
0120 V1R3 V1R3 V1R2
V1R3
V1R3 V1R2
0120 V1R4 V1R4 V1R2
V1R3
V1R4
V1R2 V1R2
0130 V1R3 V1R3 V1R2
V1R3
V1R3 V1R3
0130 V1R3 V1R4 V1R2
V1R3
V1R4
V1R4 V1R3
0130 V1R4 V1R4 V1R2
V1R3
V1R4
V1R4 V1R3
0140 V1R4 V1R4 V1R2
V1R3
V1R4
V1R4 V1R4
0210 V2R1 V2R1 V1R2
V1R3
V1R4 V2R1
V2R1 V2R1

Table 5 shows some invalid combinations of the VERSION option, run-time module, and stub module and describes why they produce an error.

Table 5. Common errors in accessing different releases
VERSION
value
Stub module
(EYU9AxSI)
Run-time module
(EYU9AB00)
CMASs available Error description
0140 V2R1 V1R4 V1R4
V2R1
Stub module release level is greater than run-time module.
0210 V2R1 V1R4 V1R4
V2R1
Stub module release level is greater than run-time module.
0210 V1R4 V1R4 V1R4 VERSION value is greater than run-time module.
0210 V2R1 V2R1 V1R4 No CMAS available at the required run-time level.
Note:
For programs written in REXX, the compatibility issues are similar. The Release 2 function package (which contains the necessary stub module) can run successfully with either the Release 2 or Release 3 run-time module. The Release 3 function package, however, cannot run with the Release 2 run-time module; the Release 3 module is required.
[[ Contents Previous Page | Next Page Index ]]