旧バージョンの Adabas から Adabas 8 に移行する場合には、ここに記載されている考慮事項に目を通しておいてください。 Adabas アドオンサポートの詳細については、「Adabas 8 対応のアドオン製品のサポート」を参照してください。
Adabas 8 には、新しいダイレクトコールインターフェイスが追加されましたが、これは現行版の ACB ベースのダイレクトコールインターフェイスと完全な互換性を保持しています。 この新しいダイレクトコールインターフェイスは、Adabas 8 の ACBX 構造と ABD 構造に基づいています。
ACB ベースのダイレクトコールインターフェイスを使用する既存のアプリケーションプログラムは、変更なしで従来と同じ方法で実行できます。 さらに、ACBX ベースまたは ACB ベースのどちらのダイレクトコールインターフェイスをアプリケーションプログラムで使用するのかを、コールごとに決めることができます。 1 つのプログラムが両方のインターフェイスを使用できます。
一部の Adabas 8 の新機能では、アプリケーションプログラムが ACBX ベースのダイレクトコールインターフェイスを使用する必要があります。 例えば、Adabas 8 でサポートされている、大きな(32K を超える)バッファまたはセグメント化したバッファ(複数のフォーマットバッファとレコードバッファ)をアプリケーションプログラムで操作するには、ACBX ベースのダイレクトコールインターフェイスを使用する必要があります。 詳細については、「コマンドの変更点」を参照してください。
Adabas 8 では MU フィールドと PE フィールドの制限が強化されましたが、これを有効にするには、既存のファイルを再ロードするか再編成する必要があります。 この他にも次の作業を行う必要があります。
ワークプールを大きくする(ADARUN LWP パラメータ)
WORK データセットのプロテクションエリアを大きくする(ADARUN LP パラメータ)
内部フォーマットプールを大きくする(ADARUN LFP パラメータ)
「ユーティリティの変更点」に記載されている ADADBS
MUPEX 機能などの Adabas 8 の機能を使って、MU または PE
の制限を拡張してファイルを作成した場合と、アプリケーションプログラムが、フォーマットバッファの xxC
エレメントを使って MU フィールドまたは PE グループのオカレンスカウントを読み込む場合には、プログラムがオカレンスカウントを 2
バイト以上のレコードバッファフィールド(例えば FB='MUC,2,B.')に読み込むかどうかを確認してください。プログラムがオカレンスカウントを 1
バイトのフィールド(例えば FB='MUC.'、FB='MUC,1,B.')に読み込む場合には、2
バイトのオカレンスカウント値を処理できるようにプログラムを修正する必要があります。 拡張 MU/PE が制限されたファイルの MU フィールドまたは PE
グループのオカレンスカウント用のレコードバッファに 1 バイトフィールドのみを指定した場合、Adabas はレスポンスコード 55、サブコード 9
を返します。
ハイパーディスクリプタに拡張 MU または PE フィールドを使用する場合は、拡張 MU または PE のフィールド、パラメータリスト、および入力パラメータに適合するように、対応するハイパー出口を再アセンブルする必要があります。 詳細は、「ハイパー出口の変更点」を参照してください。
ラージオブジェクトフィールド(新しい LB オプションで定義されているフィールド)は、通常、LB フィールドを含んでいるファイル(基本ファイル)に関連付けられている LOB ファイルに格納されますが、 LB フィールド値が小さい場合(253 バイト以下)には、基本ファイルに直接格納されます。 LOB ファイルでは LB フィールド値はセグメント単位に分割され、1 つ以上のセグメントレコードに格納されます。最後のレコードを除き、この各セグメントレコードがデータストレージブロック全体を構成します。
ラージオブジェクトフィールドを使用する場合は、次の項目に従って、Adabas ニュークリアス(ADARUN)のパラメータを見直してください。
LB フィールド値に関連する挿入、更新、削除を行うと、LOB ファイル内の関連セグメントレコードがすべてホールド状態になります。 ホールド処理が発生すると、ADARUN NH および NISNHQ パラメータとしてカウントされます。 したがって、同時に実行されるトランザクションで、LOB ファイルのセグメントレコードが最大何件更新される可能性があるのかを推定し、その値に基づいて、これらのパラメータを大きくする必要があります。
LB フィールド値の挿入、更新、削除が行われる前と後のイメージは、それぞれ WORK データセットのプロテクションエリアに書き込まれます。 したがって、同時に実行されるトランザクションで更新される可能性がある LB フィールド値がどのくらいのサイズになるのか推定し、その値の 2 倍の WORK ブロック数に応じて LP パラメータを大きくする必要があります。
LOB ファイルを構成するセグメントレコードは、それぞれユニークディスクリプタ(UQ オプション)によって識別されます。 LB フィールド値を更新または削除するときは、LOB セグメントレコードごとにユニークディスクリプタプールのスペースとして約 30 バイト必要になります。 したがって、同時に実行されるトランザクションで削除または変更される可能性がある LB フィールド値の数と、ラージオブジェクトごとのセグメントレコードの最大件数を乗じ、さらにその数に 30 を乗じた数に応じて、LDEUQ パラメータを大きくする必要があります。
データベースから LOB 値を読み込むか、またはデータベースに LOB 値を書き込む Adabas コールが、最大でいくつ同時に発生するか推定し、データベースから読み込むか、またはデータベースに書き込む可能性がある最大 LOB 値と乗じた値のサイズに応じて、NAB パラメータを大きくする必要があります。
データベースから読み込むか、またはデータベースに書き込む可能性がある最大 LOB 値のサイズになるように、LU パラメータを大きくする必要があります。 LU パラメータで指定する内容は、Adabas が割り当てるメモリエリアのサイズではなく、1 回の Adabas コールで使用可能なアタッチドバッファ(NAB パラメータで定義)のエリアの最大長です。
ADARUN パラメータの詳細については、「Adabas の初期化(ADARUN ステートメント)」を参照してください。
ラージオブジェクト(LB)フィールドまたはスパンドレコードのいずれかを使用する場合は、ADARUN LWP パラメータが 50,000 バイトとスレッド数(NT パラメータ)を乗じた値以上になるようにしてください。 ADARUN LWP パラメータの詳細については、「LWP:Adabas ワークプール長」を参照してください。
Adabas 8 でユーティリティを使用する場合、いくつかの制限があります。 Adabas ユーティリティが Ababas 8 でどのように変更され、それを使用するうえでどのような制限と制約事項があるのかについては、「ユーティリティの変更点」と「制限および制約事項」に記載されているユーティリティの機能拡張と制限の説明をお読みください。