Data Type:

Boolean

Session model:

Session-free and session-managed

When set to true, this property prevents .NET from sending schema information to the application server for input-output and output DataSet and DataTable properties. The property applies to all DataSet and DataTable parameters for subsequent method calls. Set the property before a proxy method is called. Reset the NoSchemaMarshal property back to false for subsequent proxy method calls if needed.

This property must be used for output only DataSet or DataTable parameters, and not the ProDataTable.SetNoSchemaMarshal( ) method.

This is because the c# compiler considers an output parameter unassigned and it must be assigned before its value is used, therefore, the .NET proxy code is not able to look at the output DataSet or DataTable object to detect if SetNoSchemaMarshal( ) was called.

The property can be used in place of the ProDataTable SetNoSchemaMarshal( ) method. Use this method if you need all DataSet and DataTable parameters in a single proxy method to not pass schema info from .NET to the application server.

For example:

RunTimeProperties.NoSchemaMarshal = true;

appObj.getMyDSet(1, out myOutDS);

See SetNoSchemaMarshal( ) for more details on disabling schema marshaling.

This property applies to the RunTimeProperties class only (it does not apply to Connection objects).

Note: This property affects schema marshaling from the .NET Open Client to the application server only. To alter marshaling from the application server to the client, you can use the -ttmarshal startup parameter, or you can use the temp table properties NO-SCHEMA-MARSHAL and MIN-SCHEMA-MARSHAL. For more information, see Startup Command and Parameter Reference and ABL Reference.

Default:

False