You can specify how an Open Client handles the ABL Unknown value (?) at all levels of the interface, including:
At a global level for the AppObject or SubAppObject
For each procedure or user-defined function
For individual parameters of a procedure or user-defined function
The settings at each level specify whether to enable access to the Unknown value (?) in parameters and return values by allowing the client to access these values as derived objects, which in .NET and Java Open Client applications can pass the ABL Unknown value (?) as a null. Otherwise, if available in the language, a .NET or Java application must use an intrinsic type, which cannot accept a null value and therefore cannot represent the ABL Unknown value (?) in the native Open Client environment. For more information on the intrinsic types available in .NET or Java, see the reference documentation for your client development language.
Note: Web services can always pass the ABL Unknown value (?), regardless of the Open Client interface settings, because Web service parameters are all nillable and allow "nil" to be passed as a representation of the ABL Unknown value(?).