ここでは、サーチバッファとバリューバッファの構成例を示します。 ここで記述するすべての例で使用されている Adabas ファイルの定義については、「例で使用されているファイル定義」を参照してください。 バリューバッファの値は文字および/または 16 進数で表示します。
単一の検索式を使用する検索。
ファイル 1 のレコードのうち、フィールド AA の値が 12345 であるレコードの ISN を選択します。なお、フィールド AA は、8 バイト標準長の数値フォーマットです。
サーチバッファ |
AA. |
検索引数 |
---|---|---|
バリューバッファ | character-notation
00012345hex-notation F0F0F0F1F2F3F4F5 |
フィールド値の指定 |
サーチバッファに AA,5. と指定し、バリューバッファに値 12345(末尾の空白なし)としても同じ検索が実行されます。
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
12345678002hex-notation F1F2F3F4F5F6F7F8F0F0F2 |
フィールド値の指定 |
この 2 つ目の検索は、サーチバッファに長さとフォーマットを指定する例を示しています。結果は、最初の検索と同じになります。
3 つの検索式を OR(論理和)演算で結合して検索します。
ファイル 2 のレコードのうち、フィールド XB の値が 284、285、290 のいずれかであるレコードの ISN を選択します。 また長さとフォーマットを変更しています。
サーチバッファ |
XB,3,U,O,XB,3,U,O,XB,3,U. |
検索引数 |
---|---|---|
バリューバッファ | character-notation
284285290hex-notation F2F8F4F2F8F5F2F9F0 |
フィールド値の指定 |
2 つの検索式を FROM-TO(範囲)演算で結合して検索します。
ファイル 2 のレコードのうち、フィールド XB の値が +20 から +30 の範囲にあるレコードの ISN を選択します。
サーチバッファ |
XB,S,XB. |
検索引数 |
---|---|---|
バリューバッファ | hex-notation
020C030C |
フィールド値の指定 |
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 |
フィールド値の指定 |
マルチプルバリューディスクリプタを使用した検索。
ファイル 1 のレコードのうち、マルチプルバリューフィールド MF のいずれかの値が ABC である ISN を選択します。
サーチバッファ |
MF. |
検索引数 |
---|---|---|
バリューバッファ | character-notation
ABChex-notation C1C2C3 |
フィールド値の指定 |
検索をマルチプルバリューフィールドの特定のオカレンスに制限することはできません。 次のサーチバッファエントリは無効です。
サーチバッファ |
MF2. |
検索引数 |
---|
ピリオディックグループ内のディスクリプタを使用して検索します。
ファイル 1 のレコードのうち、ディスクリプタ BA(ピリオディックグループに属している)のいずれかのオカレンスの値が 4 であるレコードの ISN を選択します。
サーチバッファ |
BA. |
検索引数 |
---|---|---|
バリューバッファ | hex-notation
04 |
フィールド値の指定 |
ファイル 1 のレコードのうち、ディスクリプタ BA(ピリオディックグループに属している)の第 3 オカレンスの値が 4 であるレコードの ISN を選択します。
サーチバッファ |
BA3. |
検索引数 |
---|---|---|
バリューバッファ | hex-notation
04 |
フィールド値の指定 |
サブディスクリプタを使用する検索。 SA はフィールド RA の先頭 4 バイトから生成したサブディスクリプタです。
ファイル 2 のレコードのうち、サブディスクリプタ SA の値が ABCD であるレコードの ISN を選択します。
サーチバッファ |
SA. |
検索引数 |
---|---|---|
バリューバッファ | hex-notation
C1C2C3C4 |
フィールド値の指定 |
英数字フォーマットのスーパーディスクリプタを使用する検索。 SB は、フィールド RA の先頭 8 バイトとフィールド RB の先頭 4 バイトから生成したスーパーディスクリプタです。
ファイル 2 のレコードのうち、スーパーディスクリプタ SB の値が ABCDEFGH1234 であるレコードの ISN を選択します。
サーチバッファ |
SB. |
検索引数 |
---|---|---|
バリューバッファ | hex-notation
C1C2C3C4C5C6C7C8F1F2F3F4 |
フィールド値の指定 |
バイナリ形式のスーパーディスクリプタを使用する検索。 SC は、フィールド XB と XC から生成したスーパーディスクリプタです。
ファイル 2 のレコードのうち、フィールド XB の値が +20 で、かつフィールド XC の値が 123456 であるレコードの ISN を返します。
サーチバッファ |
SC. |
検索引数 |
---|---|---|
バリューバッファ | hex-notation
020FF1F2F3F4F5F6 |
フィールド値の指定 |
以前に生成した ISN リスト(コマンド ID で識別される)を使用する検索。
CID1 で識別される ISN リストと CID2 で識別される ISN リストのどちらにも存在する ISN を選択します。
サーチバッファ |
(CID1),D,(CID2). |
検索引数 |
---|---|---|
バリューバッファ | 使用しません。 | フィールド値の指定 |
ファイル 1 のレコードのうち、CID1 で識別される ISN リストに ISN が存在し、かつフィールド AB の値が +123 であるレコードの ISN を選択します。
サーチバッファ | (CID1),D,AB,3,U. | 検索引数 |
---|---|---|
バリューバッファ | character-notation
123hex-notation F1F2F3 |
フィールド値の指定 |
値演算子を使用した検索。
ファイル 1 のレコードのうち、フィールド AB の値が +100 より大きいレコードの ISN を選択します。
サーチバッファ |
AB,3,U,GT. |
検索引数 |
---|---|---|
バリューバッファ | character-notation
100hex-notation F1F0F0 |
フィールド値の指定 |
値演算子および結合演算子を使った検索。
ファイル 1 のレコードのうち、フィールド AB の値が +100 より大きく、かつフィールド AA の値が A より大きいレコードの ISN を選択します。
サーチバッファ |
AB,3,U,GT,D,AA,1,GT. |
検索引数 |
---|---|---|
バリューバッファ | character-notation
100Ahex-notation F1F0F0C1 |
フィールド値の指定 |
カップリングされているファイルを参照する検索式を使用した検索。
ファイル 1 のレコードのうち、フィールド RB の値が ABCDE であるファイル 2 のレコードとカップリングしており、かつフィールド AB の値が +20 であるレコードの ISN を選択します。 また、フィールド AB には標準と異なる長さとフォーマットで値を指定しています。
サーチバッファ |
/1/AB,3,U,D,/2/RB. |
検索引数 |
---|---|---|
バリューバッファ | character-notation
020ABCDEbbbbbhex-notation F0F2F0C1C2C3C4C54040404040 |
フィールド値の指定 |
ISN が返されるファイルは、ファイル番号フィールドによって決められます。
ファイル番号 | 4 | |
---|---|---|
サーチバッファ |
(4,AB,1,AC)/1/AB,S,AB. |
検索引数 |
バリューバッファ |
------------- |
フィールド値の指定 |
バリューバッファに指定した AB の値についてファイル 1 を検索します。
ファイル 1 で得られた ISN ごとに、フィールド AC を読み込み、その値をファイル 4 の対応する値リストと内部的に照合します。 ファイル 4 の ISN 結果リストが、ISN バッファに返されます。
ISN が返されるファイルは、ファイル番号フィールドによって決められます。 指定する条件の順序は任意です。
ファイル番号 | 1 | |
---|---|---|
サーチバッファ |
(1,AA,2,AB)/1/AC,D,AE,D,/2/AF,S,AF. |
検索引数 |
バリューバッファ |
------------- |
フィールド値の指定 |
AF=... THRU ... に関するファイル 2 の検索(バリューバッファの値を使用)
ファイル 2 で得られた各 ISN について、フィールド AB を読み込み、さらにファイル 1 の値リストと内部的に照合します。
AC=... AND AE=... に関するファイル 1 の検索(バリューバッファの値を使用)。
ステップ 2 と 3 の ISN 結果リストを照合します。 この結果得られた ISN が ISN バッファに返されます。
ファイル番号 | 1 | |
---|---|---|
サーチバッファ |
(1,AA,2,AB; 1,AA,5,BA) /1/AC,D,AE,D,/2/AF,S,AF,D,/5/BC,S,BC. |
検索引数 |
バリューバッファ |
------------- |
フィールド値の指定 |
AF=... THRU ... に関するファイル 2 の検索(バリューバッファの値を使用)。
ファイル 2 で得られた各 ISN について、フィールド AB を読み込み、さらにファイル 1 の値リストと内部的に照合します。
BC=... THRU ... に関するファイル 5 の検索(バリューバッファの値を使用)。
ファイル 5 で得られた ISN ごとに、フィールド BA を読み込み、その値をファイル 1 の対応する値リストと内部的に照合します。
AC=... AND AE=... に関するファイル 1 の検索(バリューバッファの値を使用)。
ステップ 2、4、5 から得られる ISN 結果リストを照合します。 この結果得られた ISN が ISN バッファに返されます。
サーチバッファ |
(1,AA,2,AB) /1/AC,D,AE,D,/2/AF,S,AF,D,/5/BC,S,BC. |
検索引数 |
---|---|---|
バリューバッファ |
------------- |
フィールド値の指定 |
AF=... THRU ... に関するファイル 2 の検索(バリューバッファの値を使用)
ファイル 2 で得られた各 ISN について、フィールド AB を読み込み、さらにファイル 1 の値リストと内部的に照合します。
BC=... THRU ... に関するファイル 5 の検索(バリューバッファの値を使用)。
ファイル 5 で得られた ISN ごとに、ADAINV ユーティリティで作成した物理カップリングリストを使用して ISN を照合します。 これは、ファイル 5 と主ファイル(ファイル 1)との間でソフトカップリング条件が使用されていない場合に行われます。 物理カップリングリストが存在しない場合、ファイル 5 の ISN は考慮されません。
AC=... AND AE=... に関するファイル 1 の検索(バリューバッファの値を使用)。
ステップ 2、4、5 から得られる ISN 結果リストを照合します。 この結果得られた ISN が ISN バッファに返されます。