The UEPCLPS exit-specific parameter
The UEPCLPS exit-specific parameter is included in both exit XICEREQ and exit XICEREQC. It is the address of the command-level parameter structure.
The command-level parameter structure contains 26 addresses, IC_ADDR0 through IC_ADDR1F. It is defined in the DSECT IC_ADDR_LIST, which you should copy into your exit program by including the statement COPY DFHICUED.
The command-level parameter list is made up as follows:
- IC_ADDR0
- is the address of a 9-byte area called the EXEC interface descriptor
(EID), which is made up as follows:
- IC_GROUP
- IC_FUNCT
- IC_BITS1
- IC_BITS2
- IC_BITS3
- IC_EIDOPT5
- IC_EIDOPT6
- IC_EIDOPT7
- IC_EIDOPT8
- IC_GROUP
-
- X'10'
- This is an interval control request.
- X'4A'
- This is an ASKTIME or FORMATTIME command.
- IC_FUNCT
- One byte that defines the type of request. If IC_GROUP = X'10':
- X'02'
- ASKTIME
- X'04'
- DELAY
- X'06'
- POST
- X'08'
- START
- X'0A'
- RETRIEVE
- X'0C'
- CANCEL
If IC_GROUP = X'4A':- X'02'
- ASKTIME
- X'04'
- FORMATTIME
- IC_BITS1
- Existence bits that define which arguments were specified. To
obtain the argument 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 argument was not specified in the
request and the address should not be used.
- X'80'
- Set if the request contains INTERVAL or TIME arguments, or if a CANCEL request specifies REQID, or if a RETRIEVE request specifies SET or INTO. If set, IC_ADDR1 is meaningful.
- X'40'
- Set if the request other than CANCEL specifies REQID or if a RETRIEVE request specifies LENGTH. If set, IC_ADDR2 is meaningful.
- X'20'
- Set if the request specifies TRANSID or if a request other than RETRIEVE specifies SET or INTO. If set, IC_ADDR3 is meaningful.
- X'10'
- Set if the request specifies FROM. If set, IC_ADDR4 is meaningful.
- X'08'
- Set if a request other than RETRIEVE specifies LENGTH. If set, IC_ADDR5 is meaningful.
- X'04'
- Set if the request specifies TERMID. If set, IC_ADDR6 is meaningful.
- X'02'
- Set if the request specifies SYSID. If set, IC_ADDR7 is meaningful.
- X'01'
- Set if the request specifies RTRANSID. If set, IC_ADDR8 is meaningful.
- IC_BITS2
- Further argument existence bits.
- X'80'
- Set if the request specifies RTERMID, or if a FORMATTIME request specifies DATESEP. If set, IC_ADDR9 is meaningful.
- X'40'
- Set if the request specifies QUEUE. If set, IC_ADDRA is meaningful.
- X'20'
- Set if the request specifies HOURS. If set, IC_ADDRB is meaningful.
- X'10'
- Set if the request specifies MINUTES. If set, IC_ADDRC is meaningful.
- X'08'
- Set if the request specifies SECONDS. If set, IC_ADDRD is meaningful.
- X'04'
- Set if the request specifies USERID. If set, IC_ADDRE is meaningful.
- X'02'
- Set if the request specifies SYSNET. If set, IC_ADDRF is meaningful.
- X'01'
- Set if a FORMATTIME request specifies TIMESEP. If set, IC_ADDR10 is meaningful.
- IC_BITS3
- One byte not used by interval control.
- IC_EIDOPT5
- Indicates whether certain keywords were specified on the request.
- X'80'
- ABSTIME was specified on a FORMATTIME or ASKTIME command.
- X'40'
- YYDDD was specified on a FORMATTIME command.
- X'20'
- YYMMDD was specified on a FORMATTIME command.
- X'10'
- YYDDMM was specified on a FORMATTIME command.
- X'08'
- DDMMYY was specified on a FORMATTIME command.
- X'04'
- MMDDYY was specified on a FORMATTIME command.
- X'02'
- DATE was specified on a FORMATTIME command.
- X'01'
- On a RETRIEVE command, SET (and not INTO) was specified. On a START command, ATTACH was specified. On a FORMATTIME command, DATEFORM was specified. You cannot modify this field in your user exit.
- IC_EIDOPT6
- Existence bits that indicate whether certain keywords were specified
on the request.
- X'80'
- DATESEP was specified on a FORMATTIME command.
- X'40'
- DAYCOUNT was specified on a FORMATTIME command.
- X'20'
- DAYOFWEEK was specified on a FORMATTIME command, or HOURS was specified.
- X'10'
- DAYOFMONTH was specified on a FORMATTIME command, or FMH was specified.
- X'08'
- MONTHOFYEAR was specified on a FORMATTIME command, or SECONDS was specified.
- X'04'
- YEAR was specified on a FORMATTIME command, or MINUTES was specified.
- X'02'
- TIME was specified on a FORMATTIME command, or PROTECT was specified.
- X'01'
- TIMESEP was specified on a FORMATTIME command, or NOCHECK was specified.
- IC_EIDOPT7
- Indicates whether certain functions or keywords were specified
on the request.
- X'F0'
- CANCEL specified.
- X'82'
- RETRIEVE specified.
- X'80'
- YYYYDD specified on a FORMATTIME command.
- X'40'
- YYYYMMDD specified on a FORMATTIME command, or START specified.
- X'30'
- POST specified.
- X'20'
- YYYYDDMM specified on a FORMATTIME command, or DELAY, RTRANSID, RTERMID, or QUEUE specified, and/or FMH.
- X'13'
- ASKTIME specified.
- X'10'
- DDMMYYYY specified on a FORMATTIME command, or FROM, RTRANSID, or RTERMID specified, and/or QUEUE.
- X'08'
- MMDDYYYY specified on a FORMATTIME command, or TIME or WAIT specified.
- X'04'
- FULLDATE specified on a FORMATTIME command, or REQID specified.
- X'01'
- TERMID specified.
- IC_EIDOPT8
- Indicates whether certain keywords were specified on the request.
- X'80'
- FOR or AFTER specified.
- X'40'
- AT or UNTIL specified.
- X'10'
- BREXIT specified.
- X'08'
- BRDATA specified.
- X'04'
- BRDATALENGTH specified.
- X'02'
- CHANNEL specified on a START command.
- IC_ADDR1
- is the address of one of the following:
- An 8-byte area containing the value of the INTERVAL keyword (or TIME keyword if IC_EIDOPT7 indicates that TIME is specified).
- An 8-byte area containing the value of REQID (if the request is CANCEL).
- An 8-byte area containing the value of the ABSTIME keyword.
- Data returned for INTO (if the request is RETRIEVE, and if IC_EIDOPT5 indicates that this is not SET).
- A 4-byte address returned for SET (if the request is RETRIEVE and IC_EIDOPT5 indicates that this is SET).
- IC_ADDR2
- is the address of one of the following:
- An 8-byte area containing the value of REQID (if the request is DELAY, POST or START).
- A halfword containing the value of LENGTH (if the request is RETRIEVE).
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.
- An area containing the value of YYDD.
- IC_ADDR3
- is the address of one of the following:
- An area containing the value of TRANSID (if the request is CANCEL or START).
- A 4-byte address returned for SET (if the request is START or POST and IC_EIDOPT5 indicates that this is SET).
- An area containing the value of YYMMDD.
- IC_ADDR4
- is the address of one of the following:
- An area containing the data from FROM.
- An area containing the value of YYDDMM.
- IC_ADDR5
- is the address of one of the following:
- An area containing the halfword value of LENGTH.
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.
- An area containing the value of DDMMYY.
- An area containing the halfword value of LENGTH.
- IC_ADDR6
- is the address of one of the following:
- An area containing the value of TERMID.
- An area containing the value of MMDDYY.
- IC_ADDR7
- is the address of one of the following:
- An area containing the value of SYSID.
- An area containing the value of DATE.
- IC_ADDR8
- is the address of one of the following:
- An area containing the value of RTRANSID.
- An area containing the value of DATEFORM.
- IC_ADDR9
- is the address of one of the following:
- An area containing the value of RTERMID.
- An area containing the value of DATESEP.
- IC_ADDRA
- is the address of one of the following:
- An area containing the value of QUEUE.
- A fullword containing the value of DAYCOUNT.
- IC_ADDRB
- is the address of one of the following:
- An area containing the value of HOURS.
- A fullword containing the value of DAYOFWEEK.
- IC_ADDRC
- is the address of one of the following:
- An area containing the value of MINUTES.
- A fullword containing the value of DAYOFMONTH.
- IC_ADDRD
- is the address of one of the following:
- An area containing the value of SECONDS.
- A fullword containing the value of MONTHOFYEAR.
- IC_ADDRE
- is the address of one of the following:
- An area containing the value of USERID.
- A fullword containing the value of YEAR.
- IC_ADDRF
- is the address of one of the following:
- An 8–byte area containing the value of SYSNET.
- An area containing the value of TIME.
- IC_ADDR10
- is the address of a 1–byte area containing the value of TIMESEP.
- IC_ADDR11
- is the address of an area containing the value of YYYYDDD.
- IC_ADDR12
- is the address of an area containing the value of YYYYMMDD.
- IC_ADDR13
- is the address of an area containing the value of YYYYDDMM.
- IC_ADDR14
- is the address of an area containing the value of DDMMYYYY.
- IC_ADDR15
- is the address of an area containing the value of MMDDYYYY.
- IC_ADDR16
- is the address of an area containing the value of FULLDATE.
- IC_ADDR1D
- is the address of an area containing the value of BRDATA.
- IC_ADDR1E
- is the address of a fullword containing the value of BRDATALENGTH.
- IC_ADDR1F
- is the address of a 16-byte area containing the value of CHANNEL.