Skip to main content

Problem:

getting an ILLOGIC (Eibresp=21, 110) when trying to read a RRDS file.  

The CFLE program (DFHZDFDM) reads it fine.   

It is a standard CICS READ.  

                EXEC CICS READ

                  DATASET (WS-DATASET)

              RIDFLD (WS-RECORDKEY)

               INTO (WS-RECORDAREA)

               LENGTH (WS-RECORDLEN)

               EQUAL

               NOHANDLE

              END-EXEC.

Resolution:

The following are IBM documented rules for the rrn.  The fact that it works on the mainframe is a mainframe bug

Our code is written according to the docs.

Relative record data set (RRDS)

An RRDS has fixed-length slots, predefined to VSAM, in which records may be stored. An RRDS record is always fixed-length, equal to the slot size. A record in an RRDS is identified by the relative record number (RRN) of the slot that holds it. When a new record is added to an RRDS, VSAM uses the number you supply with the file control request.

You use the RRN option on most file control services commands to specify that the RIDFLD contains the relative record number of the record to be retrieved. The first record in the data set is number one.

** All the file control commands that refer to an RRDS, and specify a RIDFLD, must specify the RRN keyword.

Old KB# 1383