In this topic, we described about the Execute Interface Block (EIB) with detailed example.
Each task in a command-level environment has a control block associated with it known as EXEC interface block (EIB). The EIB is used for direct communication between command-level programs and CICS.
This control block is included automatically by an application program using the command-level interface. An application program can access all of the fields in the EIB by name.
The EIB contains useful information such as the transaction identifier, the time and date and the cursor position on a display device during an application program execution.
The EIB contains useful information when a dump is being used to debug a program. DFHEIBLK defines the layout of an EIB and giving access to all of the fields in the EIB by name.
EIB known as the “system” EIB that exists for each task and has the same format as the “user” or “application” EIB. Below are the list of Exec Interface Block fields –
|DFHEIBLK||STRUCTURE||0||EXEC INTERFACE BLOCK|
|EIBAID||CHARACTER||1||ATTENTION IDENTIFIER||Contains the last attention identifier received from terminal.|
|EIBATT||CHARACTER||1||ATTACH RECEIVED||Indicates the RU contains attach header data (X'FF').|
|EIBCALEN||HALFWORD||2||COMMAREA LENGTH||Contains the length of the communication area.|
|EIBCOMPL||CHARACTER||1||DATA COMPLETE||Indicates whether the data end reached during retrieval.|
|EIBCONF||CHARACTER||1||CONFIRM REQUESTED||Indicates that a CONFIRM request has been received for an APPC conversation.|
|EIBCPOSN||HALFWORD||2||CURSOR POSITION||Contains the cursor position associated with the last terminal.|
|EIBDATE||4||DATE IN 0CYYDDD+ FORMAT, where C is the century indicator (0=1900, 1=2000), YY is the year, DDD is the day number and '+' is the sign byte (positive)||Contains the date the task is started.|
|EIBDS||CHARACTER||8||DATASET NAME||Contains the symbolic identifier of the last data set referred in a file control request.|
|EIBEOC||CHARACTER||1||EOC RECEIVED||Indicates that an end-of-chain indicator.|
|EIBERR||CHARACTER||1||ERROR RECEIVED||Indicates that an error has been received on an APPC conversation.|
|EIBERRCD||CHARACTER||4||ERROR CODE RECEIVED||When EIBERR is set, contains the error code that has been received.|
|EIBFMH||CHARACTER||1||FMHS RECEIVED||Indicates that the user data received or retrieved contains an FMH.|
|EIBFN||CHARACTER||2||FUNCTION CODE||Contains a code that identifies the last CICS command issued by the task.|
|EIBFREE||CHARACTER||1||FREE REQUESTED||Indicates that the application program cannot continue using the facility.|
|EIBNODAT||CHARACTER||1||NO APPL DATA RECEIVED||Indicates that no data has been sent by the remote application.|
|EIBRCODE||CHARACTER||6||RESPONSE CODE||Contains the CICS response code returned after some specific function gets executed.|
|EIBRECV||CHARACTER||1||RECEIVE REQUIRED||Indicates that the application program is to continue receiving data from the facility by executing RECEIVE commands.|
|EIBREQID||CHARACTER||8||REQUEST IDENTIFIER||Contains the request identifier assigned to an interval control command by CICS.|
|EIBRESP||FULLWORD||4||INTERNAL CONDITION NUMBER||Contains a number corresponding to the RESP condition that occurred.|
|EIBRESP2||FULLWORD||4||MORE DETAILS ON SOME RESPONSES||Contains more detailed information that can help explain why the RESP condition occurred.|
|EIBRLDBK||CHARACTER||1||ROLLED BACK||Indicates rollback.|
|EIBRSRCE||CHARACTER||8||RESOURCE NAME||Contains the symbolic identifier of the resource being accessed by the latest executed command.|
|EIBSIG||CHARACTER||1||SIGNAL RECEIVED||Indicates that SIGNAL has been received.|
|EIBSYNC||CHARACTER||1||SYNCPOINT REQUESTED||Indicates that the application program must take a sync point or terminate.|
|EIBSYNRB||CHARACTER||1||SYNC ROLLBACK REQ'D||Indicates that the application program should issue a SYNCPOINT ROLLBACK command.|
|EIBTASKN||4||TASK NUMBER||Contains the task number assigned to the task by CICS.|
|EIBTIME||4||TIME IN 0HHMMSS FORMAT||Contains the time at which the task is started.|
|EIBTRMID||CHARACTER||4||TERMINAL IDENTIFIER||Contains the symbolic terminal identifier of the principal facility associated with the task.|
|EIBTRNID||CHARACTER||4||TRANSACTION IDENTIFIER||Contains the symbolic transaction identifier of the task.|