5.1.2 CICSクライアント・プログラムからの呼出し
CICSプログラムからリモートのOracle Tuxedoドメインに対してサービス呼出しを実行するには、EXEC CICS LINK
呼出しを前処理リクエスタに送信します。アクセス対象にするサービスは、Oracle TMA管理者が構成する必要がありますが、プログラミングに限って言えば、必要な手続きはLINK
呼出しのみです。次のCOBOLレコードは、client.cbl
というCOBOLのコピーブックに収録されています。
リスト COBOLレコード
01 REQUEST-RECORD.
05 REQUEST-HEADER.
10 DATALEN PIC S9(08) COMP.
10 SVCNAME[16] PIC X(16).
10 REQUESTCD PIC S9(08) COMP.
10 RETURNCD PIC S9(08) COMP.
10 REQRETURNCD PIC S9(08) COMP.
05 REQUEST-DATA.
10 DATA-AREA PIC X(DATALEN).
LINK
呼出しで渡すCの構造体のレイアウトは、リストに示すとおりです。次のCの構造体は、clienth.h
というインクルード
・ファイルに収録されています。
リスト Cの構造体
typedef struct CLIENTHDR
{
long DataLen; /* THE LEN OF THE DATA FROM AND TO APPL */
char SvcName[16]; /* THE SERVICE NAME */
long RequestCd; /* THE REQUEST COMMAND FROM THE APPL */
long ReturnCd; /* THE RETURN CODE TO THE APPL */
long ReqReturnCd; /* THE RETURN CODE FROM THE PREQ AND REQ */
} CLIENTHDR;
typedef struct CMAREA
{
CLIENTHDR CltHdr; /*HEADER */
char Request_data[MAX_DATA_LENGTH]; /* REQUEST DATA */
} CMAREA;
前述のCOBOLとCのサンプルの変数は、次のような定義内容になっています。
-
DataLen
Request_data
フィールドのデータの長さ。-
SvcName
- サービス・リクエスト名(名前については管理者に確認してください)。
-
RequestCd
- この呼出しのタイプを示す、あらかじめ定義されている数値。
-
ReturnCd
- このコードは、CICSのリクエスタから戻される戻りコードです。次の表に、すべての戻りコードを示します。処理またはネットワークの問題を示す戻りコードがある場合は、管理者に問い合せてください。
ノート:
これらのコードの詳細は、「CICSクライアント・プログラムに戻されるコード」を参照してください -
ReqReturnCd
- このコードは、Oracle Tuxedoドメインの戻りコードです。Tuxedoのエラー・コードについては、Oracle Tuxedoのドキュメントを参照してください。
-
Request_data
- この領域は、リクエスト・データと戻されるデータが格納される領域です。その長さは、個々のサービスの構成内容に応じて変わります。サービスごとに管理者に確認してください。最大値は32000です。
親トピック: クライアント・アプリケーションに関する注意事項