Try OpenEdge Now
skip to main content
.NET Open Clients
Passing Parameters : ABL data type mappings : Unknown value (?) as a parameter
 

Unknown value (?) as a parameter

The Unknown value (?) is mapped to a null value for a .NET reference type (class); however, the .NET value types referenced by a .NET proxy (System.Boolean, System.Decimal, System.Int32, System.Int64, and System.DateTime) always have a default value, and the null value does not belong to the set of values they support. For each of these value types, OpenEdge provides two options for representing a null value:
*A .NET nullable value type, which is a structure that can be set to a null value as well as to one of the values of a corresponding .NET value type.
*An OpenEdge holder class, which is defined in the Progress.Open4GL namespace, and can be set to a null value as well as to one of the values of a corresponding .NET value type. This option is provided for backward compatibility in ProxyGen projects created using previous OpenEdge releases that do not support .NET nullable types.
You can select the option you want to represent the Unknown value (?) for parameters and user-defined function return values in ProxyGen using the Unknown Support options in the .NET Client Details of the Generate Proxies dialog box.
Note: For ProxyGen projects created in OpenEdge releases without support for nullable types (releases prior to OpenEdge 11.0), the project defaults to using holder classes to represent the Unknown value (?). For ProxyGen projects created in OpenEdge releases that support nullable types, the project defaults to using nullable types to represent the Unknown value (?).
* Using .NET nullable value types
* Setting an INPUT or INPUT-OUTPUT parameter to the Unknown value (?)
* Testing an INPUT-OUTPUT or OUTPUT parameter for the Unknown value (?)
* Using OpenEdge holder classes
* Setting an INPUT or INPUT-OUTPUT parameter to the Unknown value (?)
* Testing an INPUT-OUTPUT or OUTPUT parameter for the Unknown value (?)