EVAL デバッグ・コマンドを使用して ヌル可能フィールドの空標識を表示する ことができます。 空標識は、QRNU_NULL_ フィールド名という名前の内部変数 (複数回繰り返しデータ構造の指標変数とほぼ同じ) です。 配列が null 可能である場合には、フィールド名を配列の名前にする ことができます。
デバッガーが ヌル可能フィールドを表示すると、このフィールドが null と 見なされているかどうかにかかわらず、フィールドの内容が表示されます。 例えば、FLD1 が null 可能であり、現在 null であるとします。 EVAL _QRNU_NULL_FLD1 の結果は '1' であり、 空標識がオンであったとしても、EVAL FLD1 は FLD1 の現在の内容を 表示します。
EVAL _QRNU_NULL_FLD1 Result: _QRNU_NULL_FLD1 = '1'
EVAL FLD1 Result: FLD1 = 'abcde'
データ構造が null が可能なサブフィールドを持っている場合、データ構造のすべての null 可能なサブフィールド用の null 標識は、データ構造 _QRNU_NULL_dsname のサブフィールドとしてそれ自身保管されます。
データ構造が修飾されていない場合は、null 標識データ構造は修飾されていません。null が可能なサブフィールドの名前は、形式 _QRNU_NULL_subfieldname の中にあります。
例えば、修飾されたデータ構造 DS1 が null が可能なサブフィールド FLD1 および FLD2 および null が可能でないサブフィールド FLD3 を持っている場合、データ構造 _QRNU_NULL_DS1 は、標識サブフィールド _QRNU_NULL_NULLFLD1 および NULL2 を持ちます。 データ構造のすべての null 可能なサブフィールドを表示するには、以下のデバッグ・コマンドを使用します。
EVAL _QRNU_NULL_DS1 Result: _QRNU_NULL_FLD1 OF _QRNU_NULL_DS1 = '1' _QRNU_NULL_FLD1 OF _QRNU_NULL_DS1 = '0'
データ構造が修飾されている場合は、null 標識データ構造は修飾されています。null が可能なサブフィールドの名前は、データ構造サブフィールドの名前と同じです。
例えば、修飾されたデータ構造 DS2 が null が可能なサブフィールド F1 および F2 および null が可能でないサブフィールド F3 を持っている場合、データ構造 _QRNU_NULL_DS2 は、標識サブフィールド F1 および F2 を持ちます。 データ構造のすべての null 可能なサブフィールドを表示するには、以下のデバッグ・コマンドを使用します。
EVAL _QRNU_NULL_DS2 Result: _QRNU_NULL_DS2.F1 = '0' _QRNU_NULL_DS2.F2 = '1'
変数の null 標識を表示するには、最外部の名前を _QRNU_NULL_name で置換して、変数自身にアクセスするときと同じ EVAL 式をデバッガーで使用します。
EVAL FLD1 Result: 'abc' EVAL _QRNU_NULL_FLD1 Result: '0' EVAL SUBF2 Result: 0 EVAL _QRNU_NULL_SUBF2 Result: '1' EVAL ARR(3) Result: 13 EVAL _QRNU_NULL_ARR(3) Result: '1' EVAL DS3.INFO(2).SUB4 Result: 'xyz' EVAL _QRNU_NULL_DS3.INFO(2).SUB4 Result: '0'
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.