Upgrading to extended addressing for ESDS

To use an extended entry-sequenced data set (ESDS), you must upgrade the data set and convert existing CICS application programs that use 32-bit relative byte addressing (RBA) to 64-bit extended relative byte addressing (XRBA).

Upgrading a standard ESDS to an extended addressing ESDS

Note: Before upgrading a standard ESDS to use extended addressing, if your data set is defined to use forward recovery it is essential to upgrade your forward recovery product to one that can read the new log records written for extended addressing ESDSs. If you use CICS VR, you must use CICS VSAM Recovery for z/OS V4.2 or higher.
To convert an existing standard ESDS to an extended addressing ESDS, you must recreate the data set as follows:
  1. If you want to continue to use the contents of the existing data set, take a copy of its contents. You can use the AMS REPRO function to do this.
  2. Delete the existing data set.
  3. Create a new data set. You can base the AMS definition of the new data set on that of the old data set. The only mandatory change is that the DATACLAS parameter of the new data set definition must name an SMS data class that specifies both extended format and extended addressing.

    How to define SMS data classes is described in the DFSMS Storage Administration Reference manual.

  4. If required, restore the contents of the data set from the copy taken previously.

Upgrading a program from 32-bit RBA to 64-bit XRBA

To convert an existing program from using 32-bit RBA to 64-bit extended relative byte addressing (XRBA) you must:
  1. Replace the RBA keyword with the XRBA keyword, on all the following commands:
    • EXEC CICS READ
    • EXEC CICS READNEXT
    • EXEC CICS READPREV
    • EXEC CICS RESETBR
    • EXEC CICS STARTBR
    • EXEC CICS WRITE
  2. Replace all 4-byte areas used for keys with 8-byte areas. If you change "RBA" to "XRBA" but don’t change the length of the key areas:
    1. On STARTBR and READ commands, CICS will treat your 4-byte RBAs as being the top half of 8-byte XRBAs. In most cases this produces a huge XRBA number. You can track down this error quite quickly because the program immediately receives a "no record at RBA" response.
    2. WRITE commands might produce more subtle errors. The command returns an 8-byte XRBA that overwrites the 4 bytes immediately following the key area.

Using RBA-insensitive programs to access extended ESDS data sets

It is possible to reuse existing 32-bit RBA programs, that do not make use of the RBAs, to access 64-bit extended ESDSs.

For example, there is a common type of application in which records are first written sequentially and later browsed sequentially from the beginning. Although RBAs are passed between CICS and the program, the program makes no use of them. The program reads or writes the next record only. These programs are called RBA-insensitive. Other programs, such as those that directly read or update records at named RBAs, are called RBA-sensitive.

Existing 32-bit RBA-insensitive programs can access 64-bit extended ESDSs without change. Both RLS and non-RLS modes are supported.

Thirty-two-bit RBA-sensitive programs cannot access 64-bit extended ESDSs, even if the data set contains less than 4 gigabytes of data.

Connecting a back-level AOR to a CICS TS for z/OS, Version 5.2 FOR

In this scenario, old-style 32-bit RBA programs try to access files on a CICS® TS for z/OS®, Version 5.2 file-owning region (FOR). This access works in either of the following cases:
  • The target file in the FOR has not been converted from conventional ESDS to extended addressing ESDS.
  • The target file has been converted to extended addressing ESDS but the program is RBA-insensitive.

If the target file has been converted to extended addressing ESDS, a 32-bit RBA-sensitive program running in the AOR cannot access it. The program receives an ILLOGIC response.

Connecting a CICS TS for z/OS, Version 5.2 AOR to a back-level FOR

In this scenario, new-style 64-bit XRBA programs try to access files on a back-level file-owning region.

Because the target region supports only 32-bit RBAs, it does not understand a 64-bit XRBA. The program receives an ILLOGIC response.