作成したプログラムが正しくコンパイルされた場合でも、そのプログラムを実行してテストする必要があります。プログラムの実行は、アンパサンド置換を使用する文のエラー、ロジックのエラー、およびネストしたプログラムのエラーを検出するのに役立ちます。
プログラムを実行してテストするには、プログラムが処理する典型的なデータのフルセットをテスト・データとして使用します。エラー処理メカニズムを含むプログラムのすべての機能をテストしたことを確認するには、異なるデータおよび応答を使用し、プログラムを複数回実行します。次のようなテスト・データを使用します。
予想される範囲内のデータ
予想される範囲外のデータ
プログラムの各セクションを実行するデータ
プログラムを実行するたびに、プログラムがその文を正しい順序で実行し、出力が正しいことを確認する必要があります。作成したプログラムの実行を分析する手段として、プログラムにSHOW
文を記述し、診断メッセージまたはステータス・メッセージを生成できます。テストの完了後、SHOW
文を削除します。
プログラムやネストしたプログラムでエラーを検出した場合、またはエラーが発生する可能性がある場合は、この後に説明するデバッグ方法を使用して、エラーが発生する場所を特定できます。
BADLINEオプションをYES
に設定すると、不適切なコード行が検出された場合、エラー・メッセージとともに追加情報が生成されます。エラーが発生すると、エラー・メッセージ、プログラムの名前、およびエラーを発生させたプログラム行が、現行の出力ファイルに送信されます。特定されたプログラムを編集してエラーを修正し、元のプログラムを実行できます。BADLINEの使用例は、例6-4「BADLINEオプションの使用」を参照してください。
作成したプログラムにロジックのエラーがあっても、エラー・メッセージが表示されることなくそのプログラムが実行されることがありますが、実行される文または生成される結果は適切ではありません。たとえば、IF
文に不適切なブール式を記述する(EQ
のかわりにNE
を使用するなど)とします。プログラムは指定した文を実行しますが、不適切な条件で実行されます。
プログラム・ロジックのエラーを検出するには、多くの場合、文が実行される順序を調べる必要があります。その方法の1つとして、次に示すようにDML文を発行し、デバッグ・ファイルを作成してそのファイルを調べることにより、作成したプログラムの問題を診断します。
デバッグ・ファイルを作成するには、DBGOUTFILE文を使用します。DBGOUTFILE文は、デバッグ用のファイルを作成するのみです。
各プログラム行を実行する際、デバッグ・ファイルに送信するよう指定するには、PRGTRACEオプションをYES
に設定します。
(オプション)デバッグ・ファイルに、プログラム入力およびエラー・メッセージの両方を併記しながらプログラム行を出力するには、ECHOPROMPTオプションをYES
に設定します。