i4glItemsNullable

If the i4glItemsNullable property is set to YES, EGL emulates the behavior of I4GL in creating variables as nullable by default (not normally the case in EGL). The default for this property is NO. This property is typically used by EGL migration; you do not need it for new code.

This property applies to programs, libraries, records, and handlers.

For more information about nullable variables, see Null values and the nullable type.

The initial value of the variable depends on how you declare it:
  • A variable declared with a "?" always has an initial null value, unless you set i4glItemsNullable to YES. The i4glItemsNullable property takes precedence over the null value type extension character ("?").
  • A variable made nullable with the i4glItemsNullable property has the initial value shown in the following table:
    Table 1. Initial values for i4glItemsNullable variables
    Primitive type Initial value
    numeric, INTERVAL 0
    HEX 0s
    DATE December 31, 1899
    TIME The current time
    TIMESTAMP The current timestamp
    anything else NULL

Example

The two programs below have different initial values for i:
program X { I4GLItemsNullable = YES }
	function main()
		i int;   // i is initially 0
	end
end

program Y
	function main()
		i int?;   // i is initially null
	end
end

program Z { I4GLItemsNullable = YES }
 	function main()
 		i int?;   // i is initially 0
 	end
end

Compatibility considerations

Table 2. Compatibility considerations
Platform Issue
JavaScript generation The property i4glItemsNullable is not supported