11 外部CICSインタフェース(EXCI)
この章のトピックは、次のとおりです:
11.1 概要
外部CICSインタフェースは、MVSで実行されるCICS以外のプログラムを有効化するアプリケーション・プログラミング・インタフェースです。次の操作を実行できます。
- CICSシステムへのセッションを割り当てて開き、DPLリクエストをそのセッション上で発行します。
- CICS環境で実行されるサーバー・プラグラムを呼び出し、通信領域経由でデータを受け渡したり受信したりします。
外部CICSインタフェースは、2種類の形式のプログラミング・インタフェースを提供します。
EXCI CALLインタフェース。次の操作を可能にする6つのコマンドから構成されます。- MVSで実行されるCICS以外のプログラムからCICSシステムへのセッションを割り当てます。
- CICS以外のプログラムから当該セッション上でDPLリクエストを発行します。
- DPLリクエストの完了時にセッションを閉じて解放します。
EXCIEXEC CICSインタフェースは、1つの複合コマンドを提供します。このコマンドは、1回の呼出しでEXCI CALLインタフェースの6つのコマンドすべてを実行します。
親トピック: 外部CICSインタフェース(EXCI)
11.2 Oracle Tuxedo Application RuntimeにおけるEXCI
図11-1 ARTにおけるEXCI

それぞれのEXCI ART CICSプログラムは、resource/program.descファイル内でDPLサービスとして定義する必要があります。7番目の列にはCICS SYSIDを含める必要があり、サービスは<SYSID>_<PROGRAM>という名前で通知されます。
transaction.descでDFHMIRSを使用してミラー・トランザクションが定義されている場合、DPLは<APPLID>_MIRROR_<TRANSID>またはMIRROR_<TRANSID>という名前でサービスを通知します。
すべてのDPLリクエストがSYNCONRETURNを使用して実行され、RRMSの制御化にない場合、Tuxedoクライアントではリソース・マネージャは必要ありません。最初のEXCIリクエスト・プロセス中に初期化が実行され、Tuxedoセッションはクライアント・プロセスの最後に終了されます。
RRMSが使用されるか、または1つのDPLリクエストがSYNCONRETURNを使用せずに実行される場合、Tuxedoクライアント・プロセスは1つのリソース・マネージャを使用して構築する必要があります。初期化時にリソース・マネージャが開かれ、クライアント・プロセスの開始時にトランザクションが始まります。これらのステップのいずれかが正常に実行されない場合、クライアント・プロセスは中断します。クライアント・プロセスが通常どおりに終了すると、トランザクションがクライアント・プログラム(RSSCMIT)によって明示的に実行されない場合、そのトランザクションはコミットされます。クライアント・プロセスが異常に終了すると、トランザクションはロールバックされます。これらのいずれかの場合、リソース・マネージャが閉じられ、Tuxedoセッションが終了されます。
11.2.1 サポートされるEXCIインタフェース
EXCIプリコンパイラ・オプションは、CICSクライアント・バッチ・プログラム用に使用する必要があります。
COBOLプリコンパイラは、EXCI CALLまたは1つのCICSコマンド(EXEC CICS LINK)のみを次に説明するオプションとともにサポートします。Cプリコンパイラは、EXCI EXEC CICS LINKのみをサポートします。
ART CICSでは、EXCIリクエストを行うためのDFHXCIS APIがサポートされます(DFHXCISはクライアント・プログラムでEXCI CALLを行うプロシージャAPIです)。
EXEC CICS LINKの場合、RETCODEコマンド・オプションはEXCIで必須ですが、NOEXCIでは禁止されており、APPLIDオプションはEXCI専用です。EXCIを使用しない場合、SYSIDオプションを使用できます。
EXCIプリコンパイラ・オプションを使用する場合、DFHEIBLKもDFHCOMMAREAもPROCEDURE DIVISION USINGパラメータとして生成されません。
EXCIプリコンパイラ・オプションは、7番目の列から含まれるCOBOLコメント行を挿入すると設定されます。
*KIX--OPTION EXCI
IDENTIFICATION DIVISION行の前。
EXCI Cプリコンパイラ・オプションは、-Bで設定されます。
ART CICSがサポートするEXCI EXEC CICS LINKコマンドは、PROGRAM (name)、APPLID (name)およびTRANSID (name)です。DATALENGTH (data-value)は認識されます。
11.2.2 プリコンパイラ制御
PROGRAM()およびRETCODE()がEXCIのLINKコマンドに必須です。SYSIDはEXCIで認識されません。LENTGHまたはDATALENGTHが存在する場合は、COMMAREAが存在する必要があります。EXCI CICS LINKはEXCIでサポートされる唯一のコマンドです。
11.2.3 アクセス認証
Tuxedo構成のSECURITYレベルによってアクセス認証が実行されます。
MT_EXCIAPPPROFILE環境変数は、genappprofile ARTKIXツールによって生成されるアプリケーション・プロファイルのファイル名を提供します。デフォルト・ファイル名は$HOME/.tuxAppProfileです。
EXCIクライアントによって発行されるDPLプログラムでは、EXEC CICS ASSIGN USERID()コマンドが次を返します。
Tuxedo ubbconfig内にセキュリティ・レベルが設定されていない場合は、$USER環境変数の値。Tuxedo ubbconfig内でセキュリティ・レベルを有効化する場合は、genappprofileツールのUSERID入力値。USERIDの値は、tuxAppProfileから取得され、DPLリクエストによって渡されます。
詳細は、 Oracle Tuxedo Application Runtime for Batchのドキュメントを参照してください。
EXCIクライアントによって発行されるDPLプログラムでは、EXEC CICS ASSIGN USERNAME() コマンドが次を返します。
Tuxedo ubbconfig内にセキュリティ・レベルが設定されているかどうかにかかわらず、$USERNAME環境変数の値。
11.2.4 ART CICSの実装
EXCIインタフェースを介してリンクされるプログラムは、ARTDPLサーバーによって通知されます。そのプログラム名は<program>_<sysid>となり、<program>はリンクされるプログラム名(EXCI EXECインタフェースのoption PROGRAM(<program>))で、<sysid>はCICSシステムIDです。
EXCIインタフェースは、<applid> CICSアプリケーションIDを使用して適切なCICS領域のアドレスを指定します。<applid>と<sysid>との間の関係は、<applid>_infoと言う名前の特定のDPLサーバー・サービス経由で構築されます。
DPLサーバー・コマンド行(CLOPT)の-aユーザー・パラメータ値は、_infoサービスの<applid>値として使用されます。
<applid>がクライアントによって省略される場合(APPLID(<applid>) EXCI EXECインタフェース・オプションなし)、default_infoサービスが呼び出されます。このサービスは、最初に起動されるDPLサーバーによって通知されます。
_infoサービスは、サーバー・コマンドラインの-sユーザー・パラメータによってサーバーに関連付けられる<sysid>を返します。
ART CICS 12cローリング・パッチ015以降、4つのサービスがARTDPLサーバーによって通知されます。
<applid>_CSMI。<applid>は、適切なCICSリージョンのアドレスを指定するCICSアプリケーションIDです。このサービスは、EXCIインタフェースでクライアントによって<transid>は指定されないが、<applid>は指定される場合に呼び出されます。CSMI。このサービスは、EXCIインタフェースでクライアントによって<applid>と<transid>の両方とも指定されない場合に呼び出されます。<applid>_MIRROR_<transid>。<applid>は、適切なCICSリージョンのアドレスを指定するCICSアプリケーションIDで、<transid>は、トランザクションIDです。このサービスは、EXCIインタフェースでクライアントによって<applid>と<transid>の両方が指定される場合に呼び出されます。MIRROR_<transid>。<transid>はトランザクションIDです。このサービスは、EXCIインタフェースでクライアントによって<applid>は指定されないが、<transid>は指定される場合に呼び出されます。
11.2.4.1 ART制限
この項の内容は次のとおりです。
11.2.4.1.1 共通EXCIインタフェースのART制限
TRANSIDに意味はありません。これに関する制御もありません。DFHEIBLK構造体のEIBTRNIDフィールドでDPLサービスに渡されるのみです。COMMAREAの長さは最大32763バイトに制限されています。
親トピック: ART制限
11.2.4.1.2 EXCI CALLインタフェースのART制限
VERSION-1のみがサポートされます。- 初期ユーザー
USER-NAMEは、制御を持たないユーザー・トークンを生成するためにのみ使用されます。 DPL UOWIDは互換性を確保する目的でのみ保持され、設定およびテストされません。PIPE-TYPEに意味はありません。PIPE-TYPEに対して認識される値は、X'00'および(X'C3'またはX'D8)のみです(X'C3'およびX'D8'は、コード・ページに応じて指定できるX'80'EBCDICのASCII値です)。その他の値では、応答コードは12、理由コードは498に設定されます。SYNC-TYPEに対して認識される値は、X'00'および(X'C3'またはX'D8)のみです(X'C3'およびX'D8'は、コード・ページに応じて指定できるX'80'EBCDICのASCII値です)。その他の値では、応答コードは12、理由コードは499に設定されます。
親トピック: ART制限
11.2.4.2 SRRCMIT/SRRBACK関数
SRRCMITおよびSRRBACK関数を使用できます。ATRCMITおよびATRBACK関数はサポートされていません。
SRRCMIおよびSRRBACK関数は次のようにコーディングする必要があります。
01 SRR-RETCODE PIC 9(8) COMP-5.
CALL "SRRCMIT" USING SRR-RETCODE
CALL "SRRBACK" USING SRR-RETCODE
親トピック: ART CICSの実装
11.2.4.3 EXCI EXEC CICS LINKの構成ファイル宣言
EXCI EXEC CICS Linkコマンドを使用するには、system.desc、transactions.descおよびprogram.desc構成ファイルを構成する必要があります。
構成の例を、次に示します。
[SYSID]
APPLID={applid}リスト11-2 transactions.desc
#TRANSNAME;GROUPNAME; DESCRIPTION; PROGRAM,hardcode with DFHMIRS
ECCI;SIMPDPL;pg for simpapp;DFHMIRS#PROGRAM;GROUP;DESCRIPTION;LANGUAGE;EXECKEY;STATUS
TOUPSVR;SIMPDPL;pg for simpapp;COBOL; ;ENABLED;KIXD親トピック: ART CICSの実装