レコードの相対バイト アドレスは、特定のレコードに対するすべてのファイル ハンドラーの操作で FCD の fcd-reladdr-offset (またはビット 4 の fcd-config-flags が設定されている場合は fcd-reladdr-big) に配置されます。レコードの相対バイト アドレスを使用するには、READ 操作の後でこのフィールドの内容を保存するだけで済みます。
相対バイト アドレスを使用すると、高速でレコードにアクセスできます。ただし、次の制限があります。
- 相対バイト アドレス操作は、現行レコード ポインターに影響しません。そのため、相対バイト アドレス操作後の READ (順) 処理では、通常のアクセス方法で最後にアクセスしたレコードの次のレコードを返します。相対バイト アドレスを使用してアクセスしたレコードの次のレコードを返すわけではありません。ただし、相対バイト アドレス操作を実行するためのファイル ハンドラーを呼び出す前に、FCD でビット 5 の fcd-config-flags を設定すると、現行レコード ポインターを更新して、相対バイト アドレス指定を使用してアクセスしたレコードを指すことができます。
- レコードの再書き込みや削除を行うと、相対バイト アドレス操作は索引を更新します。
- レコードの相対バイト アドレスの取得後にそのレコードを削除すると、その相対バイト アドレスを使用した読み取りまたは書き込みは通常失敗します。ただし、そのレコードが別のレコードに置き換えられたのにそのことが検出されていない可能性もあります。
相対バイト アドレス操作では、レコード ロックもサポートされています。
レコードの相対バイト アドレスを取得すると、それを使用してさまざまな操作を実行できます。