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