EVEMPINT: EVESCCCI Parameter List Copy Book
The EVEMPINT copy book describes the CICS Automation program-to-program interface parameter list on the CICS® side.
It consists of two parts: one part describes the input data for CICS transactions, and the other part describes the format of output requests from CICS transactions.
The following data area is passed to a started CICS transaction as result of a NetView CONVERSE or SEND request. The same data area is passed in the response area as result of a NetView RESPONSE, ACK, or NACK response. See EVESNCCI: NetView to CICS Communication Interface.
| Name | Disp. | Length | Contents and description |
|---|---|---|---|
| INTIDENT | 000 | 08 | Provides an eye-catcher and a block format level. |
| INTREQID | 008 | 16 | This field contains the request identifier which is used to relate a response to a specific request. For a CONVERSE request from NetView, it contains the domainid||opid concatenation specified on the EVESNCCI command. For responses from NetView, it contains the request identifier allocated by the EVESCCCI routine on a CICS CONVERSE request. This field is not used for a SEND request. |
| INTFNAME | 024 | 08 | Contains the function name specified with the EVESNCCI FUNCTION= keyword. |
| INTRTYPE | 032 | 01 | The response type: C for CONVERSE, S for SEND, R for RESPONSE, A for ACK, and N for NACK. |
| 033 | 03 | Reserved (binary zeros). | |
| INTDATAL | 036 | 04 | Contains the length of the request or response data. This field may have a 0 (zero) value. For an ACK response, this field is 0 (zero). |
| INTSDATA | 040 | nn | The request or response data, if any. The length of the response data is contained in the INTDATAL field. |
The following fields are set by the caller of the EVESCCCI routine.
| Name | Disp. | Length | Contents and description |
|---|---|---|---|
| OUTIDENT | 000 | 08 | Provides an eye-catcher and a block format level. Must be set to POUT0001. |
| OUTREQID | 008 | 16 | This field is used as a request identifier to relate a response to a specific CONVERSE request. For CICS CONVERSE requests this field is set by the EVESCCCI routine. For CICS responses, the field must be set by the caller (copied from INTREQID). This field is not used for SEND requests. |
| OUTFNAME | 024 | 08 | Specifies the function name. The EVENTASK initialization
member must contain a SERVER=REQUEST entry (for CONVERSE or SEND)
or a SERVER=RESPONSE entry (for RESPONSE) specification. For responses,
this field is normally copied from the transaction input data (INTFNAME
field) Note: If the name is less than eight characters, pad it with
blanks.
|
| OUTRTYPE | 032 | 01 | Specifies the type of command as REQUEST, SEND,
RESPONSE, ACK, or NACK. REQUEST (also referred to as CONVERSE) and
SEND are requests. RESPONSE, ACK, and NACK are responses. REQUEST starts a command processor or a command list in NetView. A response is expected. SEND also starts a command processor or a command list in NetView, but no response is expected. RESPONSE is used to send data to a NetView task. ACK signals the successful completion of a CONVERSE request. No data is provided. NACK signals the unsuccessful completion of a CONVERSE request. Data may optionally be provided (maximum of 100 bytes). It is recommended for health checking. |
| 033 | 01 | Reserved (binary zeros) | |
| OUTWAITC | 034 | 02 | Specifies the number of seconds (binary value) to wait for a response on a CONVERSE request. If the response does not arrive within the specified time interval, the timeout return code is passed to the caller. If binary zero is specified, the default wait interval (30 seconds) is used. The maximum binary value that can be specified is 999. The field must contain binary zeros for all requests other than CONVERSE. |
| OUTDATAL | 036 | 04 | This field must be set to the length of the CONVERSE or SEND request data area or to the length of the RESPONSE or NACK response area. The maximum length of a CONVERSE or SEND request area or a RESPONSE response area is 32656 bytes. The maximum length of a NACK response area is 100 bytes. |
| OUTDATAA | 040 | 04 | Specifies the address of the CONVERSE or SEND request area or the address of the RESPONSE or NACK response area. If the request data address is located below the line, the response area (if any) is allocated below the line as well. If no data is passed on the CONVERSE request, the length field (OUTDATAL) must be zero. The address field is still used to determine the location of the response area in this case. |
The following fields are set by EVESCCCI upon return to the caller:
| Name | Disp. | Length | Contents and description |
|---|---|---|---|
| OUTRESPA | 044 | 04 | Address of response area allocated by EVESCCCI. It may contain a RESPONSE, ACK, or NACK response. This field is only returned on a successful CONVERSE request (OUTRTRNC=0). It is the responsibility of the caller of EVESCCCI to free the response area using EXEC CICS FREEMAIN. |
| OUTRESPL | 048 | 04 | Contains the length of the response area addressed by the OUTRESPA field. |
| OUTRTRNC | 052 | 04 | Contains the return code which will have one of
the following binary values:
|
| OUTABNDC | 056 | 04 | This field contains an error code for return codes
008 and 016. For return code 008 the field will have one of the following
character values:
|
When a RESPONSE response (R) is sent, function is used to locate the name of a command processor or command list in the EVENTASK initialization member. This command is scheduled under a task (also defined in the initialization member) with the following command text:
| Name | Disp. | Length | Contents and description |
|---|---|---|---|
| 000 | 8 | Command processor or command list name | |
| 008 | 8 | (8 blanks) |
|
| RHDRCVID | 016 | 8 | Program-to-program interface receiver identification |
| RHDSNDID | 024 | 8 | Generic applid (Program-to-program interface sender identification) |
| RHDDOMID | 032 | 8 | domainid |
| RHDTSKID | 040 | 8 | opid |
| RHDPRCNM | 048 | 8 | Program-to-program interface sender’s JOB or STC name |
| RHDFNAME | 056 | 8 | function |
| RHDRTYPE | 064 | 1 | R |
| 065 | 7 | *******(7 asterisks) |
|
| RHDSDATA | 072 | n | Response data (n = OUTDATAL) |
Examples of Usage
Example 1
****************************************************************
* ISSUE A CONVERSE REQUEST *
****************************************************************
*
XC CISPOUTP,CISPOUTP ZERO PARAMETER LIST
LA R6,CISPOUTP ADDRESS PARAMETER LIST
USING OUTDSECT,R6 ESTABLISH ADDRESSABILITY
SPACE 1
MVC OUTIDENT,=C'POUT0001' SET EYE CATCHER/BLOCK LEVEL
MVC OUTFNAME,=CL8'TESTCLST' SET FUNCTION NAME
MVI OUTRTYPE,OUTRTYPC SET CONVERSE REQUEST TYPE
LA R1,L'CONVTEXT LENGTH OF VARIABLE DATA
ST R1,OUTDATAL SET LENGTH OF VARIABLE DATA
LA R1,CONVTEXT ADDRESS OF VARIABLE DATA
ST R1,OUTDATAA SET ADDRESS OF CONVERSE DATA
MVC CISHWORD,=Y(OUTHL) LENGTH OF PARAMETER LIST
*
EXEC CICS LINK, REQUEST PROGRAM LINK, TO *
PROGRAM('EVESCCCI'), CPDS COMMUNICATION INTERFACE *
COMMAREA(CISPOUTP), PARAMETER LIST *
LENGTH(CISHWORD) PARAMETER LIST LENGTH
*
L R15,OUTRTRNC PICK UP THE RETURN CODE
* Process the return code and error code!
*
L R4,OUTRESPA ADDRESS RESPONSE AREA
USING INTDSECT,R4 ESTABLISH ADDRESSABILITY
*
LA R14,INTSDATA ADDRESS RESPONSE DATA
L R15,INTDATAL LENGTH RESPONSE DATA
* Do some meaningful processing!
*
CONVTEXT DC C'CONVERSE TEXT FROM CICS'
*
DFHEISTG ,
*
CISPOUTP DS CL(OUTHL) RESPONSE PARAMETER LIST
CISHWORD DS H PARAMETER BLOCK LENGTH
*
DFHEIEND ,
*
EVEMPINT , DEFINE INTERFACE DSECTExample 2
This assembler example shows the processing of a NetView CONVERSE request in CICS.
****************************************************************
* RETRIEVE TRANSACTION INPUT DATA *
****************************************************************
*
EXEC CICS RETRIEVE, GET INPUT DATA *
SET(R4), RETURN ADDRESS HERE *
LENGTH(CISHWORD) RETURN LENGTH HERE
*
USING INTDSECT,R4 ESTABLISH ADDRESSABILITY
*
LA R14,INTSDATA ADDRESS REQUEST DATA
L R15,INTDATAL LENGTH REQUEST DATA
* Do some meaningful processing!
*
****************************************************************
* RETURN A 'NORMAL' RESPONSE *
****************************************************************
*
XC CISPOUTP,CISPOUTP ZERO PARAMETER LIST
LA R6,CISPOUTP ADDRESS PARAMETER LIST
USING OUTDSECT,R6 ESTABLISH ADDRESSABILITY
*
MVC OUTIDENT,=C'POUT0001' SET EYE CATCHER/BLOCK LEVEL
MVC OUTREQID,INTREQID SET REQUEST IDENTIFIER
MVC OUTFNAME,INTFNAME SET FUNCTION NAME
MVI OUTRTYPE,OUTRTYPR SET RESPONSE RESPONSE TYPE
LA R1,L'RESPTEXT LENGTH OF VARIABLE DATA
ST R1,OUTDATAL SET LENGTH OF VARIABLE DATA
LA R1,RESPTEXT ADDRESS OF VARIABLE DATA
ST R1,OUTDATAA SET ADDRESS OF RESPONSE DATA
MVC CISHWORD,=Y(OUTHL) LENGTH OF PARAMETER LIST
*
EXEC CICS LINK, REQUEST PROGRAM LINK, TO *
PROGRAM('EVESCCCI'), CPDS COMMUNICATION INTERFACE *
COMMAREA(CISPOUTP), PARAMETER LIST *
LENGTH(CISHWORD) PARAMETER LIST LENGTH
*
L R15,OUTRTRNC PICK UP THE RETURN CODE
* Process the return code and error code!
*
RESPTEXT DC C'RESPONSE TEXT FROM CICS'
*
DFHEISTG ,
*
CISPOUTP DS CL(OUTHL) RESPONSE PARAMETER LIST
CISHWORD DS H LENGTH OF PARAMETER BLOCK
*
DFHEIEND ,
*
EVEMPINT , DEFINE INTERFACE DSECT