Développement > Dictionnaire données > Contrat SData 

Cette fonction permet de répertorier les contrats d'échanges de données utilisés dans le cadre de la norme Sage Data (SData).

Cette norme décrit un protocole de communication qui permet d'échanger des données ou d'utiliser des services normalisés entre différentes applications permettant de simplifier la mise en oeuvre de l'interopérabilité. Elle est utilisée pour les échanges entre produits Sage, mais aussi par tout système adhérant à celle-ci.

Le site SData disponible sur le web à l'adresse http://sdata.sage.com/ est le site de référence sur ce sujet et contient de multiples liens décrivant cette norme de façon approfondie.

La description du contrat est contenue dans le bloc texte de cette fonction sous la forme "Schema de Définition" (Scheme Definition ou XSD). 
Les indications contenues dans cette description sont de deux natures :

  • Standard norme SData.
    Le lien http://interop.sage.com/daisy/sdata/Metadata/TypicalSDataSchema.htm fournit les détails de la norme,
  • Specifique Safe X3.
    Le composant "Safe X3 Java Bridge Server" adapte son comportement pour traiter les demandes SData. Ces informations lui sont fournies au travers d'indications spécifiques ajoutées dans le schéma.

SEEREFERTTO Voir l'aide sur le champ contenant le contrat

La table des contrats est une table système. Cela signifie qu'elle existe uniquement dans le dossier Sage X3. Elle est donc commune à tous les dossiers.

Les contrats SData ayant un code activité standard ne sont pas modifiables.
Les contrats spécifiques sont identifiés par un code activité commençant par "X", "Y" ou "Z". Ces contrats sont modifiables.

Afin de personnaliser un contrat, il est possible de dupliquer un contrat standard et d'exploiter ce contrat dans le composant "Safe X3 Java Bridge Server".

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

Ecran de saisie

Présentation

Champs

Les champs suivants sont présents dans cet onglet :

Caractéristiques

Ce code permet d'identifier le contrat SData.

  • Intitulé (champ AJCDESZ)

Pas d'aide liée à ce champ.

  • Actif (champ ENAFLG)

Cette case à cocher permet d'activer ou de désactiver la fiche courante sans pour autant perdre son contenu.

Dans le composant "Safe X3 Java Bridge Server", seuls les contrats actifs seront disponibles.

Ce code activité permet de marquer un développement ou paramétrage considéré comme optionnel (il est alors activé ou désactivé selon la valeur de l'indicateur attaché au code activité), mais également d'identifier des ajouts spécifiques ou de regrouper sous un même code significatif un ensemble d'éléments du dictionnaire devant être simultanément activés pour permettre à une fonctionnalité du progiciel d'être mise en oeuvre.

Un code activité commençant par X, Y ou Z est considéré comme spécifique.

  • Module (champ MODULE)

Sélectionnez un module pour le paramétrage.

Ce champ vous permet de renseigner si l'écran doit être créé dans la base de données du dossier. Il l'est si le module auquel l'écran est rattaché est actif pour le dossier.

  • Mode développement (champ AJCDEVMOD)

Cette case permet, lorsqu'elle est cochée, d'activer le mode développeur. Ceci impose alors au serveur Bridge Java de vérifier que le contrat qu'il utilise contient les mêmes informations que celles stockées dans ce contrat.

En général, ce mode est à désactiver dans un environnement de production. En effet, cela permet au composant "Safe X3 Java Bridge Server" de charger le contrat lors de son premier accès et de ne pas vérifier en permanence un changement éventuel.

Schema

  • champ AJCXSD

Cette zone contient la description du contrat sous un format XSD.
Cette description comportent deux types d'indications: Celles relevant de la norme SData et celles spécifiques à X3.

Norme SData

Les informations relatives au standard SData sont disponibles à l'adresse suivante :   http://interop.sage.com/daisy/sdata/Metadata/TypicalSDataSchema.htm.
 

Indications spécifiques Safe X3

  • Balise schema.
    Indication du NameSpace (serp) utilisé par Safe X3 pour identifier les informations spécifiques dans le schéma.
    xmlns:serp="http://schemas.sage.com/sdata/serp/2010"
  • Balise import.
    Cette balise permet de référencer d'autres descriptions XSD nécessaire à l'utilisation du présent contrat.
    • serp:conName="xxxxxx".
      Cet attribut permet d'indiquer le code Safe X3 du contrat importé. Dans le cadre du contrat CRM, il s'agit ici de référencer le nom du contrat 'common' dans Sage X3, qui contient la description des ressources communes à tous les contrats et nécessaires au contrat CRM.
  • Balise complexTypeavec un attribut namede la forme xxxx--type.
    Cette balise appartient au standard SData et décrit la structure d'une ressource.
    Sur ce tag, les attributs spécifiques Safe X3 peuvent être ajoutés :
    • serp:trtCode="STRGC1TRAACO".
      Cet attribut permet d'indiquer le code du traitement Safe X3 qui prend en charge la gestion des accès à la ressource: opérations CRUDT (Create, Read, Update, Delete, Template),
    • serp:stcResCode="GC1TRAACO".
      Cet attribut permet d'indiquer le code de la structure Safe X3 qui prend en charge la ressource,
    • serp:stcClobMaxSize="12".
      Cet attribut permet d'indiquer la taille maximum du clob permettant de gérer l'échange des données entre le serveur Safe X3 et le composant "Safe X3 Java Bridge Server".
       
  • Balise complexTypeavec un attribut namede la forme xxxx--list.
    Cette balise appartient au standard SData et décrit la l'accès à une collection d'une ressource.
    Sur ce tag, les attributs spécifiques Safe X3 peuvent être ajoutés :
    • serp:trtCode="STRGCTTRAACO".
      Cet attribut permet d'indiquer le code du traitement Safe X3 qui prend en charge la gestion de l'accès à la collection (Query),
    • serp:stcColCode="GCTTRAACO".
      Cet attribut permet d'indiquer le code de la structure Safe X3 qui prend en charge la collection d'une ressource,
    • serp:stcClobMaxSize="12".
      Cet attribut permet d'indiquer la taille maximum du clob permettant de gérer l'échange des données entre le serveur Safe X3 et le composant "Safe X3 Java Bridge Server",
    • serp:maxQueryEntries="50".
      Cet attribut permet d'indiquer le nombre maximum de ressources retournées par une interrogation.
      Cette limite permet d'éviter de trop solliciter le serveur. Le client pourra accéder aux données suivantes par pagination ou en affinant ces critères de recherche,
    • serp:linkingQueryEntries="1000".
      Cet attribut permet d'indiquer le nombre maximum de ressources retournées par le programme de linking,
      Cet attribut est utilisé uniquement dans le cadre interne de mise en oeuvre de la fonction de linking.
       
  • Balise elementcontenue dans une balise complexType.
    Cette balise appartient au standard SData et permet de définir les informations appartenant à une ressource SData.
    Chaque élément peut être un élément final (rubrique) ou un élément concernant d'autres ressources (relationship de type reference, children, association).
    • Gestion des interrogations - Filtre.
      Il est possible dans une interrogations d'utiliser les elements signalés par l'attribut canFilter="true".  
      • Cas des relations reference ou association
        Le filtre ne peut porter que sur une seule rubrique de la ressource pour des raisons techniques.

        Exemple : dans le contrat CRM : La structure GC1TRAACO contient le champ BPCINV lié à la ressource invoiceTradingAccount qui a une relation de type reference.

        Dans ce cas, le contrat comporte :
          • dans la description de la ressource principale et sur l'élément décrivant la relation , l'attribut serp:filter="byReference".
            Cet attribut indique la restriction d'utilisation de la ressource incluse dans une interrogation (Nota : à titre d'information uniquement),
          • dans la description de la ressource lié et sur l'élément unique,  l'attribut. serp:reference="true".
            Cet attribut indique la rubrique utilisable pour une interrogation portant sur cette ressource incluse.
    • Gestion des interrogations - Collection obtenues à partir d'une propriété.
      Elles sont à utiliser  lorsque le nombre de données est inconnue et nécessite d'avoir les mécanismes de pagination d'un query classique.
      Ces interrogations sont possibles si l'attribut  canGet="true" est positionné sur l'élément possédant la relation de type association.

      Cela est le cas pour les commandes d'un client : 
         /tradingAccount('DIS001')/salesOrders.
      SEEINFO Il est aussi possible d'obtenir ce résultat à l'aide d'un query classique
         /salesOrders=where tradingAccount.refrerence eq 'DIS001.

      Exemple:La structure GC1TRAACO contient le champ QCTORDER lié à la ressource salesOrders qui a une relation de type association.
      SEEINFO Dans la structure applicative, les champs dans ce cas utilisent le code structure ASDCOLBV1.

      Au niveau contrat, il faut indiquer sur l'élément décrivant la relation association le traitement et le sous-programme chargés de traiter ces demandes:
          • serp:trtQueryProperty - traitement,
          • serp:spgQueryProperty -sous-programme.
  • Balise enumeration.
    • serp:value="99"
      Cet attribut permet de faire une correspondance automatique entre la valeur de l'énunération SData (une chaine de caractère) et la valeur utilisée dans le cadre de Safe X3 (numéro de ligne du menu local gérant l'énumération).

 

Etats

Par défaut, les états suivants sont associés à la fonction :

 PRTSCR : Impression écran

Mais ceci peut être modifié par paramétrage.

Boutons spécifiques

Grace au bouton [Copie], il est possible de dupliquer un contrat et de le personnaliser.

Messages d'erreur

Il n'y a pas de message d'erreur autre que les messages d'erreur génériques.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre