次のように指定すると、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 | メモリ不足です。 |
エラーが発生した場合は、同一のオプションを使用して同じファイルのコマンド ラインからリビルドを実行します。画面出力では、エラー原因についてより詳細な情報が表示されます。
次の例は、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