符号条件
符号条件は、ある数字オペランドの代数値が、0 に比べてそれより大きいか、小さいか、または等しいかを判別します。
| フォーマット |
 >>-オペランド-1--+----+--+-----+--+-POSITIVE-+-----------------><
'-IS-' '-NOT-' +-NEGATIVE-+
'-ZERO-----'
|
- オペランド-1
- 数字 ID、または変数への参照を少なくとも 1 つ含む算術式として定義されている必要があります。オペランド-1 は、浮動小数点 ID として定義することができます。
オペランドは次のように判別されます。
- その値が 0 より大きければ POSITIVE
- その値が 0 より小さければ NEGATIVE
- その値が 0 に等しければ ZERO
無符号のオペランドは、POSITIVE かまたは ZERO のいずれかです。
- NOT
- 符号条件の真の値に関して、1 回の代数テストが実行されます。例えば、テストされたオペランドの値が正または負であるとき、
NOT ZERO は真とみなされます。
符号条件のオペランドとして日付フィールドも使用できますが、符号条件テストでは非日付データとして処理されます。
したがって、オペランドがウィンドウ化日付フィールドの ID である場合、日付ウィンドウ化は行われないため、符号条件を使用してウィンドウ化日付フィールドの値がすべてゼロかどうかをテストできます。
ただし、オペランドが算術式である場合、式中のウィンドウ化日付フィールドは符号条件テストの結果を使用する前に、
算術結果の計算中に拡張されることになります。
例えば、次の場合、
- WIN-DATE がウィンドウ化日付フィールドとして定義されていて、値が 0 である
- コンパイラー・オプション DATEPROC が有効である
- コンパイラー・オプション YEARWINDOW (開始年) が有効で、開始年 が 1900 以外である
以下の符号条件は真であると評価されます。
WIN-DATE IS ZERO
逆に、以下の符号条件は偽であると評価されます。
WIN-DATE + 0 IS ZERO
|