Tale descrizione comporta due tipi di indicazioni: Quelle relative alla norma SData e quelle specifiche a X3.
Norma SData
Le informazioni relative allo standard SData sono disponibili al seguento indirizzo: http://interop.sage.com/daisy/sdata/Metadata/TypicalSDataSchema.htm.
Indicazioni specifiche Safe X3
- Tag schema.
Indicazione dello NameSpace (serp) utilizzato da Safe X3 per identificare le informazioni specifiche nello schema
xmlns:serp="http://schemas.sage.com/sdata/serp/2010"
- Tag import.
Questo tag permette di referenziare altre descrizioni XSD necessarie all'utilizzo del presente contratto. - serp:conName="xxxxxx".
Questo attributo permette di indicare il codice Safe X3 del contratto importato. Nell'ambito del contratto CRM, qui si tratta di referenziare il nome del contratto 'common' in Sage X3, che contiene la descrizione delle risorse comuni a tutti i contratti e necessarie al contratto CRM.
- Tag complexTypecon un attributo namenel formato xxxx--type
Questo tag appartiene allo standard SData e descrive la struttura di una risorsa.
Su questo tag è possibile aggiungere gli attributi specifici Safe X3: - serp:trtCode="STRGC1TRAACO"
Questo attributo permette di indicare il codice del programma Safe X3 che prende in carico la gestione degli accessi alla risorsa: operazioni CRUDT (Create, Read, Update, Delete, Template) - serp:stcResCode="GC1TRAACO"
Questo attributo permette di indicare il codice della struttura Safe X3 che prende in carico la risorsa, - serp:stcClobMaxSize="12"
Questo attributo permette di indicare la dimensione massima del clob che permette di gestire lo scambio di dati tra il server Safe X3 ed il componente "Safe X3 Java Bridge Server".
- Tag complexTypecon un attributo namenel formato xxxx--list
Questo tag appartiene allo standard SData e descrive l'accesso ad una collezione di una risorsa.
Su questo tag è possibile aggiungere gli attributi specifici Safe X3: - serp:trtCode="STRGCTTRAACO"
Questo attributo permette di indicare il codice del programma Safe X3 che prende in carico la gestione dell'accesso alla collezione (Query), - serp:stcColCode="GCTTRAACO"
Questo attributo permette di indicare il codice della struttura Safe X3 che prende in carico la collezione di una risorsa, - serp:stcClobMaxSize="12"
Questo attributo permette di indicare la dimensione massima del clob che permette di gestire lo scambio di dati tra il server Safe X3 ed il componente "Safe X3 Java Bridge Server", - serp:maxQueryEntries="50"
Questo attributo permette di indicare il numero massimo di risorse restituite da un'interrogazione.
Questo limite permette di évitare di sollecitare troppo il server. Il cliente potrà accedere ai dati successivi paginando o affinando questi criteri di ricerca, - serp:linkingQueryEntries="1000"
Questo attributo permette di indicare il numero massimo di risorse restituite dal programma di linking.
Questo attributo viene utilizzato solamente in ambito interno di implementazione della funzione di linking.
- Tag elementcontenuto in un tag complexType.
Questo tag appartiene allo standard SData e permette di definire le informazioni appartenenti ad una risorsa SData.
Ogni elemento può essere un elemento finale (campo) o un elemento relativo ad altre risorse (relationship di tipo reference, children, association).
- Gestione delle interrogazioni - Filtro.
E' possibile utilizzare in un'interrogazione gli elementi segnalati dall'attributo serp:canFilter="true".
- Caso delle relazioni reference o association
Il filtro può vertere su un solo campo della risorsa per motivi tecnici.
Esempio: nel contratto CRM: La struttura GC1TRAACO contiene il campo BPCINV legato alla risorsa invoiceTradingAccount che ha una relazione di tipo reference.
In questo caso, il contratto comporta:
- nella descrizione della risorsa principale e sull'elemento che descrive la relazione, l'attributoserp:filter="byReference".
Questo attributo indica la restrizione di utilizzo della risorsa inclusa in un'interrogazione (Nota: solo a titolo informativo), - nella descrizione della risorsa collegata e sull'elemento unico, l'attributo serp:reference="true".
Questo attributo indica il campo utilizzabile per un'interrogazione su questa risorsa inclusa.
- Gestione delle interrogazioni - Collection ottenute a partire da una proprietà.
Vanno utilizzate quando il numero di dato è sconosciuto e necessita dei meccanismi di paginazione di una query classica.
Tali interrogazioni sono possibili se l'attributo canGet="true" è posizionato sull'elemento che possiede la relazione di tipo association.
E' il caso per gli ordini di un cliente:
/tradingAccount('DIS001')/salesOrders.
E' anche possibile ottenere questo risultato con l'aiuto di una query classica
/salesOrders=where tradingAccount.reference eq 'DIS001.
Esempio:La struttura GC1TRAACO contiene il campo QCTORDER legato alla risorsa salesOrders che ha una relazione di tipo association.
Nella struttura applicativa, i campi in questo caso utilizzano il codice struttura ASDCOLBV1.
A livello contratto, occorre indicare sull'elemento che descrive la relazione association il programma ed il sotto-programma incaricati di elaborare queste richieste: - serp:trtQueryProperty - programma,
- serp:spgQueryProperty -sotto-programma.
- Tag enumeration.
- serp:value="99"
Questo attributo permette di effettuare una corrispondenza automatica tra il valore dell'enumerazione SData (une stringa di caratteri) ed il valore utilizzato nell'ambito di Safe X3 (numero di riga del menù locale che gestisce l'enumerazione).