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,…
Gestion des erreurs
Exemple de traitement d’un état : GTTMDHBPREV / DHB_Prev_PrevisionsVente_Erreur
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
Contrôles de base : dossier connu
Lecture du fichier pivot
Contrôle spécifique au type de dataset ‘PDPREV’ : présence et validité de l’horizon
Boucle sur des données spécifique au type de dataset ‘PDPREV’
Appel, en cas d’erreur à DHB_Trace_Ecrire qui va écrire dans le fichier de trace
Détermination du retour O ou N
Appel à Dhb_Message_Enregistrer pour une trace d’erreur enregistrée au niveau du dataset pour une affichage direct dans le superviseur
Appel à DHB_Trace_Finir pour fermer le fichier et mémoriser le chemin pour une association automatique au DHBENT