呼び出し可能なリビルド

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

call "callrb" using commands status

詳細は次のとおりです。

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

リビルドをプログラムで呼び出すと、通常のメッセージは表示されません。

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

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

説明
0 リビルドが正常に実行されたことを示します。
1 ファイルが見つからない、ファイル形式が無効である、などのエラーが入力ファイルに発生したことを示します。状態パラメーターを確認してください。
2 出力ファイルにエラーが発生したことを示します。状態パラメーターを確認してください。
3 並べ替えでのエラーです。
4 ファイルが破損しています。
5 /k:a:exists を実行しようとしました。
6 /k:r:onprime を実行しようとしました。
7 /k:r:dontexist を実行しようとしました。
8 出力上の重複が多すぎます。
9 オプションが無効である、オプションの組み合わせが無効である、などのエラーがパラメーター リストに含まれていることを示します。
10 メモリ不足です。

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

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

次の例は、COBOL プログラムによるリビルドの呼び出しを示しています。

 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