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

サーチバッファとバリューバッファの例

ここでは、サーチバッファとバリューバッファの構成例を示します。 ここで記述するすべての例で使用されている Adabas ファイルの定義については、「例で使用されているファイル定義」を参照してください。 バリューバッファの値は文字および/または 16 進数で表示します。


例 1:単一の検索式の使用

単一の検索式を使用する検索。

ファイル 1 のレコードのうち、フィールド AA の値が 12345 であるレコードの ISN を選択します。なお、フィールド AA は、8 バイト標準長の数値フォーマットです。

サーチバッファ
AA.
検索引数
バリューバッファ character-notation
00012345
hex-notation
F0F0F0F1F2F3F4F5
フィールド値の指定

サーチバッファに AA,5. と指定し、バリューバッファに値 12345(末尾の空白なし)としても同じ検索が実行されます。

Top of page

例 2:AND で結合した検索式の使用

2 つの検索式を AND(論理積)演算で結合して検索します。

ファイル 1 のレコードのうち、フィールド AA の値が 12345678 で、かつフィールド AB の値が +2 であるレコードの ISN を選択します。なお、フィールド AA は 8 バイト標準長の数値フォーマットで、フィールド AB は 2 バイト標準長のパック 10 進フォーマットです。

サーチバッファ
AA,D,AB.
検索引数
バリューバッファ hex-notation
F1F2F3F4F5F6F7F8002C
フィールド値の指定

ファイル 1 のレコードのうち、フィールド AA の値が 12345678 で、かつフィールド AB の値が +2 であるレコードの ISN を選択します。なお、フィールド AA は 8 バイト標準長の数値フォーマットで、フィールド AB は 3 バイト長(上書き)のアンパック 10 進フォーマット(上書き)です。

サーチバッファ
AA,D,AB,3,U.
検索引数
バリューバッファ character-notation
12345678002
hex-notation
F1F2F3F4F5F6F7F8F0F0F2
フィールド値の指定

この 2 つ目の検索は、サーチバッファに長さとフォーマットを指定する例を示しています。結果は、最初の検索と同じになります。

Top of page

例 3:OR で結合した検索式の使用

3 つの検索式を OR(論理和)演算で結合して検索します。

ファイル 2 のレコードのうち、フィールド XB の値が 284、285、290 のいずれかであるレコードの ISN を選択します。 また長さとフォーマットを変更しています。

サーチバッファ
XB,3,U,O,XB,3,U,O,XB,3,U.
検索引数
バリューバッファ character-notation
284285290
hex-notation
F2F8F4F2F8F5F2F9F0
フィールド値の指定

Top of page

例 4:FROM-TO で結合した検索式の使用

2 つの検索式を FROM-TO(範囲)演算で結合して検索します。

ファイル 2 のレコードのうち、フィールド XB の値が +20 から +30 の範囲にあるレコードの ISN を選択します。

サーチバッファ
XB,S,XB.
検索引数
バリューバッファ hex-notation
020C030C
フィールド値の指定

Top of page

例 5:BUT-NOT で結合した検索式の使用

3 つの検索式を FROM-TO(範囲)と BUT-NOT(除外)演算で結合して検索します。

ファイル 2 のレコードのうち、フィールド XB の値が、+27 を除く +20 から +30 の範囲にあるレコードの ISN を選択します。

サーチバッファ
XB,S,XB,N,XB.
検索引数
バリューバッファ hex-notation
020C030C027C
フィールド値の指定

ファイル 2 のレコードのうち、フィールド XB の値が、+1 から +200 または +500 から +600 の範囲にあるレコードの ISN を選択します。

サーチバッファ
XB,S,XB,O,XB,S,XB.
検索引数
バリューバッファ hex-notation
001C200C500C600C
フィールド値の指定

Top of page

例 6:マルチプルバリューディスクリプタの使用

マルチプルバリューディスクリプタを使用した検索。

ファイル 1 のレコードのうち、マルチプルバリューフィールド MF のいずれかの値が ABC である ISN を選択します。

サーチバッファ
MF.
検索引数
バリューバッファ character-notation
ABC 
hex-notation
C1C2C3
フィールド値の指定

検索をマルチプルバリューフィールドの特定のオカレンスに制限することはできません。 次のサーチバッファエントリは無効です。

サーチバッファ
MF2.
検索引数

Top of page

例 7:ピリオディックグループ内のディスクリプタの使用

ピリオディックグループ内のディスクリプタを使用して検索します。

ファイル 1 のレコードのうち、ディスクリプタ BA(ピリオディックグループに属している)のいずれかのオカレンスの値が 4 であるレコードの ISN を選択します。

サーチバッファ
BA.
検索引数
バリューバッファ hex-notation
04
フィールド値の指定

ファイル 1 のレコードのうち、ディスクリプタ BA(ピリオディックグループに属している)の第 3 オカレンスの値が 4 であるレコードの ISN を選択します。

サーチバッファ
BA3.
検索引数
バリューバッファ hex-notation
04
フィールド値の指定

Top of page

例 8:サブディスクリプタの使用

サブディスクリプタを使用する検索。 SA はフィールド RA の先頭 4 バイトから生成したサブディスクリプタです。

ファイル 2 のレコードのうち、サブディスクリプタ SA の値が ABCD であるレコードの ISN を選択します。

サーチバッファ
SA.
検索引数
バリューバッファ hex-notation
C1C2C3C4
フィールド値の指定

Top of page

例 9:英数字フォーマットのスーパーディスクリプタの使用

英数字フォーマットのスーパーディスクリプタを使用する検索。 SB は、フィールド RA の先頭 8 バイトとフィールド RB の先頭 4 バイトから生成したスーパーディスクリプタです。

ファイル 2 のレコードのうち、スーパーディスクリプタ SB の値が ABCDEFGH1234 であるレコードの ISN を選択します。

サーチバッファ
SB.
検索引数
バリューバッファ hex-notation
C1C2C3C4C5C6C7C8F1F2F3F4
フィールド値の指定

Top of page

例 10:バイナリ形式のスーパーディスクリプタの使用

バイナリ形式のスーパーディスクリプタを使用する検索。 SC は、フィールド XB と XC から生成したスーパーディスクリプタです。

ファイル 2 のレコードのうち、フィールド XB の値が +20 で、かつフィールド XC の値が 123456 であるレコードの ISN を返します。

サーチバッファ
SC.
検索引数
バリューバッファ hex-notation
020FF1F2F3F4F5F6
フィールド値の指定

Top of page

例 11:以前に生成した ISN リストの使用

以前に生成した ISN リスト(コマンド ID で識別される)を使用する検索。

CID1 で識別される ISN リストと CID2 で識別される ISN リストのどちらにも存在する ISN を選択します。

サーチバッファ
(CID1),D,(CID2).
検索引数
バリューバッファ 使用しません。 フィールド値の指定

ファイル 1 のレコードのうち、CID1 で識別される ISN リストに ISN が存在し、かつフィールド AB の値が +123 であるレコードの ISN を選択します。

サーチバッファ (CID1),D,AB,3,U. 検索引数
バリューバッファ character-notation
123
hex-notation
F1F2F3
フィールド値の指定

Top of page

例 12:値演算子の使用

値演算子を使用した検索。

ファイル 1 のレコードのうち、フィールド AB の値が +100 より大きいレコードの ISN を選択します。

サーチバッファ
AB,3,U,GT.
検索引数
バリューバッファ character-notation
100
hex-notation
F1F0F0
フィールド値の指定

Top of page

例 13:値演算子および結合演算子の使用

値演算子および結合演算子を使った検索。

ファイル 1 のレコードのうち、フィールド AB の値が +100 より大きく、かつフィールド AA の値が A より大きいレコードの ISN を選択します。

サーチバッファ
AB,3,U,GT,D,AA,1,GT.
検索引数
バリューバッファ character-notation
100A
hex-notation
F1F0F0C1
フィールド値の指定

Top of page

例 14:物理カップリングファイルの使用

カップリングされているファイルを参照する検索式を使用した検索。

ファイル 1 のレコードのうち、フィールド RB の値が ABCDE であるファイル 2 のレコードとカップリングしており、かつフィールド AB の値が +20 であるレコードの ISN を選択します。 また、フィールド AB には標準と異なる長さとフォーマットで値を指定しています。

サーチバッファ
/1/AB,3,U,D,/2/RB.
検索引数
バリューバッファ character-notation
020ABCDEbbbbb
hex-notation
F0F2F0C1C2C3C4C54040404040
フィールド値の指定

Top of page

例 15:単一ソフトカップリング条件と単一検索条件の使用

ISN が返されるファイルは、ファイル番号フィールドによって決められます。

ファイル番号 4  
サーチバッファ
(4,AB,1,AC)/1/AB,S,AB.
検索引数
バリューバッファ
-------------
フィールド値の指定
  1. バリューバッファに指定した AB の値についてファイル 1 を検索します。

  2. ファイル 1 で得られた ISN ごとに、フィールド AC を読み込み、その値をファイル 4 の対応する値リストと内部的に照合します。 ファイル 4 の ISN 結果リストが、ISN バッファに返されます。

Top of page

例 16:単一のソフトカップリング条件と複数の検索条件の使用

ISN が返されるファイルは、ファイル番号フィールドによって決められます。 指定する条件の順序は任意です。

ファイル番号 1  
サーチバッファ
(1,AA,2,AB)/1/AC,D,AE,D,/2/AF,S,AF.
検索引数
バリューバッファ
-------------
フィールド値の指定
  1. AF=... THRU ... に関するファイル 2 の検索(バリューバッファの値を使用)

  2. ファイル 2 で得られた各 ISN について、フィールド AB を読み込み、さらにファイル 1 の値リストと内部的に照合します。

  3. AC=... AND AE=... に関するファイル 1 の検索(バリューバッファの値を使用)。

  4. ステップ 2 と 3 の ISN 結果リストを照合します。 この結果得られた ISN が ISN バッファに返されます。

Top of page

例 17:複数のソフトカップリング条件と複数の検索条件の使用

ファイル番号 1  
サーチバッファ
(1,AA,2,AB; 1,AA,5,BA)
/1/AC,D,AE,D,/2/AF,S,AF,D,/5/BC,S,BC.
          
検索引数
バリューバッファ
-------------
フィールド値の指定
  1. AF=... THRU ... に関するファイル 2 の検索(バリューバッファの値を使用)。

  2. ファイル 2 で得られた各 ISN について、フィールド AB を読み込み、さらにファイル 1 の値リストと内部的に照合します。

  3. BC=... THRU ... に関するファイル 5 の検索(バリューバッファの値を使用)。

  4. ファイル 5 で得られた ISN ごとに、フィールド BA を読み込み、その値をファイル 1 の対応する値リストと内部的に照合します。

  5. AC=... AND AE=... に関するファイル 1 の検索(バリューバッファの値を使用)。

  6. ステップ 2、4、5 から得られる ISN 結果リストを照合します。 この結果得られた ISN が ISN バッファに返されます。

Top of page

例 18:複数のソフトカップリング条件と、物理カップリングによる複数の検索条件の使用

サーチバッファ
(1,AA,2,AB)
/1/AC,D,AE,D,/2/AF,S,AF,D,/5/BC,S,BC.
検索引数
バリューバッファ
-------------
フィールド値の指定
  1. AF=... THRU ... に関するファイル 2 の検索(バリューバッファの値を使用)

  2. ファイル 2 で得られた各 ISN について、フィールド AB を読み込み、さらにファイル 1 の値リストと内部的に照合します。

  3. BC=... THRU ... に関するファイル 5 の検索(バリューバッファの値を使用)。

  4. ファイル 5 で得られた ISN ごとに、ADAINV ユーティリティで作成した物理カップリングリストを使用して ISN を照合します。 これは、ファイル 5 と主ファイル(ファイル 1)との間でソフトカップリング条件が使用されていない場合に行われます。 物理カップリングリストが存在しない場合、ファイル 5 の ISN は考慮されません。

  5. AC=... AND AE=... に関するファイル 1 の検索(バリューバッファの値を使用)。

  6. ステップ 2、4、5 から得られる ISN 結果リストを照合します。 この結果得られた ISN が ISN バッファに返されます。

Top of page