The UEPCLPS exit-specific parameter
The UEPCLPS exit-specific parameter is the address of the command-level parameter structure, and is included in exits XFCREQ and XFCREQC.
The command-level parameter structure contains 12 addresses, FC_ADDR0 through FC_ADDRB. It is defined in the DSECT FC_ADDR_LIST, which you should copy into your exit program by including the statement COPY DFHFCEDS.
The command-level parameter list is made up as follows:
- FC_ADDR0
- is the address of a 9-byte area called the EID, which is made
up as follows:
- FC_GROUP
- FC_FUNCT
- FC_BITS1
- FC_BITS2
- FC_EIDOPT5
- FC_EIDOPT6
- FC_EIDOPT7
- FC_EIDOPT8
The name of the DSECT mapping the EID is FC_EID.- FC_GROUP
- Always X'06', indicating that this is a file control request.
- FC_FUNCT
- One byte that defines the type of request:
- X'02'
- READ
- X'04'
- WRITE
- X'06'
- REWRITE
- X'08'
- DELETE
- X'0A'
- UNLOCK
- X'0C'
- STARTBR
- X'0E'
- READNEXT
- X'10'
- READPREV
- X'12'
- ENDBR
- X'14'
- RESETBR
- FC_BITS1
- Existence bits that define which keywords that contain values
were specified. To obtain the value associated with a keyword, you
need to use the appropriate address from the command-level parameter
structure. Before using this address, you must check the associated
existence bit. If the existence bit is set off, the keyword was not
specified in the request and the address should not be used.
- X'80'
- Set if the request contains the keyword FILE. If set, FC_ADDR1 is meaningful.
- X'40'
- Set if the request contains any of the keywords INTO, SET, or FROM. If set, FC_ADDR2 is meaningful.
- X'20'
- Set if the request specifies LENGTH or NUMREC, or if a STARTBR, RESETBR, or ENDBR request specifies REQID. If set, FC_ADDR3 is meaningful.
- X'10'
- Set if the request specifies RIDFLD. If set, FC_ADDR4 is meaningful.
- X'08'
- Set if the request specifies KEYLENGTH. If set, FC_ADDR5 is meaningful.
- X'04'
- Set if the request is READNEXT or READPREV and specifies REQID. If set, FC_ADDR6 is meaningful.
- X'02'
- Set if the request specifies SYSID. If set, FC_ADDR7 is meaningful.
- X'01'
- Not used by file control.
- FC_BITS2
- Second set of existence bits.
- X'20'
- Set if the request specifies TOKEN. If set, FC_ADDRB is meaningful.
- FC_EIDOPT5
- Indicates whether certain keywords that do not take values were
specified on the request.
- X'04'
- MASSINSERT specified.
- X'02'
- RRN specified.
- X'01'
- SET (and not INTO) was specified.
Note: Your program must test for keywords at the bit level, because there may be more than one of these keywords present. - FC_EIDOPT6
- Indicates whether certain keywords that do not take values were
specified on the request.
- X'80'
- RBA specified.
- X'40'
- GENERIC specified.
- X'20'
- GTEQ specified.
- X'10'
- UNCOMMITTED specified.
- X'08'
- CONSISTENT specified.
- X'04'
- REPEATABLE specified.
- X'01'
- NOSUSPEND specified (on READ, READNEXT, READPREV, WRITE, DELETE, or REWRITE).
Note:- If the read integrity bits (for UNCOMMITTED, CONSISTENT, and REPEATABLE) are off (zero) on the command, the read integrity options specified on the file resource definition are used. If you need to know what these are, you can issue an EXEC CICS® INQUIRE FILE command.
- Your program must test for keywords at the bit level, because there may be more than one of these keywords present.
- FC_EIDOPT7
- Indicates whether certain keywords that do not take values were
specified on the request.
- X'04'
- UPDATE specified. This setting is meaningful only for READ requests. For other requests, X'04' may or may not be set.
- X'01'
- Either DEBREC or DEBKEY specified (see FC_EIDOPT8). This setting is meaningful only for READ requests. For other requests, X'01' may or may not be set.
Note: Your program must test for keywords at the bit level, because there may be more than one of these keywords present. - FC_EIDOPT8
- Indicates whether certain keywords that do not take values were
specified on the request.
- X'80'
- DEBKEY specified.
- X'40'
- DEBREC specified.
- X'20'
- TOKEN specified.
- X'08'
- XRBA specified. If the XRBA bit is on, FC_RIDFLD (described in DSECT DFHFCEDS) points to an 8-byte extended relative byte address (XRBA).
- FC_ADDR1
- is the address of an 8-byte area containing the name specified on the FILE keyword.
- FC_ADDR2
- is the address of one of the following:
- A 4-byte address returned for SET (if the request is READ, READNEXT, or READPREV, and if FC_EIDOPT5 indicates that this is SET).
- Data returned for INTO (if the request is READ, READNEXT, or READPREV, and if FC_EIDOPT5 indicates that this is not SET).
- Data from FROM (if the request is WRITE or REWRITE).
- FC_ADDR3
- is the address of one of the following:
- The halfword value of LENGTH (if the request is READ, WRITE, REWRITE,
READNEXT, or READPREV).
Warning: For requests that specify INTO, do not change the value of LENGTH to a value greater than that specified by the application. To do so causes a storage overlay in the application.
- The returned halfword value of NUMREC (if the request is DELETE).
- The halfword value of REQID (if the request is STARTBR, RESETBR, or ENDBR).
- The halfword value of LENGTH (if the request is READ, WRITE, REWRITE,
READNEXT, or READPREV).
- FC_ADDR4
- is the address of an area containing the value of the RIDFLD keyword.
- FC_ADDR5
- is the address of the halfword value of KEYLENGTH.
- FC_ADDR6
- is the address of the halfword value of REQID (if the request is READNEXT or READPREV).
- FC_ADDR7
- is the address of an area containing the value of SYSID.
- FC_ADDR8
- is the address of a value intended for CICS internal use only. It must not be used.
- FC_ADDR9
- is the address of a value intended for CICS internal use only. It must not be used.
- FC_ADDRA
- is the address of a value intended for CICS internal use only. It must not be used.
- FC_ADDRB
- is the address of the fullword value of TOKEN (if the request is READ, READNEXT, READPREV, REWRITE, DELETE, or UNLOCK).