条件付きジョブ停止点の設定と除去

条件付きジョブ停止点の設定または除去を行うには、次のものを使用します。

注:
条件付き停止点についてサポートされている比較演算子は、<、>、=、=<、 =>、および <> です。

条件付きジョブ停止点の設定または除去を行う方法の 1 つは、 「モジュール停止点の処理」画面を使うことです。 「モジュール停止点の処理」画面は、 「モジュール・ソースの表示」画面で F13 (モジュール停止点の処理) を押すと表示されます。 「モジュール停止点の処理」画面を図 38 に示します。

設定

条件付きジョブ停止点の設定は、「モジュール停止点の処理」画面を使用しても、あるいは BREAK デバッグ・コマンドを使用しても行えます。

「モジュール停止点の処理」画面を使用して条件付きジョブ停止点を設定するには、次のように行います。

  1. OPT フィールドに 1 (追加) を入力します。
  2. フィールドに、停止点を設定したいデバッガー行番号を入力します。
  3. 条件 フィールドに条件式を入力します。
  4. スレッド欄が表示されている場合は、実行キーを押す前に、スレッド・フィールドに *JOB と入力します。
  5. 実行キーを押します。
図 38. 条件付き停止点の設定
                              
                              モジュール停止点の処理
                                                            システム:   ISERIES
 プログラム . . :   TEST                 ライブラリー . :   TESTLIB
   モジュール . :     SAMPMDF            タイプ . . . . :   *PGM
 オプションを入力して、実行キーを押してください。
   1= 追加   4= 消去
 OPT     行         条件
  1      35____     I=21________________________
  _      ______     ____________________________

停止点を設定したい行に複数のステートメントが含まれている場合、停止点は行の最初のステートメントに設定されます。

注:
停止点を設定したい行が実行可能ステートメントでない場合、 停止点はその次の実行可能ステートメントに設定されます。

設定または除去したい停止点をすべて指定した後、 F3 (終了) を押すと、「モジュール・ソースの表示」画面が表示されます。

「モジュール・ソースの表示」画面を終了するには、F3 (プログラムの終了) を押します。 「モジュール・ソースの表示」画面で F21 (コマンド行) を使用して、コマンド行からプログラム・オブジェクトを呼び出すこともできます。

プログラム・オブジェクトまたはサービス・プログラムを実行します。 条件付きジョブ停止点を設定したステートメントに達すると、 その停止点に関連した条件式はステートメントが実行される前に評価されます。 結果が偽の場合には、プログラム・オブジェクトは実行し続けます。 結果が真の場合には、プログラム・オブジェクトが停止し、 「モジュール・ソースの表示」画面が表示されます。 この時点で、変数の評価、他の停止点の設定、およびデバッグ・コマンドの実行を行うことができます。

BREAK デバッグ・コマンドを使用して条件付きジョブ停止点を設定するには、 デバッグ・コマンド行で次のものを入力します。

BREAK line-number WHEN expression

行番号 はモジュール・オブジェクトの現在表示されているビューの中で停止点を設定する行の番号であり、 はその停止点に達した時点で評価する条件式です。 条件式は、単純式でなければなりません。 すなわち、等号の右辺には 1 つの値しか指定できません。 たとえば、I=21 は可能ですが、I=A+2 または I=3*2 は受け入れられません。

停止点を設定したい行に複数のステートメントが含まれている場合に BREAK デバッグ・コマンドを出すと、 停止点は行の最初のステートメントに設定されます。

たとえば、デバッガー行 35 に条件付きジョブ停止点を設定するには、次のように行います。

  1. OPT フィールドに 1 (追加) を入力します。
  2. フィールドに 35 と入力します。
  3. 図 38 に示されているとおりに、条件 フィールドに I=21 と入力して、実行キーを押します。 (スレッド欄が表示されている場合は、実行キーを押す前に、スレッド・フィールドに *JOB と入力してください。)
  4. 設定したい条件付きジョブ停止点ごとに、前述のステップを繰り返します。

除去

条件付きジョブ停止点の除去は、「モジュール停止点の処理」画面を使用しても、 あるいは CLEAR デバッグ・コマンドを使用しても行えます。

「モジュール停止点の処理」画面を使用して条件付きジョブ停止点を除去するには、 除去したい停止点の横の OPT に 4 (消去) を入力して、実行キーを押します。 このようにして、無条件停止点を除去することもできます。 図 38 に、OPT フィールドに 4 (消去) を入力できる一般的な画面を示します。

除去したい条件付きジョブ停止点ごとに、前述のステップを繰り返します。

CLEAR デバッグ・コマンドを使用して条件付きジョブ停止点を除去するには、デバッグ・コマンド行で次のものを入力します。

CLEAR line-number

行番号 は、モジュール・オブジェクトの現在表示されているビューの中でジョブ停止点を除去したい行番号です。