Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 言語解説書


条件名条件

条件名条件は条件変数をテストし、 その値が条件名に関連付けられているいずれかの値に等しいかどうかを判別します。

構文図を読む構文図をスキップする
フォーマット 

>>-条件名-1-------------------------------------------------------><

条件名は、比較条件のための省略形として条件の中で使用されます。 条件変数を条件名の値と比較する際の規則は、 比較条件に関して指定されている規則と同じです。

条件名-1 がある範囲の値と関係付けられている場合 (またはいくつかの範囲の値と関係付けられている場合)、 条件変数のテストは、値がその範囲内 (両端の値も含め) に収まっているかどうかを判別するテストになります。条件名に対応した値の 1 つが、 それに関連付けられた条件変数の値に等しければ、テストの結果は真と判定されます。

条件名は、VALUE 節の条件名フォーマットに定義するように、英数字データ項目、DBCS データ項目、国別データ項目、および 浮動小数点データ項目などで使用できます。

次の例は、条件変数と条件名の使用を具体的に示したものです。

01  AGE-GROUP         PIC  99.
    88  INFANT        VALUE 0.
    88  BABY          VALUE 1, 2.
    88  CHILD         VALUE 3 THRU 12.
    88  TEENAGER      VALUE 13 THRU 19.

AGE-GROUP は条件変数で、INFANT、BABY、CHILD、および TEENAGER は条件名です。ファイルの中の個々のレコードに対して、 条件名項目の中に指定された値のうち 1 つだけが存在することができます。

上記の例に対して、以下のような IF ステートメントを加えることで、 特定のレコードの年齢グループを判別することができます。

IF INFANT...         (値 0 のテスト)
IF BABY...           (値 1 と 2 のテスト)
IF CHILD...          (値 3 から 12 のテスト)
IF TEENAGER...       (値 13 から 19 のテスト)

条件名条件の評価結果に応じて、 オブジェクト・プログラムは代替の実行パスを選択します。

条件名条件とウィンドウ表示日付フィールドの比較

条件変数がウィンドウ表示日付フィールドである場合には、その条件名に関連する値は、ウィンドウ表示日付フィールドの値と同じように扱われます。 つまり、それらの値は拡張日付フォーマットに変換されたかのように取り扱われます。詳細については ウィンドウ表示日付フィールドのセマンティクスを参照してください。

例えば、19452044 の世紀ウィンドウを指定した YEARWINDOW(1945) と次の定義が与えられた場合、

05  DATE-FIELD   PIC 9(6) DATE FORMAT YYXXXX.
    88  DATE-TARGET       VALUE 051220.

DATE-FIELD の 051220 の値は、次の条件を真にします。

IF DATE-TARGET...

DATE-TARGET に関連する値と DATE-FIELD の値は共に、 比較前に接頭部として「20」が付けられたかのように扱われるからです。

しかし、次の条件は偽になります。

IF DATE-FIELD = 051220...

ウィンドウ表示日付フィールドを使う比較では、世紀ウィンドウに関係なく リテラルは接頭部として「19」が付けられたかのように扱われるからです。したがって、上記の条件は実際には次のようになります。

IF 20051220 = 19051220...

条件式でウィンドウ表示日付フィールドを使用する方法については、日付フィールドの比較を参照してください。


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)