Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


符号条件の使用

アプリケーションの中には、日付フィールドで、トリガーとして機能する (つまり、ある特殊な処理が必要であることを示す) ゼロ並びのような特殊値を使用するものが あります。

例えば、Orders ファイルで Order-Date に 0 の値を使用すると、レコードはオーダー・レコードではなく顧客合計レコードであることを意味するという場合です。プログラムは、次のように日付を 0 と比較します。

01  Order-Record.
    05  Order-Date      Pic S9(5) Comp-3 Date Format yyxxx.
. . .
    If Order-Date Equal Zero Then . . .

しかし、この比較は、リテラル値の Zero が非日付のため、仮定による世紀ウィンドウに対してウィンドウ操作されて値が 1900000 になるので、有効ではありません。

あるいは、次のように、リテラル比較の代わりに符号条件を使用できます。符号条件を使用すると、Order-Date は非日付として扱われ、世紀ウィンドウは考慮に入れられません。

If Order-Date Is Zero Then . . .

このアプローチが適用されるのは、符号条件内のオペランドが算術式ではなく単純な ID である場合だけです。式を指定した場合は、適宜世紀ウィンドウが適用されてその式が最初に評価されます。そのあと、その式の結果に対して符号条件が比較されます。

代わりに UNDATE 組み込み関数を使用しても、同じ結果が得られます。

関連概念
非日付の処理

関連タスク
日付処理の明示的制御

関連参照
DATEPROC


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

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