COBOL2002 使用の手引 操作編


5.4.3 SET WATCH/RESET WATCH(データ監視条件の設定と解除)

〈この項の構成〉

(1) SET WATCH(データ監視条件の設定)

プログラムの実行を中断する条件を設定します。

形式

[図データ]

  • WATCH(監視識別子)

    データ監視条件を識別するための名称を指定します。

  • DATA(データ名指定)

    監視対象とするデータ名を指定します。値の変化を監視します。詳細については,「2.2.1 プログラムの中断」の「(2) データ監視条件の設定による中断」を参照してください。

  • CONDITION(比較条件式)

    監視対象となるデータの値に対しての比較条件式を指定します。条件式の評価を監視します。

    比較条件式の指定の詳細については,「2.3.1 データの比較・代入規則」の「(2) データの比較規則」を参照してください。

    条件式の監視については,「2.2.1 プログラムの中断」を参照してください。

  • SINGLETHREAD

    単一のスレッドのデータを監視します。

  • SINGLEINSTANCE

    単一のオブジェクトのデータを監視します。

  • COUNTER(カウンタ変数)

    カウンタ変数は,プログラムの開始時に0が設定され,DO〜ENDDOオペランドで指定したTDコマンド群が実行されるたびに1ずつ値が増加します。

  • MESSAGE | NOMESSAGE

    監視条件の成立を知らせるメッセージを表示するかどうかを指定します。

  • DO 〔 TDコマンド群 〕 ENDDO

    中断時に実行するTDコマンド群を指定します。

注意事項
  • データ名指定または比較条件式のデータ名に,カウンタ変数は指定できません。

  • データ名指定または比較条件式のデータ名に添字付きのデータ名を指定するときの添字は,整数定数でなければなりません。また,添字の範囲指定はできません。

  • データ名指定または比較条件式のデータ名に部分参照のデータ名を指定するとき,最左端位置と長さ指定は整数定数でなければなりません。

  • すでに設定された監視識別子を指定して,再度,データ監視条件を設定した場合は,以前の設定が無効となり,新しい設定が有効となります。

  • オブジェクトに属するデータ項目の領域がオブジェクトごとに生成されるときは,生成されたオブジェクトの領域ごとに監視が行われます。カウンタ変数は,オブジェクトのデータごとにカウントされます。SINGLEINSTANCEオペランドは,その一つのデータを指定して監視できます。

  • データ項目の領域が再帰によって複数生成されるときは,生成された領域ごとに監視が行われます。カウンタ変数は,データごとにカウントされます。

  • マルチスレッドで実行するプログラムで,指定したデータ名の領域がスレッドごとに生成されるときは,生成されたスレッドの領域ごとに監視が行われます。カウンタ変数は,スレッドのデータごとにカウントされます。SINGLETHREADオペランドは,その一つのデータを指定して監視できます。

  • 連絡節で定義したLIMIT指定がない動的長基本項目への部分参照指定は,プログラムの起動前には指定できません。指定すると,KCCC3434T-Eのメッセージが出力されて,処理が中止されます。

  • 比較条件式の両辺にデータ名を指定する場合は,データ名の定義場所や属性などによって指定できる条件が異なります。比較条件式に指定できるかどうかの組み合わせを次に示します。ここでは「NORMAL」や「RECURSIVE」などをグループ名の例として説明します。

    表5‒10 監視の条件式に指定できる組み合わせ

    左辺

    右辺

    NORMAL

    RECURSIVE

    FACTORY

    INSTANCE

    NORMAL

    ×

    ×

    ×

    RECURSIVE

    ×

    ×

    ×

    FACTORY

    ×

    ×

    ×

    INSTANCE

    ×

    ×

    ×

    (凡例)

    ○:指定できる

    ×:指定できない

    △:同じ場所に定義されたデータ名であれば指定できる

    それぞれのグループに含まれるデータ名を次に示します。

    表5‒11 グループの内容

    グループ名

    データ名

    NORMAL

    • ファイル節,作業場所節,画面節,通信節で定義されたデータ名

    • 再帰不可能なソース要素の連絡節で定義されたデータ名および特殊レジスタ

    RECURSIVE

    再帰可能なソース要素の連絡節または局所場所節で定義されたデータ名,および特殊レジスタ

    FACTORY

    ファクトリデータ

    INSTANCE

    インスタンスデータ

(2) RESET WATCH(データ監視条件の解除)

SET WATCHコマンドで設定したデータ監視条件を解除します。

形式

[図データ]

  • WATCH(監視識別子)

    データ監視条件を識別するための名称を指定します。

  • WATCH(#ALL)

    すべてのデータ監視条件を解除します。