Defining TABLE-HANDLE (dynamic temp-table) parameters
- Last Updated: March 30, 2020
- 2 minute read
- OpenEdge
- Version 12.2
- Documentation
TABLE-HANDLE parameters pass both the schema and data, because the dynamic
temp-table schema is not known at compile time. In the WSDL, OpenEdge Web services map an ABL
TABLE-HANDLE to a <complexType> containing a
sequence of xsd:any.
For all SOAP formats, client interfaces typically represent TABLE-HANDLE
parameters as follows:
- For every
TABLE-HANDLEparameter within a Web service object, there is a single object representing allTABLE-HANDLEs. - In both request messages and response messages, the schema of the
TABLE-HANDLEmust accompany the data. - For every input
TABLE-HANDLE, you must include the schema of theTABLE-HANDLEin the form of an XML Schema followed by the data in the form of an XML document fragment. - For every output
TABLE-HANDLE, a non-ABL client must parse the XML Schema and data in the SOAP response message. - The WSDL Analyzer recognizes the WSDL definition of a
TABLE-HANDLEparameter and maps it to aTABLE-HANDLEparameter for an ABL client.
The following WSDL sample shows this common TABLE-HANDLE parameter
definition:
TABLE-HANDLE definition for all dynamic temp-table parameters
|
The non-ABL client application must create (for input) and parse (for output) the XML Schema along with the data for the parameter. How the client inserts the input schema and data in request messages and how it parses the output schema and data from response messages is entirely dependent on the client toolkit.
This is the general format in OpenEdge Web services for representing a
TABLE-HANDLE in a SOAP message, where the schema is
defined in a <schema> element and each row is
encapsulated by an <Item> element within a <Data> element:
|
Each column of a TABLE-HANDLE row can hold
any data type shown in the following table.
| ABL data type | XML Schema data type |
|---|---|
CHARACTER
|
xsd:string
|
DATE
|
xsd:date
|
DATETIME-TZ
|
xsd:dateTime
|
DECIMAL
|
xsd:decimal
|
INT64
|
xsd:long
|
INTEGER (32 bit)
|
xsd:int
|
LOGICAL
|
xsd:boolean
|
RAW
|
xsd:base64Binary
|