前ページへファイルのソート ファイル処理ライブラリルーチン次ページへ

第 9 章 Rebuild

9.1 概要

Rebuild は、コマンドプロンプトで呼び出すファイル管理ユーティリティです。主な機能は、次のとおりです。

Rebuild がファイルに対して実行する操作は、Rebuild コマンド行で指定するオプションによって異なります。


警告


9.2 コマンド行

EBUILD コマンド行の一般的な形式は、次のとおりです。

rebuild in-file [,out-file] [options]

in-fileout-file の両方に、ファイル名の拡張子を付ける必要があります。out-file のファイル名は in-file のファイル名と異なる名前にする必要があります。in-fileout-file の代わりに環境変数を使用してファイル名マッピングを実行することができます。

Rebuild が実行する操作内容は、コマンド行で指定するオプションにより定義されます。

9.2.1 パラメータファイル

Rebuild コマンド行でアットマーク(@)の次にファイル名を記述すると、そのファイルに Rebuild コマンド行パラメータが含まれていることを示します。

ファイルを使用して Rebuild コマンド行パラメータを定義する場合、このファイルは ASCII テキストファイルである必要があります。このようなファイルの作成や編集には、vi を使用します。

Rebuild パラメータファイルは 1024 バイト以内である必要があります。

Rebuild パラメータファイルでは、次のようになります。

rebuild badms001.dat, ms001.dat @ms001.par

上記の例では、ms001.par は、Rebuild パラメータを含む ASCII テキスト ファイルです。

9.2.2 情報のリダイレクト

Rebuild ユーティリティで表示されるすべての情報は、以下のような標準的なオペレーティングシステムのリダイレクト機能を使用して、テキストファイルにリダイレクトすることができます。

> 新規ファイルを作成します。
>> 既存のファイルを拡張します。

rebuild oldms001.dat,ms001.dat -k:1+20<N> -i >> rebuild.prt

上記の例では、Rebuild からの出力を既存のファイル、 rebuild.prt にリダイレクトします。


警告: 出力をリダイレクトする場合は、-v オプションを使用しないでください。


9.2.3 システムパラメータ

次のシステムパラメータを、コマンド行で指定することができます。

--q バナーを表示しません。
--v Rebuild プログラム自体のバージョン番号を表示します。

9.3 Rebuild コマンド行

Rebuild により実行される処理は、コマンド行で指定したオプションにより定義されます。

UNIX システムでは、Rebuild オプションの前に、スラッシュ (/) ではなく、ハイフン (-) を付ける必要があります。

使用できるオプションは次のとおりです。

-c ファイル圧縮を指定します。
-d 破損したデータレコードをスキップします。
-e 不正な重複キーを報告し、処理を続行します。
-f 索引ファイルを検証します。
-i 処理するファイルの情報を表示します。
-k 索引ファイルのキー構造を定義します。
-m Rebuildが使用するテンポラリファイルの最大数を指定します。
-n ファイルに関する情報を表示します (他の処理は実行されません)。
-o 入力ファイルと出力ファイルの編成を指定します。
-p Rebuilds IDXFORMAT "8" file in place
-q クイックリビルドを指定します。
-r 入力ファイルと出力ファイルのレコード構造を指定します。
-s 入力ファイルの形式を指定します。
-t 出力ファイルの形式を指定します。
-u そのファイルに対する最後の更新処理が正常終了しなかった ものに対して復旧を行います。
-v ファイルが処理されると増えるレコードカウントを表示します。
-x 索引ファイルを再編成したときにデータを書き込む順番を指定します。
-y ファイルサイズの一貫性の不一致を無視します。

コマンド行では、オプションをどの順番で指定することもできます。 ただし、二重ハイフン (--) で始まるオプションは、ひとつのハイフン (-) で始まるオプションに先立って指定しなければなりません。 オプションは自由形式で指定します。 オプションとオプションの間は空白文字で区切らなければなりません。

-f または -v オプションにパラメタを渡すには、コロン (:) が必要です。 それ以外のオプションについては、パラメタの前にコロンは必要ではありません。 オプションに複数のパラメタを渡すとき、 空白で区切らないで下さい。

注: Rebuild がファイルと競合するデフォルト値を使用しないようにするため、Rebuild コマンドはできるだけ明示的に使用してください。


9.3.1 Rebuild オプション

Rebuild ではさまざまなオプションを使用できます。これらのパラメータのいくつかを、パラメータの後に指定すると詳細な情報が提供されます。オプション文字は、必要に応じてコロン (:) をつけ、パラメータと分離します。オプションは、コマンド中のどの場所に入れることもでき、フィールド間に空白文字を含めることができる任意の形式になります。


-c

ファイル圧縮を指定します。データ圧縮は、出力ファイルに対してのみ指定できます。キー圧縮は、出力ファイルまたは既存のファイルのリビルドに対して指定できます。-c オプションは、コンパイラ指令 DATACOMPR および KEYCOMPRESS と同様に機能します。

C-ISAM のデータと Level 2 ファイルは圧縮できません。

パラメータ
dn データ圧縮。

データ圧縮の場合は、n が 0〜255 の範囲内である必要があります。この場合の 0 は圧縮なし、1〜127 までの値は予約済み、128〜255 の値はユーザ定義の圧縮ルーチンを示します。

in キー圧縮。

キー圧縮の場合は、n が 0〜7 の範囲内である必要があります。この場合の 1 は重複キーの圧縮、2 は先行文字の圧縮、4 は後続空白文字の圧縮を示します。また、適切な値を加算して、これらのいくつかのオプションの組合せを指定することもできます。ゼロは、キー圧縮を実行しないことを示します。

-c:d1i6 データ圧縮ルーチン 1 と、先行文字と後続空白文字の索引圧縮を指定します。
-c:i1 重複のキー圧縮のみを指定します。

-d

索引ファイルのレコードの、該当データ部分の破損が検出された場合に、Rebuild で次のレコードの始めから継続することを指定します。

IDXFORMAT "8" ファイルから再編成する場合は、このオプションを使用しないでください。

デフォルト

-d オプションを設定しない場合は、Rebuild が、破損したレコードが検出されると、ファイル状態エラー 9/018 を返します。


-e

破損したファイルをリビルドする場合、または新しいキー構造を持つファイル (-k オプションを使用)、および無効な重複キーを持つレコードが検出された場合は、Rebuild で重複を報告し、残りのレコードの処理を継続することを指定します。(重複キーを持つレコードは書き込まれません。)

-e オプションを指定しない場合は、無効な重複キーが検出されると、Rebuild が「出力ファイルのエラー - 状態 22」エラーで終了します。


-f

索引ファイルを検証します。ファイルが破損している場合は、Rebuild はゼロ以外の値を返します。


注意: このオプションのキーのオフセットは、1 から開始します。他のオプションのキーのオフセットは、0 から開始します。


C-ISAM 、IDXFORMAT "3" および IDXFORMAT "4" 形式以外のファイルに対してこのオプションを使用する場合は、追加のパラメータは不要で、無視されます。

パラメータ
c 実行する検証を指定します。適切な番号を加算すると、これらのチェックの任意の組合せを選択できます。(実行するチェックの数が多いほど、検証に時間がかかります。)
1 データファイル構造を確認して、レコード数をカウントします。
2 空き容量リスト (FSL) の構造を確認します。
4 データファイル内の FSL エントリが実際に存在するか確認します。
8 索引ファイルの構造を確認します。
16 索引ファイルのキーエントリが、データファイルレコードを正しく検索するか確認します。
32 索引ファイルのキー値が、データファイルレコードのキー値と一致するか確認クします。
63 上記のすべての内容を確認します (デフォルト)。
d メッセージレベルを指定します。これらの値は累積するため、レベル 4 を選択すると、レベル 1、2 および 3 でもメッセージを受領します。
0 メッセージは表示されません。
1 エラーメッセージのみ表示されます。
2 選択したオプションを示すメッセージが表示されます。
3 キー定義、レコード長、データ圧縮、およびファイルを作成および更新したファイルハンドラのバージョンなどの、ファイルに関する情報が表示されます。
4 ファイル内に存在する、次のさまざまなタイプのレコードが表示されます。
1 IDXFORMAT"4" 情報レコード
2 削除済みレコード
3 システムレコード
4 データレコード
5 再書き込みによってサイズが縮小したデータレコード
6 再書き込みによってサイズが拡大し、元の領域には収まらなくなったデータレコード。このレコードは、元のレコードではなく、レコードが格納される別のレコード領域を指します。
7 タイプ 6 のレコードによって示されるレコード
8 タイプ 6 のレコードによって示されている、サイズが縮小されたレコード
5 キー圧縮によって保存されている領域の大きさに関する情報などの、各キー構造に関する統計が表示されます。
rebuild test.dat -f:c9

データファイルの構造 (1) と索引ファイルの構造 (8) を確認します。

rebuild test.dat -f:c63d5

ファイルの一貫性をすべて検査し、関連するすべての情報を表示します。


Note: The display might end with the message:

File is corrupt

This means that the control information in the file is not consistent with the data. For example, a record may have been deleted but the list of deleted records does not include it. Such a file is reported as corrupt, even though the data itself is not corrupt.


-I

レコード長、ファイルタイプおよびキー構造などの、入力および出力ファイルに関する情報を表示します。情報の参照以外の操作を実行しない場合は、-n オプションを使用します。


-k

索引ファイルのキー構造を指定します。

索引部分が損失または破損した場合に、キー構造を使用して索引ファイルの索引をリビルドします。

索引以外のファイルを索引ファイルに変換する場合に、このオプションを使用して、新しい出力ファイルにキー情報を指定する必要があります。また、Rebuild で -k オプションを使用して、既存の索引ファイルのキー構造を別の構造に置換することもできます。

各キーは、レコード内のその開始文字位置(レコードの最初の文字位置は 1 です)と長さ(文字数)によって定義されます。開始位置と長さは、プラス記号(+)または文字、 L で区切る必要があります。

キーの定義は、コロン (:) で次のキー定義と分離することができます。各キーは、いくつかの部分 (分割キー) として定義でき、各部分はコンマ(,)で区切ります。

副キー (最初に定義したキーと異なるキー) は、WITH DUPLICATES を示すパラメータ d で終了できます。

スパースキーは、スパースを示すパラメータ、 s で指定できます。s パラメータは、スパース文字自体の前に配置する必要があります。スパース文字が印刷不可能または、小文字か大文字の h の場合は、s パラメータの後ろに hvalue を入れる必要があります。この value はスパース文字の 16 進 ASCII 値です。

キーごとに異なるキー圧縮値を指定するには、圧縮を示す c パラメータを使用します。c パラメータの後には 0〜7 のキー圧縮値を付ける必要があります。

-k:1+20

この例では、文字位置 1 から開始し、長さが 20 字の単一のキーを定義しています。

-k:5+5:20+1d:40+2,43+10

この例では、3 つのキーを定義しています。 最初のキーは、主キーで、文字位置 5 から開始し、長さは 5 字です。2 番目のキーは、重複が許可されている副キーで、文字位置 20 から開始し、長さは 1 字です。3 番目のキーは、分割副キーで、2つの部分から構成されています。最初の部分は文字位置 40 から開始し、長さは 2 字で、2 番目の部分は文字位置 43 から開始し、長さは 10 字です。

-k:1+5:20+10dsZ

この例では、2 つのキーを定義しています。最初のキーは主キーで、文字位置 1 から開始し、長さは 5 字です。2 番目のキーは副キーで、重複が許可されているスパースキーです。文字位置 20 から開始し、長さは 10 字です。スパース文字は Z です。

-k:1+5:20+10dsh0

この例では、2 つのキーを定義しています。最初のキーは主キーで、文字位置 1 から開始し、長さは 5 字です。2 番目のキーは重複キーが許可されている副スパースキーで、文字位置 20 から開始し、長さは 10 字です。スパース文字はヌル文字です。

-k:1+10:11+20dc3

この例では、2 つのキーを定義しています。最初のキーは主キーで、文字位置 1 から開始し、長さは 10 字です。2 番目のキーは重複が許可されている副圧縮キーで、文字位置 11 から開始し、長さは 20 字です。使用されているキー圧縮のタイプは、重複の圧縮 (1) と先行文字の圧縮 (2) です。


-n

-n オプションは、-I オプションと同じファイル情報を表示しますが、他の処理は実行しません。


-o

-o オプションは変換先および変換元の両方のファイルの編成をします。

パラメータ: 形式 1
-o:s
-o:r
-o:i

相対
索引

デフォルトでは、出力ファイルは、入力ファイルと同じ編成になりますが、この COBOL システムに適合する形式です。ただし、文字、 i を s または r に追加して、順ファイルおよび相対ファイルから索引ファイルを作成することができます。このようなファイルの索引を作成するには、-k オプションでキー構造を指定する必要があります。

デフォルト: 形式 1

-o オプションを指定しない場合は、変換するファイルの編成が索引ファイルとみなされます。

例: 形式 1
-o:ri -k:1+2:3+10d  

この例では、-k オプションで指定したキー構造を使用して、相対ファイルを索引ファイルに変換します。

パラメータ: 形式 2
-o:infile-org,outfile-org

この形式を使用すると、ファイル編成を別の編成に変換することができます。

infile-orgoutfile-org には、次のどれかを指定できます。

lseq 行順
seq
rel 相対
ind 索引

この構文を使用すると、行順ファイルを索引ファイルに、またはストライプ化されたファイルを可変順ファイルなどに変換できます。

例: 形式 2
rebuild in-file, out-file -o:lseq,ind -t:mf -k:1+10 -r:v20-30

-k オプションで指定したキー構造、-t オプションで指定したファイル形式、-r オプションで指定したレコードモードとレコード長を使用して、行順ファイルを索引ファイルに変換します。キー情報はすべて、最小レコード長内に含める必要があります。

rebuild in-file, out-file -o:ind,seq -r:v20-30

索引ファイルを、-r オプションで指定したレコードモードとレコード長で可変長順ファイルに変換します。


-q

クイックリビルドを指定します。

このオプションを使用すると、Rebuild のパフォーマンスが改善されます。ただし、-q オプションとともに -v オプションを使用することはできません。-v オプションをともに指定すると、Rebuild では終了するまでメッセージが表示されません。このオプションは、IDXFORMAT"8" ファイルでは使用できません。


-r

-r オプションは、ファイルのレコード長とレコードモードを指定します。この情報は通常、入力ファイルから出力ファイルに直接送信された Rebuild によって取得されます。この情報は、ヘッダー情報を含まないファイルから別のファイル形式に変換する場合に、Rebuild で処理されるレコード長を認識するために必要です。

-r:f record-length 

record-length のレコードを持つ固定長レコードを指定します。例えば、 -r:f100となります。

-r:v min-record-length max-record-length

ハイフンで区切られた最大および最小のレコード長を持つ可変長レコード形式を指定します。例えば、-r:v100-200となります。


-s

入力ファイルの形式を指定します。

パラメータ
-s:c-isam
-s:lii
-s:mf
-s:mf4
-s:mf8
C-ISAM 形式
LEVEL II V2.5 COBOL 形式
この COBOL システムで使用される形式
IDXFORMAT"4" 形式
IDXFORMAT"8" 形式

注: Rebuild では、C-ISAM ファイルは自動で認識されるため、-s:C-ISAM を指定する必要はありません。


デフォルトでは、出力ファイルと入力ファイルは同じ形式になりますが、C-ISAM または LEVEL II V2.5 COBOL をこの COBOL システムで使用される索引ファイル形式に変換する場合は、-t オプションとともにこのオプションを使用することができます。


-t

出力ファイルの索引形式を指定します。このオプションは、-s オプションとともに使用すると、ファイルを再編成すると同時にファイル形式を別の形式に変換できます。

パラメータ
-t:c-isam
-t:lii
-t:mf
-t:mf4
-t:mf8
C-ISAM 形式
LEVEL II V2.5 COBOL 形式
この COBOL システムで使用される形式
IDXFORMAT"4" 形式
IDXFORMAT"8" 形式

-v

Rebuild でファイル処理するときに増えるレコードカウントを表示できます。このオプションは、Rebuild の進行状況を追跡する場合に役立ちます。


警告: 出力をリダイレクトする場合は、-v オプションを使用しないでください。


-x

参照キーを指定します。参照キーは、索引ファイルの再編成時にデータを書き込む順番を定義します。

パラメータ
n 主キーが 0 で、副キーが 1 から番号付けされている場合に使用するキーの番号。この番号は、プログラム作成時の SELECT 文で指定した順番になります。
デフォルト

-x オプションを指定しない場合は、主キー (キー 0) とみなされます。

-x:2 

データは、ファイルの 2 番目の副キーで指定した順序で書き込まれます。


9.4 索引ファイルの再編成

ファイルを再編成するコマンド行の形式は、次のとおりです。

rebuild in-file,out-file [-c] [-d {-k}] [-x] 
     [-i] [-v]

索引ファイルは、レコードの追加、削除、変更などにより更新されるときに、索引構造とデータ構造に切り離されるため、処理効率が悪くなります。さらに、削除されたレコードに残された領域は常に再使用されるわけではないため、ファイルが必要以上に大きくなってしまいます。

多くの変更を行った場合は、索引ファイルを再編成し、データと索引を順にリビルドし、空き領域を再使用すると便利です。この作業により、最適な性能とデータの一貫性が保証されます。

ファイルをリビルドする意義は他にもあります。例えば、ファイルを順に処理する場合、ファイルを処理するためのアクセス時間は時間が経つにつれて増えます。これは、レコードが更新され、順番が変更されるためです。この状況でファイルを再編成すると、アクセス時間を短縮することができます。

rebuild infile.dat,outfile.dat

この例では、Rebuild は、索引ファイル (infile.idx) を使用してデータ ファイル (infile.dat) を読み込み、出力ファイル (outfile.dat) を作成します。infile.dat の削除されたレコードは出力ファイルに書き込まれません。


注: 入力ファイルと出力ファイルに同じファイル名を使用することはできません。


9.5 破損した索引ファイルのリビルド

索引をリビルドするためのコマンド行の形式は、次のとおりです。

rebuild in-file [-c] [-k] [-i] [-v] [-e] [-f] [-q]

索引ファイルの破損理由はいくつかあります。次に例を示します。

COBOL プログラムが破損した索引ファイルを開くときに、ランタイムシステムがファイルの破損を検出すると、拡張ファイル状態コードを返します。

Rebuild では、破損したファイルを自動的にリビルドすることができます。


注: Rebuild を使用して既存のデータファイルから新しい索引ファイルを生成すると、元の索引に記述されているデータファイルの空き領域情報は失われます。これは、データファイルの空き領域を再使用できず、ファイルが必要以上に大きくなる可能性があることを意味します。この問題を解決するには、索引をリビルドした後でファイルを再編成する必要があります。


次の例では、Rebuild は、.idx ファイルを読み取ってキー情報を取得し、さらにデータ ファイル infile.dat を順に読み取って、新しい索引ファイルを作成します。

rebuild infile.dat

索引ファイルがない場合は、-k オプションを使用してキー構造に関する情報を指定する必要があります。

9.6 ファイルの変換

ファイル変換用のコマンド行の形式は、次のとおりです。

rebuild in-file,out-file [-s] [-o] [-r] [-t] [-k] [-c] 
     [-i] [-v]

Rebuild を指定すると、LEVEL II V2.5 COBOL ファイルをこの COBOL システムで使用する索引ファイルの形式に変換できます。また、どのファイル編成間でも変換が可能です。

Rebuild でリビルドできるのは、このシステムで使用する形式の索引ファイルのみです。そのため、Rebuild を使用してファイルをこの形式に変換しておくと、破損の際にこれらのファイルをリビルドすることができます。

次の例では、Rebuild を使用して C-ISAM ファイルをこのシステムで使用する形式に変換し、ファイルのデータ部分を圧縮します。

rebuild infile.dat,outfile.dat -s:c-isam -c:d1 -t:mf

9.7 索引ファイルの検証

索引ファイルを検証するためのコマンド行の形式は、次のとおりです。

rebuild in-file -f[c] [d]

Rebuild を使用すると、索引ファイルの構造を検証することができます。

C-ISAM、IDXFORMAT "3" および IDXFORMAT "4" ファイル形式では、多くの検証を実行できるうえ、これらの検証をすべて実行するか、または、サブセットのみを実行するかを選択することができます。確認する内容が多いほど、検証処理にかかる時間は長くなります。

次の例では、Rebuild はファイルの一貫性をすべて検査します。

rebuild test.dat -f:c63d5

9.8 呼び出し可能 Rebuild

次のように指定すると、COBOL プログラムで Rebuild を呼び出すことができます。

call "callrb" using commands status

この場合のパラメータの内容は次のとおりです。

commands Rebuild コマンド行を格納する PIC X(600) 項目。Rebuild はオフセット 599 から 0 へ向かってコマンド行を調べるため、この項目の長さは 600 バイトになります。
status 返されたファイル状態を格納する PIC XX COMP X 項目。この項目は、Rebuild の呼び出し結果を示します。

Rebuild をプログラムで呼び出すと、-v オプションを指定しない限り、通常のメッセージは表示されません。-v オプションを設定すると、処理中のレコードの合計が表示されます。

エラーが発生した場合、またはリビルドが成功しなかった場合は、RETURN-CODE にゼロ以外の値が格納され、status に返されたファイル状態が格納されます。Rebuild を呼び出した後は常に、 RETURN-CODE と status を確認してください。

RETURN-CODE に格納される値を次に示します。

説明
0 Rebuild が正常に実行されたことを示します。
1 ファイルが見つからない、ファイル形式が無効である、などの入力ファイル エラーが発生しています。状態パラメータを確認してください。
2 出力ファイルにエラーが発生したことを示します。状態パラメータを確認してください。
9 オプションが無効である、オプションの組合せが無効である、などのエラーがパラメータリストに含まれていることを示します。

エラーが発生した場合は、同一のパラメータセットを使用して同じファイルのコマンド行から Rebuild を実行します。画面出力では、エラー原因についてより詳細な情報が表示されます。


注: -f オプション (索引ファイルの検証) を使用している場合は、ゼロ以外の RETURN-CODE はファイルが破損していることを示します。その場合は、より詳細な情報を取得するために、同一のパラメータ セットで同じファイルのコマンド行から再度 Rebuild を実行してください。


次の例は、COBOL プログラムによる Rebuild の呼び出しを示します。

 01 parameters   pic x(600).
 01 status       pic xx comp-x.
 .
 .
 .
 move "infile.dat,outfile.dat -s:lii -c:d1" to parameters
 call "callrb" using parameters,status
 end-call

9.9 エラーメッセージ

Rebuild は、索引ファイルのリビルド、変換、再編成を行うときに、エラー、情報、または警告メッセージを出力する場合があります。以降の項で、Rebuild のエラー メッセージのリストを示します。

9.9.1 エラーメッセージ

エラーが検出されると、コマンド行の後にエラーメッセージが表示されます。コマンド行エラーの場合は、コマンド行内のエラーが発生した場所の下に脱字記号 (^) が表示されます。

9.9.1.1 コマンド行エラー

***無効なパラメータの組合わせ
/k オプションが索引ファイルへの変換用に必要です
範囲外のデータ圧縮
データ圧縮が二回以上指定されています
入力ファイルが出力ファイルと同じです
範囲外の索引圧縮
索引圧縮が二回以上指定されています
不正なコマンド - /n は Microsoft 形式ファイルでは許されません
不正なコマンド - 変換用出力ファイルを指定する必要があります
不正なコマンド行
不正な圧縮選択 - 「d」または「i」にする必要があります
不正な形式
不正なキー長 - ゼロにはできません
不正なキー指定 - キーがレコードを含んでいません
不正なキー開始 - ゼロにはできません
不正なキー構造 - 「+」にします
不正なオプション
不正な構成
不正な構成 - 「i」か、または何もなしにします
不正な構成 - 索引の再構築用に索引付ける必要があります
不正な構成 - 再構成用に索引付ける必要があります
不正なレコード長 - ゼロにはできません
不正なレコード長 - 最大値は最小値より小さくない必要があります
不正なレコードパラメータ - 「-」 にします
不正なレコードタイプ - 「F」または「V」にします
不正なソース形式
参照する /t 用の出力ファイルが指定されていません
データ圧縮用の出力ファイルが指定されていません
数にします
出力ファイルは索引出力用に指定されませんでした
パラメータファイルが見つかりません

9.9.1.2 Rebuild エラー

***入力ファイルのエラー - 不正なファイル構造です
***入力ファイルのエラー - 通信が失敗しました
***入力ファイルのエラー - ディスクの入出力エラーです
***入力ファイルのエラー - ディスク領域を使い果たしました
***入力ファイルのエラー - 重複キー - レコード書込みなし:
***入力ファイルのエラー - ファイルは C-ISAM 索引ファイルではありません
***入力ファイルのエラー - ファイルは Level II 索引ファイルではありません
***入力ファイルのエラー - ファイルは MF 索引ファイルではありません
***入力ファイルのエラー - ファイルは MF4 索引ファイルではありません
***入力ファイルのエラー - ファイルは可変相対ファイルではありません
***入力ファイルのエラー - ファイルは可変順ファイルではありません
***入力ファイルのエラー - ファイルがロックされました
***入力ファイルのエラー - ファイルは再構築用に索引される必要があります
***入力ファイルのエラー - ファイルは再構成用に索引される必要があります
***入力ファイルのエラー - ファイルが見つかりません
***入力ファイルのエラー - 不正なファイル名が指定されました
***入力ファイルのエラー - 不正 -x:参照キー
***入力ファイルのエラー - レコードサイズ情報がありません
***入力ファイルのエラー - MF 索引または可変形式ではありません
***入力ファイルのエラー - レコードサイズ > 指定
***入力ファイルのエラー - 状態 xx
***入力ファイルのエラー - 状態 9/yyy
***入力ファイルのエラー - レコード長 < 最小、または > 最大
***出力ファイルのエラー - 状態* xx
***出力ファイルのエラー - 状態 9/yyy

9.9.2 情報メッセージ

Rebuild でファイルを処理するときに、次の情報メッセージが出力されます。

ファイルコンバート中
Rebuild 中止
再構築が完了しました
ファイル再構築中
索引再構築中
レコード処理
再構成が完了しました
ファイル再構成中

9.9.3 警告メッセージ

選択した操作によって、いくつかのコマンド行オプションが不要な場合があります。このような場合は、不要なオプションが示されますが、無視されて処理が継続されます。オプションが有効であっても、他の情報を省略すると Rebuild では不正なプロセスが選択される場合があるため、注意してください。このような場合は、コマンド行を修正して再実行します。

** 警 告 ** - オプション無視 - /k オプションは再構成用には必要ありません
** 警 告 ** - オプション無視 - /k オプションは /n と共には必要ありません
** 警 告 ** - オプション無視 - /r オプションは再構成用には必要ありません
** 警 告 ** - オプション無視 - /x オプションは索引再構築用には必要ありません

9.10 Rebuild の例

この項では、Rebuild の使用例を示します。

rebuild badms001.dat,ms001.dat -i

ファイルを再編成します。データは主レコードキーの順番で書き込まれ、再編成が完了すると処理情報が表示されます。

rebuild badms001.dat,ms001.dat -x:3 

ファイルを再編成します。データは、3 番目の副キーの順番で書き込まれます。

rebuild ms001.dat 

索引ファイルをリビルドします(索引 (.idx) ファイルはすでに存在し、そのファイルに格納されている情報は破損していないものと仮定しています)。

rebuild ms001.dat -k:1+20 -i 

索引ファイルをリビルドします。索引 (.idx) ファイルは不要で、存在する場合は無視されます。索引ファイルは、指定したキー定義 (ファイルの作成時に使用したキー定義と一致する必要はありません) を使用して完全に再作成されます。リビルドが完了すると、処理情報が表示されます。

索引ファイルを持たない C-ISAM および Level 2 ファイルでは、-r および -s オプションを使用してレコード情報とファイル形式を指定します。

rebuild infile.dat,outfile.dat -s:c-isam -c:d1 -t:mf 

C-ISAM 形式索引ファイルを、このシステムで使用する形式に変換し、ファイルのデータ部分を圧縮します。

rebuild infile.dat,outfile.dat -o:ri -k:1+2:3+10d -c:i7 

相対ファイルの索引を、キー圧縮を使用して生成します。

rebuild infile.dat,outfile.dat -s:lii -t:lii 

LEVEL II V2.5 COBOL 形式ファイルを再編成して、出力ファイルで LII 構造を保持します。他の形式でも、同じ方法で -s と -t を組み合わせることができます。

set data=/tmp.dat rebuild data -i

ファイル、 /tmp.dat に関する情報を再編成および表示します。


Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標と商品名は国際法で保護されています。

前ページへファイルのソート ファイル処理ライブラリルーチン次ページへ