ONLINVERT 機能では、オンラインインバート処理を開始します。
このドキュメントでは、次のトピックについて説明します。
ファイルは、新しいディスクリプタを作成するファイル番号です。 拡張ファイルチェーンのコンポーネントファイルを指定すると、そのチェーンの全コンポーネントファイルにディスクリプタが追加されます。
インバートするディスクリプタのタイプ定義には、これらのパラメータを 1 つだけ指定します。 オンラインインバート機能を使用すると、ファイルごとに 1 つのディスクリプタを 1 回にインバートできます。
FIELD パラメータを使用してフィールドをディスクリプタとして定義します。照合ディスクリプタには COLDE を、ハイパーディスクリプタには HYPDE を、フォネティックディスクリプタには PHONDE を、サブディスクリプタには SUBDE を、スーパーディスクリプタには SUPERDE を使用します。
FIELD では、インバートする既存のフィールドを指定します。 フィールドはエレメンタリフィールドでもマルチプルバリューフィールドでもよく、また(フィールドが FI オプションで定義されていない限り)ピリオディックグループ内のものでも構いません。
ディスクリプタフィールドをユニーク指定したい場合は、フィールド名に続けて "UQ" を指定します。 ピリオディックグループに属するフィールドはユニークディスクリプタとして定義できません。 ディスクリプタの一意性を、排除されるインデックス(オカレンス番号)で決定する必要がある場合は、同様に、"XI" も指定してください。
サブフィールドまたはスーパーフィールドをインバートする場合は、フィールドの作成時と同じ親フィールドを SUBDE または SUPDE で指定しないとエラーになります。 開始および終了の値は元のフィールド定義から取得されます。
親フィールドを NU オプションで指定すると、空値フィールドを含むレコードについてはインバーテッドリストにエントリが作成されません。 スーパーディスクリプタとハイパーディスクリプタは、他のディスクリプタエレメントの値に関係なく、エントリが作成されません。
親フィールドが初期化されず、論理的に物理レコードの終了を超えた場合、そのレコードのインバーテッドリストエントリは、パフォーマンスの理由から生成されません。 このとき、インバーテッドリストエントリを生成するには、ファイルのアンロード、圧縮解除、再ロードを行います。あるいは、アプリケーションプログラムを使用してファイルのレコードごとにフィールドを初期化してください。
各ディスクリプタの構文、サブパラメータ、およびコーディングについての詳細は、「ADACMP ユーティリティ」のディスクリプションを参照してください。
FILE パラメータで指定したファイルが暗号化されている場合、サイファコードを CODE パラメータで指定しなければなりません。
FILE で指定されたファイルのパスワードがセキュリティ保護されている場合、PASSWORD パラメータを使用してファイルのパスワードを指定する必要があります。
機能の実行中にエラーになると、ユーティリティは、エラーメッセージを出力してユーザーアベンド 34(ダンプあり)またはユーザーアベンド 35(ダンプなし)で終了します。
NOUSERABEND を指定すると、ユーティリティは、エラーメッセージを出力してもアベンドしません。 代りに、メッセージ "utility TERMINATED DUE TO ERROR CONDITION"(エラーのためユーティリティを終了します)を表示してコンディションコード 20 で終了します。
TEST パラメータは、処理を実際には行わずに構文のみをテストします。 指定したパラメータの構文だけがテストされ、値や変数の正当性はテストされません。
このオンライン処理が終わるまで ADADBS が次の機能や終了の処理を行わない場合に、WAIT を指定します。
WAIT を指定しないと、ADADBS はオンライン処理を開始したらただちに次の処理を実行します。
この処理の終了を待たずに、ファイル 10 のフィールド AA をディスクリプタにするオンライン処理を開始します。
ADADBS ONLINVERT FILE=10,FIELD=AA