エレメントを NULL と比較したい場合、次のステートメントをコーディングします。
IF InputRoot.MRM.Elem2.Child1 IS NULL THEN
DO:
-- more ESQL --
END IF;
このエレメントに対してヌルが許可されている場合、このステートメントは、エレメントが入力メッセージに存在するか、または入力メッセージが存在し、MRM 提供のヌル値が入っているかどうかをテストします。
このテストの動作は物理形式に依存しています。
- XML エレメントの場合、XML タグまたは属性がビット・ストリームにない場合、このテストは TRUE を戻します。
- XML エレメントの場合、XML タグまたは属性がビット・ストリームにあり、MRM ヌル値が入っている場合、このテストは TRUE を戻します。
- XML エレメントの場合、XML タグまたは属性がビット・ストリームにあり、MRM ヌル値が入っていない場合、このテストは FALSE を戻します。
- 区切り付き TDS エレメントの場合、エレメントの前の区切り文字とそのエレメントの区切り文字の間に値がない場合、このテストは TRUE を戻します。
- 区切り付き TDS エレメントの場合、このエレメントの MRM 定義のヌル値と同じ値が、エレメントの前の区切り文字とそのエレメントの区切り文字の間にある場合、このテストは TRUE を戻します。
- 区切り付き TDS エレメントの場合、MRM 定義のヌル値でない値が、エレメントの前の区切り文字とそのエレメントの区切り文字の間にある場合、このテストは FALSE を戻します。
- CWF または固定長 TDS エレメントの場合、エレメントの値がこのエレメントの
MRM 定義のヌル値と同じである場合、このテストは TRUE を戻します。
- CWF または固定長 TDS エレメントの場合、エレメントの値が
MRM 定義のヌル値と同じでない場合、このテストは FALSE を戻します。
フィールドが存在しているがヌル値が入っているのではなく、欠落しているかどうかを判別したい場合には、ESQL CARDINALITY 機能を使用できます。