ビルド記述子オプション itemsNullable は、コードがプリミティブ・フィールドを NULL に設定できる環境を指定します。
この振る舞いは、VisualAge® Generator および以前のバージョンの EGL と一貫性のあるものです。
この振る舞いは、Informix® 製品 I4GL と一貫性のあるがありますが、basicInterface 型のインターフェース型のサービス・パーツでは使用できません。
プログラムが EGL ライブラリーに含まれる関数を呼び出す場合は、 プログラムとライブラリーの両方を、同一の itemsNullable 設定で生成する必要があります。 そうしない場合は、プログラムのコンパイル時にエラーが発生します。
次の表は、このオプションの決定による効果を示しています。
操作 | ItemsNullable を NO に設定 | ItemsNullable を YES に設定 |
---|---|---|
NULL フィールドを設定する | SQL レコードの外のフィールドに対しては不可能 | フィールドに空ストリングを代入することで、NULL を設定することができます。 |
NULL フィールドを検査する | SQL レコードの外のフィールドに対しては不可能 | ストリングを関数 StrLib.clip に受け渡した結果を検査することで、NULL を検査できます。
myString String = ""; // 変数が NULL である // ことを示します。 if (StrLib.clip(myString) is NULL) ; end |
NULL フィールドを別のフィールドに割り当てる | ソースの値は 0 またはブランクであり、この代入により、値と (ターゲットが NULL 可能な場合) NULL 状態の両方がコピーされます。 | ターゲットが NULL 可能な場合、このターゲットは NULL に設定されます。 それ以外の場合、ターゲットは 0 またはブランクに設定されます。 |
有限長ストリングを他のストリングと連結する | 有限長ストリングはブランクで埋められません。 | 有限長ストリングにはブランクで埋められ、 ストリング宣言で指定された最後の位置までストリングを拡張します。 |
数式で NULL フィールドを使用する | このフィールドは、0 が含まれているかのように扱われます。 | この式は NULL に評価されます。 |
テキスト式で NULL フィールドを使用する | このフィールドは、スペースが含まれているかのように扱われます。 | このフィールドは、空ストリングであるかのように扱われます。 |
論理式で NULL フィールドを使用する | この式は、フィールドの値が 0 またはブランクであるかのように扱われ、次の例は TRUE に評価されます。
0 == null |
この式は、NULL が NULL と比較される場合のみ、TRUE に評価されます。次の例は、これと異なり、FALSE に評価されます。
0 == null |
空の SET™ フィールド | NULL 状態は設定されません。 | NULL 状態が設定されます。 |
空の SET レコード | NULL 状態は設定されません。 | NULL 状態が設定されます。 |
関連リファレンス
ビルド記述子オプション