Sommaire
Table of Contents |
---|
1. Introduction
Dans le langage EDI, un document commercial tel qu’un bon de commande, une facture ou un avis préalable à l’expédition constitue un « message ».
...
La description de la structure des messages (Segments),
Le mappage des données sources et destinations (Eléments de données),
Les traitements SQL à exécuter avant ou après le traitement du fichier informatique pour mettre à jour ou filtrer les données avant la tâche d’intégration ou d’émission,
La mise en place de contrôles spécifiques personnalisés bloquants ou non dont la trace sera visible dans le rapport de fin des traitements.
2. L’application
Le mode Liste présente l’ensemble des messages configurés dans Silog avec le type de message, « I » pour intégration et « E » pour émission, puis une description.
...
Le mode Page présente le détail d’un message.
...
2.1. L’onglet Général
Masque des clés
Code Message : Saisir un code message. Saisir le nom du message EDI, exemple ORDRERS, DESADEV…
L’onglet « Général ».
Type de Message : Sélectionner le type de message EDI concerné, « Intégration » ou « Emission ».
Type de fichier : Sélectionner le type de fichier concerné parmi les choix suivants : « CSV », « FIXE », « XML » ou « XLS ».
Entête XML XML : Si le fichier émis est un fichier au format XML, il est possible de saisir dans cette zone une ligne à insérer au début du fichier, comme par exemple la version de XML :
Description Description : Saisir une description pour le message.
Séparateur de champ : Saisir le caractère séparateur de champ.
Marqueur début de ligne : Si un marqueur de début de ligne est présent dans le message, saisir ce marqueur.
Marqueur fin de ligne : Si un marqueur de fin de ligne est présent dans le message, saisir ce marqueur.
Format « Dates » :
Format entrée des dates : Saisir le format de date contenu dans le message à intégrer (exemple : JJ/MM/AAAA, JJ/MM/AA…).
Format de sortie des dates : Saisir le format de date attendu en emission ou en intégration (exemple : JJ/MM/AAAA, JJ/MM/AA…).
Format Numérique » :
Séparateur millier : Saisir le séparateur de millier si nécessaire.
Séparateur décimal : Saisir le séparateur de décimal, si cette zone n’est pas renseignée, les paramètres systèmes sont utilisés.
Coefficient Coefficient : Si les numériques doivent subir une conversion, saisir le coefficient dans cette zone.
...
Code Block |
---|
Format Résultat #####.## "1234.57" 00000.00 "01234.57" ##### "1235" # ###,00 "1 234,57" Vide "1234.567" |
Le Le zéro permet de forcer l’affichage de zéros non significatifs.
...
Par défaut, le nom du fichier en émission est structuré de la façon suivante.
Code Block |
---|
CodeMessage+DateSysteme+’.’+TypeFichier ce qui se traduit en langage SQL par : |
...
EDI_MESSAGEE.CodeMessage+'_'+dbo.to_char(getdate(),'yyyymmddhhnnss')+'.'+EDI_MESSAGEE.TypeFichier |
Requête présélection (Emission seulement) :
...
Le listage de présélection suivant sera présenté lors de l’exécution de la tâche manuellement. Le résultat de la sélection est enregistré dans une table de sélection dont le nom est dans le Tag #TABLE_SELECTION.
...
2.2. L’onglet « Structure ».
C’est dans cet onglet que la structure du message doit être déclarée.
...
2.2.1. Les blocs SQL
Le traitement d’un message EDI est effectué en plusieurs étapes, chaque étape est basée sur une table de données spécifique. Des points d’entrées permettent d’intervenir sur le contenu de ces différentes tables, il s’agit de blocs de champs textes saisissables en langage SQL.
...
Ils sont de différents types :
1 : Blocs sql avant permet d’alimenter toutes les tables segments (uniquement pour les messages d’intégration).
2 : Bloc sql avant (d’alimenter les tables de données).3 : Bloc sql après (après s’exécute aprés avoir alimenté les tables de données).
4 3 : Condition segment (en émission seulement) pour mettre une condition d’alimentation du segment en cours.
5 4 : « Where « Where table source » source » ou « Where « Where table Silog » Silog » pour appliquer un filtre sur les données à traiter.
...
Sql avant table segment : #TABLE_SOURCE
Sql avant message : #TABLE_SOURCE
Sql après message : #TABLE_SOURCE
2.2.1.2. Exemple 2 : Prenons l’exemple d’un message simple de type émission en CSV suivant
...
Les tags utilisables en émission :
Sql avant message : #TABLE_SELECTION et #TABLE_SOURCE
Sql après message : #TABLE_SELECTION et #TABLE_SOURCE
Sql avant segment : #TABLE_SELECTION et #TABLE_SOURCE
Sql après segment : #TABLE_SELECTION et #TABLE_SOURCE SOURCE
Info |
---|
Remarque : Il est possible d'utiliser des tables fixes plutôt que les table # dans les taches d’intégration mais ces tables doivent à minima contenir les champs suivants NoEnreg NUMERIC(19,0) IdEvent NUMERIC(19,0) Filename VARCHAR(500) Flag SMALLINT Suppression SMALLINT Lien VARCHAR(MAX) DesactiverAction SMALLINT Dans ce cas, seuls les champs ayant exactement le même nom que les tables standards seront mappées automatiquement. Pour les autres champs, il faudra utiliser les fonctions « e_MEC », « e_MEN ».... dans les fichiers évènements (voir chapitre « Les instructions permises dans les fichiers évènements : »). |
2.2.1.3. Bloc sql avant d’alimenter les tables « segment » (uniquement en intégration)
Lorsque la tâche d’intégration est exécutée, le fichier en entrée est inséré dans une table temporaire pour permettre d’être manipulé en langage SQL.
...
Ce qui permet de nettoyer la table source avant qu’elle ne soit traitée pour alimenter les tables segments.
...
2.2.1.4. Bloc sql avant (Intégration et émission)
Avant de saisir des données dans ce bloc, il est important d’avoir défini la structure des segments du message.
...
Dans l’exemple ci-dessous, la variable ‘@DateMessage’ prend la valeur de la date système, cette valeur est utilisée dans certains champs dates du segment pour initialiser une valeur par défaut lorsque cette date n’est pas renseignée.
2.2.1.5. Bloc sql après (Intégration et Emission)
Chaque segment contient le mappage des données avec les tables Silog (voir : structure des segments du message).
Avant d’intégrer les données en mode Macro ou d’exporter les données (émission), le système va créer des tables temporaires de même structure que les tables de destination Silog en intégration ou de même structure que le fichier exporté en émission (#TABLE_SOURCE). Chacune de ces tables contient les données.
Ce Ce bloc SQL permet d’exécuter un traitement SQL après avoir alimenté la table source du ficher en émission ou la table de donnée source de la macro en intégration. Il peut être utilisé pour mettre à jour les données des tables de données avant émission ou intégration.
...
En émission, le TAG permettant d’obtenir le nom de la table source du fichier est #TABLE_SOURCE.
Exemple :
...
2.2.2. Segments du message
22.2.1. Introduction
Cette partie permet de décrire la structure du message en segments. Cette description est arborescente, elle est multi-niveau. A l’issue de cette description, une table par segment sera automatiquement créée.
...
La colonne 1 contient la donnée qui permet d’identifier le segment.
« ART » « ART » pour les données « Article ».
« FAM » « FAM » pour les données « Famille ».
...
Pour cet exemple, le fichier émis est de ce type :
...
22.2.2. Création/Modification/Duplication et consultation des segments
La création de l’arborescence est effectuée à l’aide du menu contextuel en mode création ou modification.
...
Consulter le détail du segment : Pour consulter le détail du segment sélectionné.
...
Ligne en rouge rouge : Si l’alias du segment n’est pas unique
Ligne en orange orange : Si un bloc SQL avant ou après existe pour le segment.
Ligne en gras gras : Si un champ du segment est une clé.
...
Il faut sélectionner les champs a importer et valider. Les champs sélectionnés sont associés au segment :
...
22.2.3. Champs du segment
La description des champs appartenant à un segment s’effectue dans la partie « Champs du segment ». Il faut être en mode « Création ou Modification ».
Cette description permet d’affecter chaque élément de données du fichier source (séparé par un caractère séparateur déclaré dans la description) au segment en cours dans le but de créer les tables segments. Il est donc important de saisir les champs dans l’ordre où ils apparaissent dans le fichier d’intégration ou dans l’ordre où ils apparaitront dans le fichier en émission, la séquence doit être respectée.
22.2.3.1. Les champschamps
...
Le menu contextuel permet d’insérer, de modifier ou de supprimer des champs dans le segment sélectionné.
Emission Emission CSV :
...
Intégration CSV :
...
Emission Fixe :
...
Il suffit de sélectionner le champ concerné, pour que la variable associée soit insérée :
Exemple :
...
22.2.3.2. La légende
...
Ligne en rouge : Longueur fixe non définie.
...
Ligne en gras : Le champ est une clé.
22.2.4. Champs bloqués du segment :
Ces zones sont les champs supplémentaires des tables nécessaires aux traitements. Il ne s’agit pas de zones appartenant au message EDI.
...
22.2.4.1. Les champs
NoEnreg : Numéro de l’enregistrement
IdEvent IdEvent : Numéro de l’événement d’intégration ou d’émission.
Filname Filname : Non du fichier source
Flag Flag : Zone non gérée.
Aucun ajout ou suppression n’est autorisé. Seule la modification ou la consultation est permise.
...
Modifier ces zones si les tables de données ne sont pas les tables gérées par le traitement en standard.
Exemple :
...
22.2.4.2. La légende
...
Ligne en rouge : Longueur fixe non définie.
...
Ligne en gras : Le champ est une clé.
2.3. L’onglet « Contrôle».
Cet onglet permet de lister les contrôles de données personnalisés mis en place.
...
Pour ne pas lancer le traitement d’intégration des commandes si un code article n’existe pas dans la base de données.
...
2.4. L’onglet « Recherche ».
Cet onglet permet de rechercher du texte ou une partie de texte dans tous les éléments du message.
...
Contrôles : Dans les contrôles.
2.5. Les traitements
...
2.5.1. Initialiser la structure :
Cette option permet d’initialiser la structure du message EDI en cours à partir d’un fichier de paramétrage d’extension «.ini » de l’ancienne version de l’EDI Silog.
...
Remarque : Le fichier doit être présent sur le serveur SQL.
...
Valider.
2.5.2. Tester la structure :
Ce traitement permet de repérer les anomalies du message.
...
Le message indique une erreur SQL concernant une syntaxe incorrecte « client2 ».
L’onglet L’onglet « Recherche » permet de trouver toutes les itérations concernées par l’erreur.
Dans Dans l’exemple, la source de l’erreur se trouve dans le bloc SQL avant du message.
...
2.5.3. Publier un message
Ce traitement permet de générer un fichier XML contenant la structure du message. Le but de cette action est de permettre d’installer la structure du message sur une autre base de données de l’ERP.
...
Le fichier généré se trouve dans le répertoire « EDI_CONFIG\SetUp\MESSAGE » de l’ERP Silog. Il porte le nom du message.
Exemple :
...
2.5.4. Installer un message
Ce traitement permet d’installer un message qui a été publié dans un fichier XML par le traitement précédent.
La fenêtre suivante permet de saisir le code du nouveau message ainsi que le chemin et le nom du fichier XML.
...
Valider.
...