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. 10) 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,…

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

  • Aucune étiquette