This description contains two types of indications: Those coming under the SData standard and those specific to X3.
SData standard
The information concerning the SData standard are available at this address: http://interop.sage.com/daisy/sdata/Metadata/TypicalSDataSchema.htm.
Indications specific to Safe X3.
- Tag schema.
Indication of the NameSpace (serp) used by Safe X3 to identify the specific information in the structure.
xmlns:serp="http://schemas.sage.com/sdata/serp/2010"
- Tag import.
This tag can be used to reference other XSD descriptions required for the use of this contract. - serp:conName="xxxxxx".
This attribute can be used to specify the Safe X3 code of the contract imported. Within the framework of the CRM contract, the aim is to reference the name of the 'common' contract in Sage X3. This contract contains the description of the resources common to every contract and required to the CRM contract.
- Tag complexTypewith an attribute namein the form of xxxx--type
This tag belongs to the SData standard and describes the structure of a resource.
On this tag, the attributes specific to Safe X3 can be added: - serp:trtCode="STRGC1TRAACO".
This attribute is used to indicate the code of the Safe X3 processing that takes control of the management of the access to the resource: Operation CRUDT (Create, Read, Update, Delete, Template), - serp:stcResCode="GC1TRAACO".
This attribute is used to indicate the code of the Safe X3 structure that takes control of the resource, - serp:stcClobMaxSize="12".
This attribute is used to indicate the maximum size of the text file used to manage the exchange of data between the Safe X3 server and the component "Safe X3 Java Bridge Server".
- Tag complexTypewith an attribute namein the form of xxxx--list.
This tag belongs to the SData standard and describes the access to a collection of a resource.
On this tag, the attributes specific to Safe X3 can be added: - serp:trtCode="STRGCTTRAACO".
This attribute is used to indicate the code of the Safe X3 processing that takes control of the management of the access to the resource (Query), - serp:stcColCode="GCTTRAACO".
This attribute is used to indicate the code of the Safe X3 structure that takes control of the collection of a resource, - serp:stcClobMaxSize="12".
This attribute is used to indicate the maximum size of the text file used to manage the exchange of data between the Safe X3 server and the component "Safe X3 Java Bridge Server", - serp:maxQueryEntries="50".
This attribute is used to indicate the maximum number of resources returned by a query.
This limit is used to avoid requesting the server too much. The customer will have access to the next data by pagination or by refining the search criteria, - serp:linkingQueryEntries="1000".
This attribute is used to indicate the maximum number of resources returned by the linking program,
This attribute is only used within an internal framework of the linking function implementation.
- Tag elementcontained in a complexType tag
This tag belongs to the SData standard and is used to define the information belonging to a SData resource.
Each element can be a final element (heading) or an element that concerns other resources (relationship of type reference, children, association).
- Query management - Filter.
In a query, it is possible to use the elements identified with the attribute canFilter="true".
- Cases of reference or association relationship.
The filter can only filter one heading of the resource for technical reasons.
Example : In the CRM contract: The GC1TRAACO structure contains the BPCINV field linked to the invoiceTradingAccount resource which has a relationship of type reference.
In this case, the contract contains:
- in the description of the main resource and on the element describing the relationship, the attribute serp:filter="byReference".
This attribute indicates the restriction of use of the resource included in a query. (Note: for information purposes only), - in the description of the linked resource and on the unique element, the attribute serp:reference="true".
This attribute indicates the heading that needs to be used for a query concerning this included resource.
- Query management - Collections coming from a property
They must be used when the amount of data is unknown and requires numbering mechanism of a classic query.
These queries are possible if the attribute canGet="true" is positioned on the element whose relationship type is association.
This is the case for the orders of a customer:
/tradingAccount('DIS001')/salesOrders.
It is also possible to obtain this result using a classic query
/salesOrders=where tradingAccount.refrerence eq 'DIS001.
For instance:The GC1TRAACO structure contains the QCTORDER field linked to the salesOrders resource whose relationship type is association.
In the applicative structure, the fields in this case must use the structure code ASDCOLBV1.
At the contract level, it is necessary to specify on the element describing the association relationship, the processing and the sub-program in charge of processing these requests: - serp:trtQueryProperty - processing,
- serp:spgQueryProperty -sub-program.
- Tag enumeration.
- serp:value="99"
This attribute can be used to establish an automatic symmetry between the enumeration value SData (a character string) and the value used within the framework of Safe X3 (line number of the local menu managing the enumeration).