バージョン 8.1.3
 —  コマンドリファレンス  —

バッファタイプ間の関係

次の構文は、ダイレクトコールに指定できる各種バッファ間の関係を表しています。 この構文は、どのバッファ指定が他のバッファ指定の存在に依存しているかを把握するのに役立ちます。

注意:

  1. ACBX インターフェイスダイレクトコールを指定している場合は、対応する Adabas バッファ記述(ABD)も指定する必要があります。 また、ACBX インターフェイスダイレクトコールで、あるバッファ指定に他のバッファ指定が必要になる場合(例えば、フォーマットバッファにはレコードバッファが必要です)、バッファは指定した順番でペアになります(例えば、最初に指定したフォーマットバッファ ABD は最初に指定したレコードバッファ ABD とペアになります)。 次の構文は、コールまたは ABD リストに ABD をどの順番で指定するか判断するのに役立ちます。
  2. ACB インターフェイスダイレクトコールを指定している場合、この構文のマルチフェッチ、パフォーマンス、ユーザーの各バッファは適用されません。 また、フォーマット、レコード、サーチ、バリュー、ISN の順にバッファを指定する必要があります。 この順番の中で前に位置するバッファが必要なく、後に位置するバッファが必要である場合、必要なバッファの前にあるバッファは、たとえ空白であっても、指定する必要があります。 例えば、ACB インターフェイスダイレクトコールで ISN バッファが必要であり、それ以外のバッファは必要ない場合、ISN バッファの前にフォーマット、レコード、サーチ、バリューのダミーバッファをそれぞれ指定する必要があります。
[format-buffer record-buffer... [multifetch-buffer]]...
[search-buffer value-buffer]
[ISN-buffer]
[user-buffer] ...
[performance-buffer]

次の表では、この構文のエレメントについて説明します。

エレメント 説明 条件
format-buffer コールに使用するフォーマットバッファセグメントです。 各フォーマットバッファセグメントは、ピリオドで終了し、単独のフォーマットバッファとして完結した有効なものである必要があります。 Adabas 読み込みコマンドまたは更新コマンドの実行中に処理するフィールドを指定する必要がある場合にのみ必須です。

必須の場合、ACBX インターフェイスダイレクトコールに複数のフォーマットバッファを指定できます。 ACB インターフェイスダイレクトコールには、1 つのフォーマットバッファのみ指定できます。

コールにフォーマットバッファを指定する場合は、対応するレコードバッファも指定する必要があります。 ACBX インターフェイスダイレクトコールの場合、レコードバッファを指定しないと、フォーマットバッファのペアとなるダミーのレコードバッファ(長さゼロ)が作成されます。 ACB インターフェイスダイレクトコールの場合、レコードバッファを指定しないと、処理エラーが発生します。

ACBX インターフェイスダイレクトコールの場合は、対応するマルチフェッチバッファを指定することもできます。

ISN-buffer コールに使用する ISN バッファセグメントです。 ストレージ内に ISN を格納するためのエリアを確保する必要がある場合、または(ACB インターフェイスダイレクトコールでは)マルチフェッチまたはプリフェッチしたレコードのレコードディスクリプタエレメント(RDE)を格納するためのエリアを確保する必要がある場合にのみ必須です。

必須の場合、コールに ISN バッファを 1 つのみ指定します。

multifetch-buffer ACBX インターフェイスコールに使用するマルチフェッチバッファセグメント。 このバッファは、ACBX インターフェイスダイレクトコールにのみ使用できます。 ACBX インターフェイスダイレクトコールでのみ使用されます。また、マルチフェッチしたレコードのレコードディスクリプタエレメント(RDE)を格納するためのエリアをストレージ内に確保する必要がある場合にのみ必須です。

必須の場合、ACBX インターフェイスダイレクトコールに複数のマルチフェッチバッファを指定できます。

マルチフェッチバッファを指定した場合は、対応するフォーマットバッファおよびレコードバッファも指定する必要があります。 対応するバッファを指定しないと、マルチフェッチバッファに対応するダミーのフォーマットバッファおよびレコードバッファ(長さゼロ)が作成されます。

performance-buffer ACBX インターフェイスコールに使用するパフォーマンスバッファセグメント。 このバッファは、ACBX インターフェイスダイレクトコールでのみ使用でき、Adabas Review でのみ使用されます。 必須ではありません。 Adabas Review による ACBX インターフェイスダイレクトコールでのみ使用されます。 詳細については、Adabas Review のドキュメントを参照してください。
record-buffer コールに使用するレコードバッファセグメントです。 コールに必要なレコードデータまたはコール用に収集したレコードデータを格納するためのエリアをストレージに確保する場合にのみ必須です。

必須の場合、ACBX インターフェイスダイレクトコールに複数のレコードバッファを指定できます。 ACB インターフェイスダイレクトコールには、1 つのレコードバッファのみ指定できます。

コールにレコードバッファを指定する場合は、対応するフォーマットバッファも指定する必要があります。 ACBX インターフェイスダイレクトコールの場合、フォーマットバッファを指定しないと、レコードバッファのペアとなるダミーのフォーマットバッファ(長さゼロ)が作成されます。 ACB インターフェイスダイレクトコールの場合、フォーマットバッファを指定しないと、処理エラーが発生します。

ACBX インターフェイスダイレクトコールの場合は、対応するマルチフェッチバッファを指定することもできます。

search-buffer コールに使用するサーチバッファセグメントです。 コール対象レコードの選択時に検索条件が必要な場合にのみ必須です。

コールにサーチバッファを指定する場合は、対応するバリューバッファも指定する必要があります。 単一のダイレクトコールに指定可能なサーチバッファとバリューバッファのペアの数は 1 つだけです。

user-buffer コールに使用するユーザーバッファセグメント(拡張)です。 ユーザーバッファ拡張(UBX)は、Adabas ニュークリアスユーザー出口 11 と 4、および Adalink ユーザー出口 1 と 2(Adabas 7 のユーザー出口 A と B)に渡されるユーザーデータに使用されます。 ACBX インターフェイスダイレクトコールでのみ使用されます。また、コールで Adabas ニュークリアスユーザー出口 11 と 4、および Adalink ユーザー出口 1 と 2(Adabas 7 のユーザー出口 A と B)への入力が必要になる場合にのみ必須です。 単一のダイレクトコールに指定できるユーザーバッファは 1 つだけです。
value-buffer コールに使用するバリューバッファセグメントです。 コール対象レコードの選択時に検索条件が必要な場合にのみ必須です。

コールにバリューバッファを指定する場合は、対応するサーチバッファも指定する必要があります。 単一のダイレクトコールに指定可能なサーチバッファとバリューバッファのペアの数は 1 つだけです。

Top of page