Table of Contents Previous Next PDF


External CICS Interface (EXCI)

External CICS Interface (EXCI)
Overview
The external CICS interface is an application programming interface which enables a non-CICS program running in MVS to:
The external CICS interface provides two forms of programming interface:
The EXCI CALL interface, which consists of six commands that allow you to:
The EXCI EXEC CICS interface, which provides a single composite command that performs all six commands of the EXCI CALL interface in one invocation.
EXCI in Oracle Tuxedo Application Runtime
Figure C‑1 EXCI in ART
Each EXCI ART CICS program must be defined as a DPL service in the resource/program.desc file. The seventh column must contain the CICS SYSID, and the service is advertised with the name: <SYSID>_<PROGRAM>.
If a mirror transaction is defined in transaction.desc using DFHMIRS, DPL advertises a service with name <APPLID>_MIRROR_<TRANSID> or MIRROR_<TRANSID>.
If all DPL requests are done with SYNCONRETURN and not under the RRMS control, no Resource Manager is required in the Tuxedo Client. The initialization is done during the first EXCI request process and the Tuxedo session is terminated at the end of the client process.
If RRMS is used or one DPL request is done without SYNCONRETURN, the Tuxedo Client process must be built with one Resource Manager. At the initialization, the Resource Manager is opened and the transaction is begun at the beginning of the Client process. If one of these steps is not successful, the Client process aborts. At the normal end of the client process, the transaction is committed if it was not explicitly done by the client program (RSSCMIT). At the abnormal end of the client process, the transaction is rolled back. In each of these cases the Resource Manager is closed and the Tuxedo session is terminated.
Supported EXCI Interface
The EXCI precompiler option must be used for CICS client batch program.
The COBOL precompiler supports EXCI CALL or only one CICS command, EXEC CICS LINK with the next described options. The C precompiler only supports EXCI EXEC CICS LINK.
In case of EXEC CICS LINK, the RETCODE command option is mandatory with EXCI but forbidden with NOEXCI, and the APPLID option is EXCI specific. Without EXCI the SYSID option can be used.
With the EXCI precompiler option neither DFHEIBLK nor DFHCOMMAREA is generated as PROCEDURE DIVISION USING parameter.
The EXCI precompiler option is set by inserting a COBOL comment line containing from the seventh column:
*KIX--OPTION EXCI
before IDENTIFICATION DIVISION line.
The EXCI C precompiler option is set by "-B".
ART CICS supports the following EXCI EXEC CICS LINK commands: PROGRAM (name), APPLID (name), and TRANSID (name). DATALENGTH (data-value)is recognized.
Precompiler Controls
PROGRAM() and RETCODE() are required for the LINK command in EXCI.
SYSID is not recognized in EXCI.
COMMAREA must be present if LENTGH or DATALENGTH is present.
EXCI CICS LINK is the only supported command in EXCI.
Access Authorization
The Tuxedo configuration SECURITY level drives the access authorization.
The MT_EXCIAPPPROFILE environment variable provides the application profile file name generated by the genappprofile ARTKIX tool. The default file name is $HOME/.EXCIappProfile.
In DPL service, the EXEC CICS ASSIGN USERID() command returns:
$USER environment variable in the EXEC interface
USERID value passed to the DPL request function of the CALL interface
See ART Batch Runtime documentation for more details.
ART CICS Implementation
The programs linked via the EXCI interface are advertised by the ARTDPL server. They are named as <program>_<sysid>, where <program> is the linked program name (option PROGRAM(<program>) of EXCI EXEC interface), and <sysid> is the CICS system ID.
The EXCI interface uses the <applid> CICS application ID to address the appropriate CICS region. The relationship between <applid> and <sysid> is made via a specific DPL server service named <applid>_info.
The -a user parameter value of the DPL server command line (CLOPT) is used as <applid> value for the _info service.
If the <applid> is omitted by the client (without APPLID(<applid>) EXCI EXEC interface option), the default_info service is called. This service is advertised by the first DPL booted server.
The _info service returns the <sysid> associated to the server by the -s user parameter of the server command line.
Since ART CICS rolling patch 015, four new services are advertised by the ARTDPL server:
<applid>_CSMI, where <applid> is the CICS application ID to address the appropriate CICS region. This service is called if <transid> is not specified but <applid> is specified in EXCI interface by the client.
CSMI. This service is called if both <applid> and <transid> are not specified in EXCI interface by the client.
<applid>_MIRROR_<transid>, where <applid> is the CICS application ID to address the appropriate CICS region, and <transid> is the transaction ID. This service is called if both <applid> and <transid> are specified in EXCI interface by the client.
MIRROR_<transid>, where <transid> is the transaction ID. This service is called if <applid> is not specified but <transid> is specified in EXCI interface by the client.
ART Restrictions
Common EXCI Interfaces ART Restrictions
The TRANSID has no meaning. There is no control on it. It is only passed to the DPL service in the EIBTRNID field in DFHEIBLK structure.
The COMMAREA length is limited to 32763 bytes.
EXCI CALL Interface ART Restrictions
Only VERSION-1 is supported.
The initial user USER-NAME is only used to generate a user-token without any control.
The DPL UOWID is kept for compatibility only, and is not set and tested.
The PIPE-TYPE has no meaning. The recognized values for PIPE-TYPE are only X'00' and (X'C3' or X'D8) (X'C3' and X'D8' are the possible ASCII values for X'80' EBCDIC depending code-page). On other value the response code is set to 12 and the reason code to 498.
The recognized values for SYNC-TYPE are only X'00' and (X'C3' or X'D8') (X'C3' and X'D8' are the possible ASCII values for X'80' EBCDIC depending code-page). On other value the response code is set to 12 and the reason code to 499.
EXCI EXEC Interface ART Restrictions
The DFHXCRM replaceable-module is not treated.
SRRCMIT/SRRBACK Functions
The SRRCMIT and SRRBACK functions are available. ATRCMIT and ATRBACK functions are not supported.
SRRCMI and SRRBACK fuctions must be coded as:
01 SRR-RETCODE PIC 9(8) COMP-5.
CALL "SRRCMIT" USING SRR-RETCODE
CALL "SRRBACK" USING SRR-RETCODE
Configuration Files Declaration for EXCI EXEC CICS LINK
To use EXCI EXEC CICS Link command, the system.desc, transactions.desc, and program.desc configuration files should be configured.
Following are configuration examples.
Listing C‑1 system.desc
[SYSID]
APPLID={applid}
 
Listing C‑2 transactions.desc
#TRANSNAME;GROUPNAME; DESCRIPTION; PROGRAM,hardcode with DFHMIRS
ECCI;SIMPDPL;pg for simpapp;DFHMIRS
 
Listing C‑3 program.desc
#PROGRAM;GROUP;DESCRIPTION;LANGUAGE;EXECKEY;STATUS
TOUPSVR;SIMPDPL;pg for simpapp;COBOL; ;ENABLED;KIXD
 

Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.