バージョン 8.1.3
 —  ユーティリティ  —

NEWFIELD:新しいフィールドの追加

NEWFIELD 機能では、ファイルに 1 つまたは複数のフィールドを追加します。 新フィールド定義がフィールド定義テーブル(FDT)の末尾に追加されます。

注意:
ディスクリプタフィールドの定義はレコード構造から独立していますが、ディスクリプタフィールドがレコードの最初に配列されず、論理的に物理レコードの終了を超えている場合、パフォーマンスの理由から、そのレコードに対するインバーテッドリストエントリが生成されないことに注意してください。 このケースでインバーテッドリストエントリを生成するには、ファイルのアンロード(SHORT モードで)、圧縮解除、および再ロードが必要です。あるいは、アプリケーションプログラムを使用してフィールドをファイルの各レコードの最初に再配列します。

NEWFIELD では、実際のデータストレージデータを新しいフィールドに指定できません。データは、後から Adabas 追加/更新または Natural コマンドを使用して指定できます。

Adabas 拡張ファイルにフィールドを追加するときは、個別コンポーネントファイルそれぞれ にフィールドを追加する必要があります。 コンポーネントファイルでの NEWFIELD オペレーションの実行ごとに変更を確認するメッセージおよびコンディションコード 4 が返されます。

graphics/util_adadbs_newfield.png

このドキュメントでは、次のトピックについて説明します。


基本パラメータ

FILE:ファイル番号

FILE では、フィールドを追加するファイル番号を指定します。 ファイルとして、Adabas システムファイルは使用できません。

Top of page

オプションパラメータ

FNDEF:Adabas フィールド定義

FNDEF では、Adabas フィールド(データ)定義を指定します。 追加の各フィールドごとに 1 つの FNDEF ステートメントが必要です。 フィールド定義エントリを構成するのに使用する構文は次のとおりです。

graphics/util_fndef.png

各定義は、ADACMP ドキュメントで、ADACMP ユーティリティに関して説明されているフィールド定義構文に従っている必要があります(「FNDEF:フィールド定義およびグループ定義」と「FNDEF:ピリオディックグループ定義」の「フィールド定義ステートメント」セクション)。

次の制約に注意してください。

最初の FNDEF ステートメントにレベル番号を設定するときは、次のルールが適用されます。

  1. レベル番号 01 は常に許可されます。

  2. レベル番号 02 以降は、このフィールドの既存グループへの追加を意味します。 したがって、次のルールが適用されます。

    • 通常のグループ(ピリオディックグループ以外)であれば、フィールドを追加できます。

    • グループが PE グループである場合、ファイルのファイルコントロールブロック(FCB)がない場合、すなわち、ファイルが KEEPFDT オプションで削除されているか、または、Adabas Online System FDT 定義機能を使用して FDT が定義されているが、ファイル定義機能が実行されていない場合のいずれかに限って、ファイルを追加できます。

NOUSERABEND:アベンドなし終了

機能の実行中にエラーになると、ユーティリティは、エラーメッセージを出力してユーザーアベンド 34(ダンプあり)またはユーザーアベンド 35(ダンプなし)で終了します。

NOUSERABEND を指定すると、ユーティリティは、エラーメッセージを出力してもアベンドしません。 代りに、メッセージ "utility TERMINATED DUE TO ERROR CONDITION"(エラーのためユーティリティを終了します)を表示してコンディションコード 20 で終了します。

PASSWORD:ファイルパスワード

ファイルパスワード ファイルがパスワード保護されている場合、このパラメータは必須です。

SUBFN/ SUPFN:サブフィールドまたはスーパーフィールドの追加

これらのパラメータは、サブフィールドやスーパーフィールドの追加に使用できます。 各定義は、ADACMP ユーティリティで説明されたサブフィールド/スーパーフィールドの定義構文に従っている必要があります。 詳細については、「COMPRESS機能:Adabas ファイルの圧縮」を参照してください。

TEST:構文テスト

このパラメータは、実際に処理を行わずに構文をテストします。 指定したパラメータの構文だけがテストされ、値や変数の正当性はテストされません。 ADADBS 機能で TEST パラメータを使用する詳細については、「TEST パラメータによる構文チェック」の項を参照してください。

Top of page

ファイル 24 にグループ AB(フィールド AC および AX で構成)を追加します。

ADADBS   NEWFIELD    FILE=24
ADADBS               FNDEF='01,AB'
ADADBS               FNDEF='02,AC,3,A,DE,NU'
ADADBS               FNDEF='02,AX,5,P,NU'

Top of page