Skip to main content

Transformation EDI

Traitement

Le module EDI est destiné avant tout à faire de l'échange informatisés avec d'autre système via l'intermédiaire d'un FTP ou d'un SFTP: récupérer des commandes d'un client, lui envoyer la liste des numéros de séries de chaque livraison.  

Le module EDI d'Open-Prod offre aussi des possibilités plus poussées encore avec des méthodes qui permettront de générer des fichiers excel ou csv, d'envoyer des mails avec des pièces jointes extraites d'Open-Prod, de déposer des fichiers sur des serveurs FTP distant pour communiquer avec d'autres ERP, d'agir sur des enregistrements existant via des méthodes du code source, de créer des enregistrements comme des nouvelles commandes, ... 

Les EDI se gèrent à l'aide de traitements. Les traitements sont des suites de procédures qui vont permettre la réalisation des fichiers d'échanges ainsi que les échanges qui vont s'effectuer avec le FTP. Ils sont à créer dans le sous-menu Configuration > Transformation EDI > Transformation > Traitement. 

Il sera possible d'automatiser ces échanges grâce à des actions planifiées. 

 

 

 

Les Traitements 

Entête 

  • Nom : nom donné au traitement 

  • Catégorie : champ informatif pour catégoriser le traitement. Permet d'effectuer des filtres et de les retrouver facilement. 

Une image contenant texte

Description générée automatiquement

  • Mail erreur : si la case est cochée, un mail sera envoyé en cas d'erreur 

  • Société : société qui réalise l'échange. Par défaut c'est la société de la base. 

  • Séquence : ordre dans lequel les traitements s'effectueront 

  • En cours : si la case est cochée, le traitement est en train de se réaliser. Permet de vérifier s'il n'y a pas de problème. Par exemple, si le traitement ne s'est pas terminé à cause d'une coupure du serveur. 

Onglet Procédures 

Présente la liste ordonnée des procédures à exécuter lors du traitement. Exemple : Générer un fichier excel > l'envoyer par mail.  

Onglet Crons 

Affiche la liste des actions planifiées qui exécuteront le traitement. Il faut souvent la créer ou en utiliser une existante. Exemple : Envoyer un fichier excel par mail une fois par mois. 

Onglet Ajouter action 

Cet onglet définit l'action à réaliser et une fois crée, elle est ajoutée aux actions de la table dont les données dont à échanger. Il sera donc possible d'effectuer l'échange de donnée sur certains enregistrements en particulier ou au bon vouloir de l'utilisateur. Il contient les champs suivants: 

  • Modèle de l’objet : table à laquelle l'action sera rattachée 

  • Lancer une fois pour tous les IDS: si la case est cochée, l'action sera effectuée pour l'ensemble des éléments définis dans les procédures. L'action effectuera la même procédure qu'un cron. 

Le champ %object_ids est renseigné si la case "Lancer une fois pour tous les IDs" est cochée. Sinon, c'est le champ %object_id qui est fourni. 

  • Act serveur : nom de l'action créée. Il se remplit automatiquement lorsque l'action Ajouter action sur la droite est effectuée. Vous retrouverez cette action dans les actions-serveurs. 

  • Télécharger directement : Si cette case est cochée, alors lors de l’execution EDI, le dernier fichier du traitement sera téléchargé sur la session de l’utilisateur en cours. 

Les Actions

Plusieurs actions sont présentes à droite de la vue : 

  • Aller à la liste des procédures : permet d'afficher la liste des procédures enregistrées dans l'onglet Procédures. 

  • Tout exécuter : permet de lancer le traitement manuellement depuis le formulaire. 

  • Ajouter action : crée l'action définie dans l'onglet Ajouter action 

Procédure

Les traitements des EDI sont un enchaînement de procédures. Le formulaire se compose d'un entête et de quatre onglets: Action, Domaine, Vérification, Administration. Toutes les procédures des traitements sont listées dans le menu Configuration > Transformation EDI > Transformation/Procédure ou directement depuis le traitement. Pour pouvoir être utilisée dans un traitement et exécutée, il faut que la procédure soit active (faire évoluer le workflow à gauche de l'écran). 

Entête 

Il comprend les champs suivants: 

  • Nom: nom de la procédure. 

  • Séquence: ordre dans lequel elle va se réaliser. 

  • Traitement: traitement auquel elle est rattachée. 

  • Action type: Type de l'action réalisée par la procédure.  

  • SQL: action réalisée à partir d'une requête SQL (extration de données, mise à jour de données, ...). L'onglet « Action » permet alors de configurer la requête à exécuter. 
  • Méthode: l'onglet « Méthode » est alors visible. Le champ Méthode de cet onglet permet de choisir des méthodes code dans le code source : Vider la liste de fichier, SQL vers CSV, ... Les méthodes sont expliquées en bas de page.

Onglet Action 

Visible que si le type de l'action est SQL. Il permet d'effectuer des actions sur les données directement dans la base. Par exemple mettre à jour des données à intervalle régulier.  

Le premier cadre permet d'écrire ou copier la requête SQL. Le deuxième cadre se remplira avec le résultat de la requête après l'exécution. Le champ Formater le résultat permet de présenter le résultat de manière plus lisible. Il est coché par défaut. 

Onglet Domaine 

Visible que si le type de l'action est SQL. Il permet d'effectuer des filtres sur les données de la requête de l'onglet Action. Il ne faut pas oublier dans la requête de l'action d'ajouter le domaine comme indiquer dans l'aide de la syntaxe au dessus du cadre. 

Le premier cadre permet d'écrire ou copier la requête SQL. Le deuxième cadre se remplira avec le résultat de la requête après l'exécution.  

Onglet Vérification 

Visible que si le type de l'action est SQL. Il permet d'effectuer une vérification sur la requête de l'onglet action. C'est une requête booléenne qui renvoie True ou False. Si le résultat est False il remet à zéro les données comme si la requête n'avait pas été effectuée. 

Le premier cadre permet d'écrire ou copier la requête SQL. Le deuxième cadre se remplira avec le résultat de la requête après l'exécution. Le champ Formater le résultat permet de présenter le résultat de manière plus lisible. Elle est cochée par défaut. 

Onglet Administration 

Il contient les champs suivants : 

  • Date de dernière exécution (Début) : date à laquelle la première requête a été exécutée. 

  • Dernière date : date à laquelle l'exécution s'est terminée. 

  • Vérification : État de l'exécution de la requête de vérification : 

  • Brouillon : la requête n'a pas été exécuté. 

  • Terminé : la requête a été exécutée et il n'y a pas eu d'erreur. 

  • Erreur : la requête de vérification n'a pas été vérifiée. 

  •  


Une image contenant texte

Description générée automatiquement

Les actions

Sur la droite plusieurs actions sont possibles : 

  • Tout exécuter : permet d'exécuter l'ensemble des requêtes des trois onglets.  

  • Exécuter action : permet d'exécuter seulement la requête de l'onglet action. Visible que si le type de l'action est SQL. 

  • Exécuter domaine : permet d'exécuter seulement la requête de l'onglet domaine. Visible que si le type de l'action est SQL. 

  • Exécuter vérification : permet d'exécuter seulement la requête de l'onglet vérification. Visible que si le type de l'action est SQL. 

Onglet Méthode 

Visible seulement si le type de l'action est Méthode. Dans ce cas, il faut sélectionner l'action souhaitée dans la méthode ; la liste en dessous s'adaptera pour le paramétrage de la méthode. Les méthodes suivantes sont disponibles : 

  • Vider la liste des fichiers : Lorsque l'EDI récupère des fichiers pour faire des transferts il les garde en mémoire. Cette méthode permet de les effacer de la mémoire. 

  • SQL vers CSV : Cette méthode va permettre d'exporter dans un fichier CSV le résultat de la requête SQL indiquée. Exporter dans un csv des écritures comptables pour les transférer dans une logiciel comptable.  

  • Import CSV : Permet d'exporter l'ensemble des éléments d'une table dans un fichier CSV. Exemple : Importer un fichier de commande d'un client 

  • Exécuter méthode : Exécute la méthode indiquée. Par exemple, do_something. Ce sont des méthodes du code source.  

  • SQL vers Jasper : Cette méthode va permettre d'exporter dans un fichier Jasper le résultat de la requête SQL indiquée. Exemple : Imprimer les bons de livraisons en attente des clients  

  • Envoyer des fichiers : Permet d'envoyer des fichiers dans le FTP. Exemple : Déposer des fichiers csv ou pdf sur un serveur distant. 

  • SQL vers TXT : Cette méthode va permettre d'exporter dans un fichier texte le résultat de la requête SQL indiquée. 

  • Import texte (largeur fixe) : Permet d'exporter une table en se basant sur un fichier au format txt et donc les colonnes sont délimitées en largeur fixes. Import des ecritures d'un système comptables comme Quadra. 

  • Envoyer un mail : Permet d'envoyer un mail en se basant sur un modèle de mail prédéfini. 
    Lors de l'envoi de mail, l'EDI doit passer une id au modèle de mail sur l'objet paramétré dans le modèle. Sans cette id, la génération du lieu n'aura pas lieu (message d'erreur). Exemple : si le modèle de mail est sur l"objet partenaire, il faudra passer l'id d'un partenaire existant pour que le mail soit généré. Ce partenaire sera propagé comme enregistrement lié dans le mail. 

  • SQL vers XLS : Cette méthode va permettre d'exporter dans un fichier excel le résultat de la requête SQL indiquée. Cette méthode nécessite un fichier excel modèle, champ Template dans la configuration de la procédure, (avec par exemple le nom de colonne déjà renseigné) à déposer sur le serveur, champ Template name. 
    Le template doit être renseigné avec son chemin absolu. Le plus simple est de retrouver le fichier en terminal puis de lancer une commande pwd pour obtenir le chemin complet. Exemple de chemin : /home/openprod/filestore/share/openprod/documents/openprod1/Root. 
    Le template doit nécessairement être au format XLS pour que cette méthode fonctionne. 

  • SQL vers XLSX : Fonctionne de manière similaire à la méthode SQL vers XLS mais exporte et prend un template au format XLSX. 

  • Fichier Zip : Permet de transformer le fichier sélectionné en fichier zip dans le but de l'exporter ensuite sur un serveur distant. 

  • Sauvegarde BDD : Permet d'envoyer le zip de la base de données vers un serveur. Peut faciliter les sauvegardes régulières et automatique de la base de données et du filestore. 

  • Récupération document Openprod : Permet de récupérer des ir_attachements (utilisé, entre autres, pour les exports vers des logiciels comptables). 

  • XML vers objet Openprod : Permet d'importer via import XML. 

  • SQL/EDI vers Action serveur : Permet d'appeler une action serveur en paramètre par son id. 

  • XLSX vers objet Openprod : Permet d'importer via import XLSX. 

  • Calculer les KPI : Permet de mettre à jour les KPI. 

  • Analyses des performance 

Récupération de fichier

Pour pouvoir faire les échanges de fichier, il faut paramétrer le(s) serveur(s) sur le(s)quel(s) Open-Prod doit récupérer les fichiers. Il faut configurer l'envoi comme la récupération. Cette dernière se fait dans le sous-menu Configuration > Communications > Transformation EDI > Transformation > Récupération de fichier. Le formulaire se compose d'un entête et de deux onglets : Informations, Crons. 

Entête 

Il se compose des champs suivants 

  • Nom : nom du serveur 

  • Actif : si la case est cochée, les échanges se feront à partir de ce serveur. 

  • En cours : la case se coche automatiquement lorsque l'échange est en cours. Elle permet de contrôler si une erreur ou un problème est survenu. 


Une image contenant texte

Description générée automatiquement

Onglet Informations 

Il contient deux cadres : Configuration et Exécution. Le premier cadre contient les champs suivants : 

  • Hôte FTP : adresse IP du serveur sur lequel le FTP se trouve. 

  • Port FTP : port utilisé pour l'adresse l'IP définie au-dessus 

  • Utilisateur FTP : nom de l'utilisateur avec lequel on se connecte. 

  • Mot de passe FTP : mot de passe de l'utilisateur avec lequel on se connecte. 

  • Dossier FTP : chemin du dossier dans lequel on vient récupérer les fichiers 

  • Archivage FTP : indique ce qui va être fait avec le fichier une fois qu'il est récupéré, "supprimer" supprimera le fichier lors du prochain traitement, "archiver" l'archivera sur le FTP dans un dossier différent. 

  • Archive FTP : chemin pour archiver les fichiers récupérés, n'est disponible que si l'archivage FTP est à "archiver". 

  • Filtrer : clé de filtrage pour ne récupérer qu'un certain type de fichier. Par exemple *.csv 

  • Exécution automatique : si la case est cochée, la récupération de fichier suivant une méthode se fera automatiquement à l'aide d'un cron. 

  • Traitement : s'affiche seulement si la case Exécuter automatiquement est cochée. Permet de sélectionner le traitement d'EDI à exécuter pour récupérer les fichiers. 

  • Ignorer les fichiers manquant : si la case est cochée, les fichiers ne pouvant pas être récupérés seront ignorés. 

  • Modèle de mail : visible que si le champ Ignorer les fichiers manquant n'est pas coché. Modèle du mail qui sera envoyé en cas d'erreur. 

Le cadre Exécution se complète automatiquement à partir de l'action Exécuter sur la droite. Elle permet d'effectuer la récupération des fichiers paramétrée. Le champ Date dernière exécution se complète avec la date à laquelle l'action est sélectionnée. Le cadre en dessous permet d'afficher si une erreur a été rencontrée. 

Onglet Crons 

Il liste l'action planifiée qui permettra la récupération des fichiers automatiquement à intervalle de temps régulier. Dans le cas de la récupération des fichiers, c'est la connexion au serveur qui est paramétrée automatiquement et pas l'exécution du traitement. 

Le workflow de la récupération de fichier évolue à partir de l'exécution de celle-ci. Il possède trois états : Brouillon (création du paramétrage), Erreur (une erreur est survenue pendant l'exécution), Terminé (exécution terminée avec succès). 

Processus 

Le flux de récupération de fichier se fera en 2 étapes : 

Une première étape de traitement des anciens fichiers : le système va regarder tous les EDI files dont l'état distant est à "À supprimer" ou "À archiver" et, en fonction de la valeur, va faire la tâche associée sur les fichiers dans le dossier FTP portant le même nom. 

L'import des fichiers : une fois les anciens fichiers traités le système va importer tous les fichiers présents dans le dossier FTP et créer les EDI files correspondants. 

Envoi de fichier

Tout comme la récupération de fichier, il est possible de paramétrer le(s) serveur(s) sur le(s)quel(s) envoyer des fichiers. Ces envois sont réalisés à partir des traitements paramétrés dans le menu Traitement. Ce serveur se paramètre dans le sous-menu  

Configuration/Communications/Transformation EDI/ Transformation/Envoi de fichier. Le formulaire se compose d'un entête et d'un onglet Informations. 

Entête 

Il contient les champs suivants : 

  • Nom : nom donné au paramétrage du serveur 

  • Actif : si la case est cochée, ce sera le serveur sur lequel les fichiers seront envoyés. 

Onglet Informations 

Il contient deux cadres : Configuration et Exécution. Le premier cadre contient les champs suivants : 

  • Hôte FTP : adresse IP du serveur sur lequel les fichiers seront envoyés. 

  • Utilisateur FTP : nom de l'utilisateur avec lequel on se connecte sur le serveur. 

  • Mot de passe FTP : mot de passe de l'utilisateur avec lequel on se connecte sur le serveur. 

  • Dossier FTP : chemin du dossier vers lequel les fichiers sont envoyés. 

Le cadre Exécution se remplit automatiquement lors de l'exécution du traitement. La Date dernière exécution se met à jour avec la date à laquelle le traitement sera effectué. Le cadre en dessous affiche si l'envoi à rencontrer une erreur. 

Le workflow de l'envoi évolue au fur et à mesure des exécutions des traitements. Il possède deux états : Brouillon (création du paramétrage) et Terminé (exécution réalisée avec succès). 

EDI file et historique EDI

Le menu Configuration > Communications > Transformation EDI > Transformation > EDI file affiche la liste de l'ensemble des fichiers échangés. Cette liste se met à jour automatiquement au fur et à mesure des échanges. 

Elle présente les champs suivants : 

  • Nom : nom du fichier 

  • Source : origine du fichier 

  • Type : manière de création du fichier. Envoi ou récupération. 

  • Traitement : nom du traitement qui a permis l'échange de fichier. 

  • Date du fichier : date de création du fichier. 

  • Date de téléchargement : date à laquelle le fichier a été échangé 

  • Date dernière exécution : date à laquelle le traitement a été exécuté pour générer le fichier. 

  • État : état de l'exécution du traitement lié au fichier. 

  • État distant : permet d'indiquer au prochain traitement quoi faire avec le fichier. Si l'état est "à supprimer" ou "à archiver" alors le traitement supprimera ou archivera le fichier. Si l'état est "archivé" ou "supprimé", le traitement ne fera rien. 

En cliquant que la ligne il est possible d'obtenir la raison de l'erreur dans le cas échéant dans le cadre Exécution. Il est possible de d'exécuter manuellement le traitement à partir de l'action Exécuter sur la droite de la vue formulaire du fichier. 

Une image contenant texte

Description générée automatiquement

Le sous-menu Configuration/Transformation EDI/Transformation/Historique EDI permet de vérifier l'ensemble des traitements exécutés dans la base. La vue liste présente les champs suivants : 

  • Traitement : nom du traitement exécuté 

  • Objet modèle : nom de la table sur laquelle porte le traitement 

  • Objet ID : ID de la table sur laquelle porte le traitement 

  • Date de début : date à laquelle le traitement a commencé 

  • Date de fin : date à laquelle s'est terminé le traitement 

  • Vérification : état de la vérification (Brouillon, Erreur, Terminé).

Configuration

Pour sécuriser les actions SQL sur les données de la base des autorisations d'actions doivent être paramétrées. Ces actions permettront de bloquer certains traitements si ceux-ci ne sont pas autorisés. Ces paramètres se font dans le sous-menu Configuration > Communications > Transformation EDI > Configuration > Autorisation. Le formulaire se compose d'un entête et de deux cadres : Autorisations, Application. 

Entête 

  • Nom : nom de l'autorisation 

  • Actif : si la case est cochée, l'autorisation (ou le blocage) sera appliquée. 

Une image contenant texte

Description générée automatiquement

Cadre Autorisation 

Le champ type permet de venir sélectionner l'action SQL autorisée : Utpdate, Insert into, Delete from. 

La liste en-dessous contient la liste des tables sur lesquelles les actions sont autorisées. Ces tables sont à indiquer manuellement à partir de leur nom technique.  

 La syntaxe des tables est celle du SQL. Exemple : sale_order 

Cadre Application 

Il contient la liste des traitements pour lesquels l'autorisation s'applique. 

 Il faut créer autant d'autorisation que d'actions à contrôler.