SAMEKEY 関数

目的

アクセスされたレコード x に同じキーを持つ別のレコードが続いているかどうかを示す、長さ 1 のビット文字列を返します。

構文

SAMEKEY(x)

パラメーター

x は、RECORD 属性を持つファイルです。

説明

SAMEKEY 関数は、アクセスされたレコードに同じキーを持つ別のレコードが続いているかどうかを示す長さ 1 のビット文字列を返します。そのようなレコードが続いている場合、返される値は '1'B になります。処理されたレコードに同じキーを持つ別のレコードが続いていない場合、ファイルが開いていない場合、現在のカーソル位置がファイル内にない場合、または RECORD 以外の条件を発生させた入出力操作がファイルの位置付けの変更または喪失も発生させた場合、値は '0'B に設定されます。

foo: procedure options(main);

   dcl db2 file env(vsam keyloc(5) keylength(4) recsize(80) reuse);

   dcl 1 db_record,
             2 dbkey       char(4),
             2 dbaix        char(4),
             2 filler       char(72);
   
   open file(db2);
   read file(db2) into(db_record) key('KEY1');
        
   if samekey(db2) then
     put skip list("next record is duplicate key");
   
   close file(db2);

end foo;

制限事項

なし。