Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/PAI/pages/241658455/Technique+et+surcharge+Datahub) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 14) afficher la version suivante »

MONTEE DE VERSION / MIGRATION

Lors d’une montée de version, l’ERP fourni un script SQL de migration qui est susceptible de créer ou modifier les états de l'automate Datahub pour un type de Dataset existant ou pour ajouter un nouveau type de Dataset.

Ce script agit donc au niveau du paramétrage des états de l’automate.

Version

Type de dataset

7.5

Facture fournisseur

10.2

Facture fournisseur, Prévisions de vente et niveau de stock, Temps d’affaire

10.4

Import-export xml

10.5

Pièce commerciale, Devis travaux, Pré-réception fournisseur

10.6

Interventions, Ecritures comptables

SURCHARGE ETAT AUTOMATE

Généralités

Le paramétrage des états de l’automate donne pour chaque état un nom de module et de fonction Diva, exécutée par l’automate lors du passage de cet état.

Exemple pour le dataset de facture fournisseur:

C’est donc dans ce zoom que l’on va trouver tous les modules et fonctions Diva qui entrent dans le traitement du datahub.

La fonction principale, point d’entrée unique, est sur l'état 100 (module gttmdhb000.dhop fonction Traiter_PivotInitial_FicXml) et joue un rôle majeur puisqu’elle va:

  • vérifier la structure XML en terme de cohérence de balises

  • rechercher le type de dataset, et déterminer la nature des fichiers joints ainsi que le code chemin pour le stockage des fichiers

  • lire les champs principaux, comme la source, le système, le dossier, l'établissement

  • parcourir, vérifier et déplacer les fichiers compagnons

  • détecter et traiter les pivot en complétion

  • selon le type de dataset, lire les champs spécifiques à chaque dataset et les mémoriser

  • tracer les anomalies

  • enregistrer un DHBENT numéroté dans la base de données

  • cette fonction retourne 0 ou 1, le 0 donnant un résultat VRAI

Toutes les autres fonctions sont écrites de manière à retourner VRAI (retour = ‘O') ou FAUX (retour = ‘N’) et indiquer à l’automate le prochain état à exécuter.

Ces fonctions effectuent des tâches qui doivent rester simples, et de manière totalement autonome c’est à dire qu’un fonction ne peut pas supposer que l'état précédent ait été exécuté juste avant. Une fonction qui doit lire le contenu XML d’un fichier compagnon par exemple, devra obligatoirement lire totalement le fichier XML sans utiliser un éventuel cache ou liste garni par une autre fonction.

Les modules sont regroupées par groupes fonctionnels, intégrant généralement les lettre ‘dhb’. On trouve donc GTTMDHB000, GTTMDHBPCE, GATMDHBTPS, A5TMDHBIMPDTR,…

Le champ de l’entête .DHBEtatRef sert pour les critères de regroupement dans le superviseurs.

Gestion des erreurs

Exemple de traitement d’un état : GTTMDHBPREV / DHB_Prev_PrevisionsVente_Erreur

  1. En début de fonction, appel a DHB_Trace_Activer_Fic qui va indiquer que l’on souhaite une sortie d’erreur par fichier en plus de la sortie normale

  2. Contrôles de base : dossier connu

  3. Lecture du fichier pivot

  4. Contrôle spécifique au type de dataset ‘PDPREV’ : présence et validité de l’horizon

  5. Boucle sur des données spécifique au type de dataset ‘PDPREV’

  6. Appel, en cas d’erreur à DHB_Trace_Ecrire qui va écrire dans le fichier de trace

  7. Détermination du retour O ou N

  8. Appel à Dhb_Message_Enregistrer pour une trace d’erreur enregistrée au niveau du dataset pour une affichage direct dans le superviseur

  9. Appel à DHB_Trace_Finir pour fermer le fichier et mémoriser le chemin pour une association automatique au DHBENT

Re-injections

Plusieurs fonctions du module GTTMDHB000.dhop servent à fournir le numéro d'état pour la remise dans le circuit automatique data hub.

Par exemple DataHub_Etat_FacFou_Auto fournit le numéro d'état pour la remise dans le circuit auto des factures fournisseur dans le data hub

IMPORT/EXPORT XML

Ce sont les propriétés de l’objet métier associé à chaque table qui indique si la suppression est autorisée.

Exemple A5TMCHKMDIVALTO

On voit ici la propriété .SuppXmlFl qui est positionnée à OUI indiquant que pour cette table MDIVALTO la suppression est autorisée.

Par défaut (.SuppXmlFl non précisé) la suppression n’est pas autorisée

NUMERO DE TICKET

L'entête de dataset est dotée de la zone : Dhbent.SwTicketNo (numérotation automatique sur incrément de la table mSocNo) correspondant au numéro de ticket. Le numéro de ticket, lien entre un dataset et l'appel service web correspondant est visible dans le superviseur du datahub.

Pour permettre à l'appelant d'interroger l'avancement du traitement du dataset, le fichier pivot de demande (le fichier .DHUB), doit impérativement contenir les balises qui vont permettre de stocker le numéro de ticket.
La balise est : <SwTicketNo></SwTicketNo> sans contenu. La balise sera traitée à la volée pour y mettre le numéro de ticket obtenu par le demandeur, et ainsi permettre au datahub de stocker dans la table DHBENT ce numéro de ticket, qui est retourné en réponse à l’appel de service web.

La fonction Ecrire_DataSet_DhbEtat du module A5TMSWAGIL.dhs permet de modifier la construction de la réponse à une demande d'état de dataset lors de l’appel du service web d’interrogation d'état.

  • Aucune étiquette