The COBOL program calls the CICS program using the External CICS Interface (EXCI). To use this interface, you need to code an EXEC CICS LINK call every time the COBOL program wants to invoke a CICS program.
An EXCI call can only be executed in a service that is Container Managed. An EXCI call executed in an Application Managed generates an abend: EXIA
This is similar to the EXEC CICS LINK call used in a CICS program to perform distributed program linking. However, there are some significant differences.
The format of the call is as follows:
EXEC CICS LINK PROGRAM(program-name) RETCODE(data-area-1) COMMAREA(data-area-2) . . . END-EXEC
where the options are as follows:
The call must be immediately followed by an EXEC-END statement.
For example:
exec cics link program (ws-program) commarea (ws-commarea) retcode (exci-exec-return-code) end-exec
We supply a copy book, DFHXCPLO, which provides data descriptions for RETCODE and COMMAREA. You can find this copy book in install-dir\base\source . The copybook has data descriptions for the parameter passed in the RETCODE field, exci-exec-return-code:
01 exci-exec-return-code. 03 exec-resp pic 9(8) comp. 03 exec-resp2 pic s9(8) comp. 03 exec-abcode pic x(4). 03 exec-msg-len pic 9(8) comp. 03 exec-msg-ptr pointer.