ADAACK では、特定ファイルまたはファイル範囲、あるいは特定 ISN または ISN 範囲についてアドレスコンバータをチェックします。 スパンドレコードが使用中の場合、ADAACK では、渡されたすべての ISN をプライマリ ISN とみなし、それに応じて処理を実行します。 範囲には、すべてのファイルまたはすべての ISN を含めることができます。 通常、ADAACK は ADAICK と組み合わせて使用します。
チェック対象のファイルでスパンドレコードが有効になっている場合、セカンダリ ISN をセカンダリレコードの RABN にマッピングするために使用されるセカンダリアドレスコンバータも自動的にチェック対象となります。 スパンドレコードの詳細は、「スパンドレコード」を参照してください。
ADAACK では各アドレスコンバータエレメントをチェックし、ファイルコントロールブロック(FCB)内で指定されたデータストレージエクステントの使用部分内に、データストレージ RABN があるかどうかを判別します。
ADAACK では各データストレージブロック(指定 ISN 範囲内)内の各レコードの ISN をチェックし、その ISN に対するアドレスコンバータエレメントに正しいデータストレージ RABN が含まれていることを確認します。 このことは、次のように実行されます。
指定 ISN 範囲(ISN 数の 4 倍)のメインメモリが割り当てられます。 範囲の指定がない場合、全範囲(MINISN から TOPISN まで)がチェックされます。
アドレスコンバータがデータベースからメモリ内のこのエリアに読み込まれます。
使用されている各データストレージブロックが(FCB のデータストレージエクステントに従って)読み込まれ、メモリ内のアドレスコンバータに対してチェックされます。 アドレスコンバータ内の各 ISN には、それに対応する正しいデータストレージレコードが正確に 1 つある必要があります。
データストレージ内に存在しなかった ISN は、メモリ内のアドレスコンバータにないかどうかがチェックされます。
ファイルが大きい場合は、ADAACK の実行に長い時間がかかることあります。 ADAACK では、20 データストレージブロックを処理するたびに、メッセージ行を出力します。
使用されているすべてのデータストレージブロックが読み込まれるため、ISN 範囲は実行時間に影響を及ぼしません。
注意:
ADAACK でエラーが発生すると、常にコンディションコード 8 が返されます。