1.2.1 サポート対象のDL/Iインタフェース

次の表に、サポート対象のDL/Iインタフェースを示します。

表1-7 サポート対象のDL/Iインタフェース

インタフェース名 説明
CBLTDLI OS/39におけるIMS/TMでのDL/I呼出しの0エントリ。
AIBTDLI AIBTDLIは、DL/Iレイヤー全体のエントリ関数です。CBLTDLIとの基本的な違いは、AIBTDLIは、制御情報をやり取りするための最初のパラメータとしてAIBマスクを使用することです。
CTDLI CTDLIは、CTDLIライブラリ全体のエントリ関数です。DLIへのリクエストはすべて渡されます

1.2.1.1 CBLTDLI

1.2.1.1.1 名前

CBLTDLI - OS/39におけるIMS/TMでのDL/I呼出しの0エントリ。

1.2.1.1.2 説明

Tuxedo ART for IMSでは、CBLTDLIは、DLIライブラリのエントリとして機能する関数です。CBLTDLIは、それに渡された関数コードに基づいて適切な関数を呼び出します。

1.2.1.1.3 パラメータ

関数コード(GUなど)、I/O PCBまたは代替PCB、I/O領域、MOD

1.2.1.2 AIBTDLI

1.2.1.2.1 名前

AIBTDLI - DL/Iレイヤー全体のエントリ関数。

1.2.1.2.2 説明

AIBTDLIは、z/OSにおけるIMS/TMでのDL/I呼出しのエントリです。Tuxedo ART for IMSでは、AIBTDLIは、DL/Iライブラリのエントリとして機能する関数です。AIBTDLIは、AIBマスクで指定されているPCB名に従ってPCBアドレスを取得し、見つかったPCBアドレスとともにそれに渡された関数コードに基づいて適切な関数を呼び出します。

1.2.1.2.3 パラメータ

関数呼び出し(GUなど)、AIBマスク、I/O領域、入力または出力バッファ。次の表7に、AIBマスク・パラメータを示します。

表1-8 AIBマスク・パラメータ

名前 説明 サポート
AIBID X(8) AIB識別子、"DFSAIBbb"に設定されている必要があります。これは、入力専用です。 はい
AIBLEN X(4) AIBの長さ、AIBマスクの長さ。これはアプリケーション・プログラムで適切に設定する必要があり、最小値は128です。これは、入力専用です。 はい
AIBSFUNC X(8) AIBサブ関数、いくつかのDL/I呼出しによって必要とされるサブ関数。必要な場合は、アプリケーション・プログラムによって適切に設定されることが必要です。 はい。IMSでは、INQYサブ関数のみがサポートされています。
AIBRSNM1 X(8) このフィールドにはPCB名が入ります。これは、プログラムによって適切に指定される必要があります。その設定については、「AIBTDLI」の項を参照してください。 はい
RESERV1 X(16) 予約済の16バイト いいえ
AIBOALEN X(4) AIB出力領域の長さ、AIBTDLIに対して指定されているI/O領域の長さ。 はい
AIBOAUSED X(4) AIB出力領域の使用済の長さ、I/O領域における返されたデータの長さ。これは、そのI/O領域が出力バッファとして使用されている場合にのみ有効です。 はい
RESERV2 X(12) 予約済の12バイト いいえ
AIBRETRN X(4) AIB戻りコード、AIBTDLI呼出しの戻りコード。 一部サポートされています。

現在、このフィールドの設定は次のシナリオでのみサポートされています。

  1. INQYサブ関数。
  2. DBPCB(GSAMデータベースを除く)上のDLI呼出し。
その他のシナリオでは、処理に失敗した場合、このフィールドは0x0900に設定されます。関連するPCBステータスを確認する必要があります。

処理が正常に終了した場合、このフィールドは0x0000に設定されます。

AIBREASN X(4) AIB理由コード、AIBTDLI呼出しの理由コード。 一部サポートされています。

現在、このフィールドの設定は次のシナリオでのみサポートされています。

  1. INQYサブ関数。
  2. DBPCB(GSAMデータベースを除く)上のDLI呼出し。
処理が正常に終了した場合、このフィールドは0x0000に設定されます。
AIBERRXT X(4) AIB拡張エラー・コード、追加のエラー情報が入ります。 いいえ
AIBRSA1 X(4) AIBリソース・アドレス、これは、AIBRSNM1で指定されているPCB名に対応するPCBアドレスが格納される出力フィールドです。ART/IMS 64ビットでは、PCBアドレスの長さは8バイトであり、このフィールドには実際に8バイトが格納されます(次の予約済領域の最初の4バイトから取得された追加の4バイトを含む)。 64ビット・プラットフォームでは、カスタマは、正しいPCBのアドレスを取得するためにAIBRSA1だけでなくRESERV3の最初の4バイトを使用する必要があります。
RESERV3 X(48) ART/IMS 64ビットでは、その最初の4バイトが、AIBRSA1とともに返されたPCBアドレスを格納するために借用されるため、それを他の目的には使用できません。 いいえ

AIBマスク・フィールドAIBRSNM1におけるPCB名の指定の詳細なルールは、次のとおりです。

I/O PCB
I/O PCBの名前は、IOPCBbbbとして指定する必要があります。
代替PCB
代替PCBの名前は、$appname.psb構成ファイル内のlabel=で構成する必要があり、AIBマスクで適切に指定されている必要があります。各代替PCBの名前(ラベル)は、1つのPSB内(つまり、1つの$appname.psbファイル内)で一意である必要があります。
DB PCB
DB PCBの名前は、$appname.psb構成ファイル内のlabel=で構成する必要があり、AIBマスクで適切に指定されている必要があります。各DB PCBの名前(ラベル)は、1つのPSB内(つまり、1つの$appname.psbファイル内)で一意である必要があります。

1.2.1.3 CTDLI

1.2.1.3.1 名前

CTDLI - DL/Iレイヤー全体のエントリ関数。

1.2.1.3.2 説明

Tuxedo ART for IMSでは、CTDLIは、DLIライブラリのエントリとして機能する関数です。CTDLIは、それに渡された関数コードに基づいて適切な関数を呼び出します。

1.2.1.3.3 パラメータ

関数呼び出し(GUなど)、PCB (I/O PCBまたは代替PCB)、I/O領域、入力または出力バッファ。

op引数は、実行するDL/I関数を指定します。ctdli()呼出し形式は、選択した関数によって異なります。詳細は、「CBLTDLI」を参照してください。

ノート:

CTDLIを使用する場合、SSAパラメータは、ポインタ・パラメータである必要があります。