Set attributes for individual temp-table parameters
- Last Updated: February 11, 2026
- 2 minute read
- OpenEdge
- Version 13.0
- Documentation
Syntax
There are three attributes you can use to specify or reduce the amount of schema information marshaled for individual temp-table parameters.
The first attribute lets you specify
the amount of schema information to pass when the temp-table is
marshaled. This is the syntax for the SCHEMA-MARSHAL attribute:
|
The following table lists the SCHEMA-MARSHAL attribute
values.
| Attribute value | Description |
|---|---|
FULL |
Includes all schema information for a temp-table parameter |
MIN |
Minimizes schema information for a temp-table parameter |
NONE |
Excludes schema information for a temp-table parameter |
If set to the Unknown value (?), the
default value is FULL.
The second attribute eliminates all schema description from the parameter, as shown in the following syntax:
|
If you set this logical attribute to true on a temp-table, then no schema information is passed when the temp-table is marshaled. This includes index descriptions and field information. The receiving side must have a static definition to receive the temp-table into.
NO-SCHEMA-MARSHAL attribute
is supported only for backward compatibility. Use the SCHEMA-MARSHAL attribute
instead. The NO-SCHEMA-MARSHAL attribute corresponds
to the SCHEMA-MARSHAL attribute with a value of "NONE". The third attribute reduces the schema information passed to the minimum needed to validate or establish the temp-table dynamically in the receiving procedure, as shown in the following syntax:
|
If you set this logical attribute to true on a temp-table, then only minimum schema information is passed along with the data. This includes the field name and data type and extent.
MIN-SCHEMA-MARSHAL attribute
is supported only for backward compatibility. Use the SCHEMA-MARSHAL attribute
instead. The MIN-SCHEMA-MARSHAL attribute corresponds
to the SCHEMA-MARSHAL attribute with a value of "MIN".The
temp-table ERROR-STRING (a new attribute used by
ProDataSets, described in Set and use ERROR, ERROR-STRING, and REJECTED) is also passed. Values for other
field attributes are passed as the Unknown value (?),
so that the protocol for the call remains the same but the amount of
data is greatly reduced. No index information is passed. You can
use this option even when the receiving procedure has a dynamic
parameter (TABLE-HANDLE for a single temp-table
or DATASET-HANDLE for a ProDataSet), because the
field names, along with the data type and extent, can be used to
construct a minimally complete dynamic temp-table on the receiving
side without setting all the other field attributes.
If you
want to eliminate or minimize temp-table schema information passed
as part of a ProDataSet parameter, you must set the SCHEMA-MARSHAL attribute
on each temp-table in the ProDataSet. It is possible you might set
it differently for different tables, depending on whether you have
static definitions of all the temp-tables on the other side of the
call.
SCHEMA-MARSHAL attribute
and the NO-SCHEMA-MARSHAL or MIN-SCHEMA-MARSHAL attribute
for an individual temp-table, the AVM uses the attribute you most
recently specified. The NO-SCHEMA-MARSHAL and MIN-SCHEMA-MARSHAL attributes
are supported only for backward compatibility. Use the SCHEMA-MARSHAL attribute
instead. Setting any of these temp-table attributes overrides the setting of the
Temp-table Schema Marshal (-ttmarshal) startup parameter
for an individual temp-table parameter. For more information about these temp-table
attributes, see ABL Reference. For more information about the
-ttmarshal startup parameter, see Startup Command and Parameter Reference.