Liens 

Objet et Domaine

Objet

SAGE Warehousing fournit de nombreux fichiers d’interface standards pour communiquer avec les applications externes. Ce document présente les différents modèles d’interface prédéfinis fournis dans le package standard de Warehousing et leur mise en oeuvre.

Ces  modèles sont entièrement paramétrables, tant sur les informations transmises que sur les conventions d’échanges. Nos clients sont ainsi entièrement autonomes sur la maîtrise des échanges avec le monde extérieur.

Domaine

Le vocable N3 (Niveau 3) désignera l'informatique centrale (gestion des achats, gestion commerciale, GPAO ...).

Le vocable N2 sera utilisé pour SAGE Warehousing.

Principe de mise à jour du stock N3

En entrée

Le stock N3 est mis à jour par le biais des interfaces :

  • Compte rendu de réception et / ou rangement

En sortie

Le stock N3 est mis à jour en émission par le biais des interfaces :

  • Compte-rendu de préparation et / ou expédition

Autres évènements

Le stock N3 peut être mis en phase (automatiquement ou manuellement) avec le stock N2 par le biais des interfaces :

  • Image du stock
  • Compte-rendu d'ajustements
  • Compte-rendu d'assemblage

Principe d'échange de données

On appelle interface, un protocole d’échange d’informations entre deux applications distinctes.

On distingue les interfaces en import et les interfaces en export. Les premières intègrent les données de N3 dans SAGE Warehousing, les secondes remontent des informations depuis SAGE Warehousing vers le N3.

Il existe 3 modes de fonctionnement pour les interfaces en import:

  • création : Ajout de données dans SAGE Warehousing
  • modification : Modification de données déjà existantes
  • suppression : Suppression de données déjà existantes

Principe

Les échanges entre le N3 et le N2 se font sous forme de fichiers plats selon le principe suivant :

Import : Warehousing traite les fichiers qui auront été préalablement déposés par N3 dans les dossiers (ou répertoires) définis pour chaque flux d’interface.

  • Etape 1 : Intégration du fichier dans une table de traitement : contrôle de cohérence technique.
  • Etape 2 : Intégration dans les tables vives de Warehousing : contrôle fonctionnel. Durant ces deux étapes, les fichiers sont sauvegardés dans des répertoires paramétrables.

Export : Warehousing met à disposition de N3 les fichiers dans les dossiers (ou répertoires) définis pour chaque flux d’interface; N3 ayant en charge la récupération de ces fichiers.

  • Etape 1 : A la validation intégrale d’une entrée, pour le compte-rendu de rangement, en fin de préparation d’un O.L, pour le compte-rendu de préparation, à la validation d’une expédition, pour le compte-rendu d’expédition, ou encore à la validation des mouvements d’ajustements,  les compte-rendus sont générés automatiquement dans un répertoire défini (paramétrable).
  • Etape 2 : extraction de la table et génération d‘un fichier à disposition du N3. Lors de l’étape 2, les fichiers émis sont sauvegardés dans un répertoire à paramétrer.

Répertoire

Les répertoires dans lesquels sont stockées les données interfacées sont entièrement paramétrables. Néanmoins, par défaut, ils sont définis de la manière suivante :

Dans le cadre des fichiers importés :

  • Répertoire(s) d’import
    Répertoire(s) où doivent être déposés les fichiers pour être traités par Warehousing.
    Un répertoire paramétrable (« IMP ») est défini par défaut pour l’ensemble des interfaces.
    Des répertoires dédiés peuvent être associés à chaque interface.
  • Répertoire de traitement des imports
    Répertoire où sont placés temporairement les fichiers d’imports en cours de traitement.
    Un unique répertoire paramétrable (« IMPTRT ») est défini pour l’ensemble des interfaces.
  • Répertoire d'erreurs import
    Répertoire des fichiers d'import ayant donné lieu à des erreurs de structure.
    Un unique répertoire paramétrable (« IMPERR ») est défini pour l’ensemble des interfaces.
  • Répertoire de destination import
    Répertoire de sauvegarde des fichiers d’import ayant été traité sans erreur de structure.
    Un unique répertoire paramétrable (« IMPBAK ») est défini pour l’ensemble des interfaces.

 Dans le cadre des fichiers exportés :

  • Répertoire(s) d’export
    Répertoire(s) où sont déposés les fichiers.
    Un répertoire paramétrable (« EXP ») est défini par défaut pour l’ensemble des interfaces.
    Des répertoires dédiés peuvent être associés à chaque interface.
  • Répertoire de traitement des exports
    Répertoire où sont placés temporairement les fichiers d’export en cours de constitution.
    Un unique répertoire paramétrable (« EXPTRT ») est défini pour l’ensemble des interfaces.
  • Répertoire de sauvegarde export
    Répertoire de sauvegarde des fichiers d’export générés. Un unique répertoire paramétrable ("EXPBAK") est défini pour l’ensemble des interfaces.

Paramètrage

Paramètres d'activation des interfaces en export

Quelque soit le flux d’interface, l’export peut être limité à certains couples (site, déposant).

  • Paramétrage interface : activation interface et fichier ; limitation site, déposant
  • Paramètre d’activation liée au modèle d’interface

Par ailleurs, les interfaces standards relatives aux EA et aux OL sont conditionnées par un paramètre "Transmission N3" du code mouvement.
Des conditions d’activation particulières peuvent être associées à certains flux; elles sont alors mentionnées pour les flux en question.

Paramétrage / Paramètres généraux / Valeurs paramètres

Le chapitre « INT » permet de configurer les interfaces pour tout le dossier ou pour un site en particulier. L’ensemble des paramètres est réparti en 3 groupes :
1. EXP Interface export

Code Paramètre

Paramètre

Définition

Valeurs par défaut

 INTXAJM

Ajustements

Permet d’indiquer une interface spécifique. Si vide on prend alors l’interface standard (XAJM)

 

 INTXBOM

Compte Rendu Assemblage

Permet d’indiquer une interface spécifique. Si vide on prend alors l’interface standard (XBOM)

 

 INTXCRR

Compte-rendu transport

Permet d’indiquer une interface spécifique. Si vide on prend alors l’interface standard (XCRR)

 

 INTXDLO

Compte-rendu de préparation

Permet d’indiquer une interface spécifique. Si vide on prend alors l’interface standard (XDLO)

 

 INTXEIN

Compte-rendu de réception

 Permet d’indiquer une interface spécifique. Si vide on prend alors l’interface standard (XEIN)

 

 INTXEND

Fin OL 

 Permet d'indiquer une interface spécifique. Si vide on prend alors l'interface standard (XEND)

 

 INTXINP

Compte-rendu de rangement

 Permet d’indiquer une interface spécifique. Si vide on prend alors l’interface standard (XINP)

 

 INTXINV

Préfacture

 Permet d’indiquer une interface spécifique. Si vide on prend alors l’interface standard (XINV)

 

 INTXISO

Image de stock

 Permet d’indiquer une interface spécifique. Si vide on prend alors l’interface standard (XISO)

 

 INTXSHP

Compte-rendu d’expédition

 Permet d’indiquer une interface spécifique. Si vide on prend alors l’interface standard (XSHP)

 

2. MIS Divers

Code Paramètre

Paramètre

Définition

Valeurs par défaut

DFTVALDOH1

Valeur par défaut DLVNAM(0)

Valeur par défaut de la raison sociale de l'adresse du client livré d'un OL

 

DFTVALDOH2

 Valeur par défaut DLVADD(0)

 Valeur par défaut de la 1er ligne d'adresse du client livré d'un OL

 

EXPFILMAX

Fichier export maximum (ko)

Taille maximale du fichier export

512

EXPSNGITL

Export mono lot

Si oui, alors on crée un fichier par lot d’interface.
Si non, un fichier contiendra plusieurs lots d’interface

Non

FILNBR

Nb chiffres fichier

Version du fichier (fic001 ou fic01…). Ce paramètre donne la longueur d'incrémentation de la version du fichier. Par exemple, si sa valeur est "1", le dixième fichier va écraser le premier.

 3

ITASLEEP

Temps d’attente 1

Utilisé uniquement en import. Temps d’attente minimum entre 2 scrutations du répertoire d’import. Un nouveau cycle de recherche n’est lancé que si depuis le cycle précédent il s’est au moins écoulé "ITASLEEP" secondes.

 1

ITAWAIT

Temps d'attente 2

Temps d’attente minimum (en secondes) entre 2 Cycles de recherche si aucune interface traitée durant le cycle précédent (aucun traitement de lot d’interface, ni détection de nouveaux fichiers plats en réception)

 0

TRMPROCTL

Contrôle flux transmission N3

 permet d'activer ou non le contrôle du flux en transmission N3.

NON 

Différence entre ITASLEEP et ITAWAIT

Dans le traitement INTERFACE, il y a une boucle qui tourne sur les différentes interfaces. Dans cette boucle, on traite prioritairement des lots d'interfaces déjà existants en état ‘1-A traiter’, soit pour les intégrer dans la BDD pour une interface en réception, soit pour créer les fichiers plats dans le répertoire EXPREP pour une interface en émission. Pour une interface en réception, s'il n'y a aucun lot à traiter, on recherche alors si de nouveaux fichiers plats sont arrivés dans le répertoire IMPREP, et si c'est le cas on constitue de nouveaux lots d'interface à partir de ceux-ci.

Cette recherche de nouveaux fichiers plats dans le répertoire IMPREP implique le lancement d'un ordre système couteux en ressource. Si on la fait souvent, on pompe les ressources de la machine, pour ne ramener en moyenne que peu de fichiers à chaque fois. Si on la fait moins souvent, on pompe moins, et on ramène en moyenne à chaque fois plus, mais on est moins réactif.
La 1ère fois qu'on est supposé lancer cette recherche pour une boucle d'interfaces, on regarde s'il s'est écoulé ITASLEEP secondes depuis la dernière fois où on s'est posé la question et qu'on y a répondue Oui. S'il s'est écoulé ITASLEEP secondes, on va alors lancer ces recherches dans cette boucle d'interface, sinon on ne le fera pas dans cette boucle ci mais dans une boucle suivante quand ITASLEEP secondes se seront écoulées.
Si on fait une boucle complète à vide (sans traitement de lot d'interface, ni détection de nouveaux fichiers plats en réception), on attend ITAWAIT secondes avant de relancer une nouvelle boucle.

3. REP Répertoire et extension

Code Paramètre

Paramètre

Définition

Valeurs par défaut

EXPEXT

Extension fichier export

Valeur de l’extension du fichier généré par GX lors de l’export

 exp

EXPREP

Répertoire export

Répertoire où sont stockés les fichiers à destination du N3

EXP

EXPEXTXML

Extension fichier export xml

Valeur de l’extension du fichier généré par GX lors de l’export xml

xml

EXPTRTREP

Répertoire traitement export

Répertoire temporaire où sont écrits les traitements d’export avant d’être déplacés dans le répertoire d’export.

EXPTRT

EXPBAKREP

Répertoire sauvegarde export

Répertoire où sont sauvegardés les fichiers à destination du N3 pour contrôle

EXPBAK

IMPEXT

Extension fichier import

Valeur de l’extension du fichier à générer par N3 lors de l’import

imp

IMPEXTXML

Extension fichier import xml

Valeur de l’extension du fichier à générer par N3 lors de l’import xml

 xml

IMPREP

Répertoire import

Répertoire où doivent être transmis les fichiers pour être traiter par Warehousing

IMP

IMPTRTREP

Répertoire traitement import

Répertoire temporaire où sont traités les imports avant d’être déplacés dans le répertoire d’import

IMPTRT

IMPERRREP

Répertoire d'erreurs import

Répertoire des fichiers d'import ayant donné lieu à des erreurs "techniques"

IMPERR

IMPBAKREP

Répertoire destination import

Répertoire de sauvegarde des fichiers d'import ayant été traité sans erreur (avant d’être intégrés dans la table des interfaces)

IMPBAK

IMGEXT

Extension fichier image

Extension des fichiers images gérés pour l’interface article

jpg

IMGREP

Répertoire des images

Répertoire où chercher les images à charger pour l’interface article

jpg

Exploitation / Interfaces / Paramètrage

Pour chaque modèle d’interface à utiliser, il convient de définir précisément le paramétrage à appliquer. Pour cela, il est conseillé de dupliquer l’existant afin de conserver le paramétrage de référence.

  • Les interfaces dans le sens Warehousing vers le niveau 3 sont préfixées de X (pour export).
  • Les interfaces dans le sens niveau 3 vers Warehousing ne sont pas pré fixées.

On liste toutes les interfaces définies pour un site, ou pour un couple site/déposant (à renseigner dans l'onglet "environnement"). Par défaut (valeur "*" pour sites et déposant) les interfaces seront générées identiques pour tous les sites et les déposants des sites d'un dossier.

Les informations à l’écran permettent de préciser :

  • Si l’interface est active
  • Quel est le rang des imports / exports pour chacun des flux
  • Sur quelle plage horaire l’interface est active
  • Le nom du modèle à utiliser pour l’interface
  • Si les fichiers générés en export doivent faire l’objet d’un compteur particulier
  • Le nom du fichier à générer pour chacune des interfaces.
  • Le chemin d’accès à utiliser pour intégrer et remettre les fichiers.

Il est donc possible de paramétrer pour des déposants et /ou des sites distincts des noms différents d'interfaces, et donc différents noms de fichiers déposés dans des répertoires distincts. On pourra avoir par exemple XSHP01 pour le déposant 01, avec le modèle XSHP01, et l'interface XSHP02 pour le déposant 02, avec le modèle XSHP02.

Sens interface

Code interface

A partir de

Libellé

N3 => N2

ITM

Standard Edition

Articles et contenants

N3 => N2

EIN

Standard Edition

Entrées attendues

N3 => N2

INP

Standard Edition

Entrées directes

N2 => N3

XEIN

Standard Edition

Compte rendu de réception

N2 => N3

XINP

Standard Edition

Compte rendu de mise en stock

N3 => N2

DLO

Standard Edition

Ordres de livraison (OL)

N2 => N3

XDLO

Standard Edition

Compte rendu de préparation

N2 => N3

XSHP

Standard Edition

Compte rendu d’expédition

N2 => N3

XEND

Standard Edition

Fin OL

N2 => N3

XCRR

Standard Edition

Compte rendu de transport

N2 => N3

XAJM

Standard Edition

Compte rendu d’ajustements de stock

N2 => N3

XISO

Standard Edition

Image du stock

N3 => N2

INISLO

Standard Edition

Reprise emplacements

N3 => N2

INISKO

Standard Edition

Reprise stock

N2 => N3

XINV

Advanced Edition

Pré facture logistique (GEOPLO)

N3 => N2

EDH

Premium Edition

EDI transporteur

N3 => N2

BOM

Premium Edition

Ordre d'assemblage

N2 => N3

XBOM

Premium Edition

Compte rendu d'assemblage

 

 

 

 

EXPLOITATION / INTERFACES / MODELES

Pour toutes les interfaces via échange de fichiers, l’onglet Général permet de décrir dans le modèle de l’interface comment Sage Warehousing lit la structure du fichier d’interface :

  • sa structure (délimité, longueur fixe ou xml),
  • le jeu de caractères,
  • le format des dates,
  • le type de séparateur décimal,
  • les séparateurs de lignes et d’enregistrements,
  • le caractère à interpréter en cas de non modification...

Dans le second onglet, on précise la liste des champs des tables SAGE Warehousing que l’on souhaite importer / exporter.

Pour chaque table on précise d’abord un code action « $ » qui vaudra Créer / Modifier / Supprimer (valeurs 1, 2 ou 3), puis un code de séparation « / » qui indique le début des champs d’une autre table, par exemple "E" (entête) ou "L" (ligne associée à une entête), « P » pour colis associés.

La structure du modèle est modifiable : ajouter ou supprimer un champ de la même table du modèle est tout à fait possible, il faut cependant penser à re-calculer les positions de la trame en faisant clic droit souris et « ajustement des positions » (à faire systématiquement en cas de modifications du modèle).

Il est fortement conseillé de transmettre les identifiants code action, type d’enregistrement, site, déposant de façon systématique.

Définition de la Structure:
La structure des informations au sein d’un enregistrement se définit pour chaque modèle d’interface :

  • Champs à longueur variable (ou délimités)
    • C’est le type de structure utilisé par défaut.
    • Les formats mentionnés dans les descriptions des structures d’information correspondent aux formats maximum de chaque champ ; les caractères non significatifs (blancs ou zéros) devant être supprimés.
    • Ils correspondent au format des données dans la base Warehousing.
    • La fin de chaque champ (hormis le dernier de l’enregistrement) est identifiée par un séparateur de champ (classiquement « ; »).
    • En outre, chaque champ peut être entouré de délimiteurs de champ (classiquement « " ») ; ces délimiteurs de champ ne sont pas générés en export pour les champs numériques et les champs de type date.
  • Champs à longueur fixe
    • La position et la longueur de chaque champ sont fixes.
    • Il n’y a ni séparateur ni délimiteur de champ.
    • Les règles de présentation et de cadrage des informations (en particulier des champs numériques) sont paramétrables.
      • Les données alphanumériques sont cadrées à gauche et complétés par des blancs.
      • Les données numériques sont cadrées à droite et complétées par des zéros si nécessaires, le séparateur décimal n’est pas transmis.
    • Champs XML: l'interface est géré au format xml.
      • les codes des balises pour les indicateurs tables sont définis ds la colonne 'Niveau'
      • les codes des balises pour les champs sont définis dans la colonne 'Balise'
  • Séparateur d’enregistrement
    • Pour saisir un caractère non imprimable, il faut entrer un '\' (barre de fraction inversée) suivi de 3 chiffres représentant le code ascii du caractère en base décimale.
      Souvent, on utilise :
      • le caractère line feed (\010), qui correspond à la fin de ligne dans des fichiers textes sous Unix
      • la combinaison des deux caractères carriage return, line feed (\013\010)n qui correspond à la fin de ligne dans des fichiers textes Windows.
    • Définit le séparateur entre deux enregistrements (groupes de données).
    • Pour saisir un caractère non imprimable, il faut entrer un '\' (barre de fraction inversée) suivi de 3 chiffres représentant le code ascii du caractère en base décimale.
      Souvent, on utilise :
      • le caractère line feed (\010), qui correspond à la fin de ligne dans des fichiers textes sous Unix
      • la combinaison des deux caractères carriage return, line feed (\013\010)n qui correspond à la fin de ligne dans des fichiers textes Windows.

Identificateurs
Permet de définir le code permettant l’identification du type d’enregistrement transmis au niveau de l’interface. Ces codes sont déterminés en standard selon les besoins utiles à SAGE Warehousing, ils ne sont pas modifiables en standard.

 
Transcodage

  • Jeu de caractères
    • ASCII (ISO 8859-1) est classiquement utilisé.
    • UNICODE (UTF8) est également possible.
    • UCS-2 ?
  • Format de dates possibles: JJMMAA, JJMMAAAA, AAMMJJ, AAAAMMJJ.
    On suppose par la suite que le format choisi est JJMMAAAA.
  • Format des menus locaux
    Un menu local est un type de donnée faisant référence à une liste prédéfinie de valeurs admises.
    Classiquement dans les interfaces, on identifie chacune des valeurs par le biais d’une donnée numérique correspondant à la séquence de la valeur dans la liste.
    Ainsi, pour un indicateur binaire (non/oui) :
    La valeur « 1 » signifie « Non ».
    La valeur « 2 » signifie « Oui ».
  • Séparateur décimal
    Lorsque ce dernier est échangé (ce n’est pas forcément le cas pour une structure avec longueur de champ fixe).
    Par défaut on utilise le point.
  • Symbole de champ vide
    Ce symbole peut être important dans le cas d’imports en modification ; il permet de repérer les données incluses dans l’interface dont on ne souhaite pas modifier les valeurs.
    On utilise classiquement le symbole « $ ».
  • Symbole CR + LF
    Ce symbole est à utiliser pour repérer les sauts de lignes au sein de champs multi- lignes (par exemple, les champs de commentaires) distinctement de la façon dont on repère les fins d’enregistrements.
    On utilise classiquement le symbole « |~ ».

    Exploitation / Interfaces / Valeurs par défaut

    Fonction "Valeurs par défaut"

Cette fonction est utilisée pour les interfaces en import et en création. Elle permet d’affecter des valeurs par défaut à certaines zones, notamment à des valeurs obligatoires.
Si le N3 ne gère pas certaines informations obligatoires dans Warehousing (mode d’entrée, mode de sortie…), il transmettra un "$" dans le champ concerné, et le système le remplacera par la valeur par défaut paramétrée.
Si une valeur est transmise elle est prise en compte; sinon le système regarde s’il existe une valeur par défaut à prendre en compte, sinon c’est le traitement de saisie qui est pris en compte.
Ci-dessous détail des correspondances entre l’interface et la ou les fenêtres dans lesquelles il faut définir les valeurs par défaut:

    Interfaces

    Fenêtres

    ITM (Articles et contenants articles)

    OITM (Articles)
    OITC (Contenants articles)

    EIN (EA)

    OEIN (En-tête EA)
    FTABEIL (Lignes EA)

    INP (ED)

    OINH (En-tête ED)
    FTABINL (Lignes ED)

    DLO (OL)

    ODOH (En-tête OL)
    FTABDOL (Lignes OL)

    INISLO (Affectation des emplacements)

    OSLO (Emplacements)

    INISKO (Initialisation de stock)

    OAJM (Ajustements)
    DSRNDACM (N° série en ajustement)

    Fonction "Mode de réception par défaut"

    Cette fonction est utilisée pour l'interface EIN (Entrées Attendues). Dans le cas où le mode de réception n'est pas envoyé par le N3, elle permet d’affecter un mode de réception par défaut selon le code mvt de l'EA.
    Cette fonctionnalité est activable par le flag "Modes de réception par défaut" défini au niveau du déposant (Onglet Général).

    SEEREFERTTO pour plus d'information, se référer à l'aide sur fonction correspondante.

    Fonction "Mode de préparation par défaut"

    Cette fonction est utilisée pour l'interface DLO (Ordres de Livraison). Dans le cas où le mode de préparation n'est pas envoyé par le N3, elle permet d’affecter un mode de préparation par défaut selon des crtières OL (Code mvt, Client de la commande, Raison sociale, Transporteur, mode de transport et nombre de lignes OL présentes).
    Il est à noter que la fonction détermine aussi le mode de gestion de l'OL (Palletisation, Chargement, Expédition, Reliquats, Délai de lancement et tournée générique)
    Cette fonctionnalité est activable par le flag "Modes de préparation par défaut" défini au niveau du déposant (Onglet Général).

    SEEREFERTTO pour plus d'information, se référer à l'aide sur fonction correspondante.

    SEEWARNING Dans le cas où le système ne peut déterminer un mode de préparation par défaut, alors le système essaye de le déterminer par la fonction standard des "valeurs par défaut". Si cela est impossible, alors l'interface tombe en erreur.

Traitement d'interface

Nous allons aborder les sujets suivants :

  • Lancer des interfaces
  • Epurer des répertoires
  • Consulter l’état d’avancement de l’ensemble des interfaces
  • la tache bach Interface

Exploitation / Interfaces / Lancement

Les traitements d’interface sont lancés manuellement ou par le biais d’un « abonnement » (tâche récurrente lancée à période paramétrable), pour une interface ou pour l’ensemble des interfaces. Dans ce dernier cas, les interfaces sont traitées par type de flux selon un ordre paramétrable et, en import pour un type de flux donné, dans l’ordre croissant des numéros de fichier.

IMPORT
Le traitement d’import se décompose en 2 étapes :

  • Etape 1 : Import du fichier
    Contrôle de cohérence de la structure par rapport à la description du modèle.
    En cas de succès, le fichier reçu est sauvegardé dans le répertoire de « destination import », les données sont copiées dans des tables dédiées par type de flux puis traitées dans l’étape 2.
    En cas d’échec, le fichier reçu est sauvegardé dans le répertoire d’ « erreur import » ; le ou les lots d’interface donnent sont réputés en « erreur import » ; ils ne sont pas recyclables.
  • Etape 2 : Intégration des données
    Contrôle de cohérence fonctionnelle des données pour chaque lot d’interface.
    En cas de succès, les mises à jour sont réalisées ; le lot est réputé « traité ».
    En cas d’échec, le lot est réputé en « erreur d’intégration » ; la liste des erreurs détectées est enregistrée, le lot pourra être recyclé ou soldé. Une erreur détectée sur une partie d’un lot (entête ou ligne) se traduit donc par le rejet de l’ensemble des enregistrements liés.

EXPORT
Le traitement d’export se décompose également en 2 étapes :

  • Etape 1 : Alimentation des tables d’interface
    Cette alimentation est réalisée par les différents évènements déclenchant (fin de préparation d’un OL, validation d’une liste de rangement, etc.)
    Les lots d’interface sont réputés « à traiter »
  • Etape 2 : Génération du fichier d’interface
    L’ensemble des lots « à traiter » pour un flux donné donne lieu à la génération d’un fichier.
    Ce fichier est mis à disposition dans le répertoire « export » lié au flux et copie dans le répertoire de « sauvegarde export ».
    Les lots sont réputés « traités ».

Exploitation / Interfaces / Epuration des répertoires

Cette fonction permet d'épurer manuellement les fichiers d'interface stockés dans les différents répertoires, indiqués en valeur paramètre (chapitre INT) en indiquant une durée de conservation exprimée en jours.

Exploitation / Interfaces / Consultation

Une fonction standard permet la consultation et la gestion des lots d’interface. Elle présente une vision synthétique de l’état de chacune des interfaces selon qu’elles sont en émission ou en réception ou en global (émission et réception).
Les statuts suivants sont possibles :

  • A Traiter
    Le lot sera intégré ou exporté au prochain traitement d’interface.
  • Traité
    Le lot a été intégré ou exporté.
  • Erreur import
    La structure de l’un ou de l’ensemble des lots d’un fichier d’import est incorrecte ; les données du fichier n’ont pas été intégrées.
    Une fois l’erreur identifiée et les actions palliatives engagées, le statut peut-être changé en « Erreur traitée ».
  • Erreur d’intégration
    Une erreur « fonctionnelle » a été détectée sur le lot importé.
    Après analyse de l’erreur le lot pourra être réputé « A traiter » pour être à nouveau considéré dans le prochain traitement d’interface (le lot sera donc recyclé) ou être décrété en « Erreur traitée ».
  • Erreur export
    Il s’est produit une erreur sur la création du fichier d’interface (étape 2). Et non pas d’une erreur sur la génération du lot (étape 1).
  • Bloqué
    Décision de bloquer manuellement une interface en erreur (quelle qu’elle soit) afin de l’extraire de la population des interfaces en erreur et de la traiter ultérieurement.

Un lot d’interface initialement à l’état « A traiter », peut prendre successivement les états suivants :

Etat

Valeur

Etat suivant

A traiter

1

 Import          Export
2, 5, 3 , 7      2, 6 , 7

Traitée

2

-

Erreur d'intégration

3

1, 4

Erreur traitée

4

-

Erreur import

5

1, 4

Erreur export

6

1, 4

Bloqué

7

1

Le clic sur la loupe en bout de chacune des lignes d’interface permet de zoomer sur le détail de celles-ci

  • L’onglet Interfaces affichent une ligne par code Interface et Statut, ce qui permet de visualiser rapidement si il y a des erreurs (en particulier sur les imports).
  • L’onglet Lots liste pour l’interface sélectionnée précédemment les lots correspondants.
  • L’onglet Lignes liste les champs d’un lot précédemment sélectionné.
  • Le bouton Dénombrement affiche un récapitulatif des flux échangés.

Principe d'utilisation:
1. Choisir l’interface dans la liste présentée sur l’onglet Interfaces.
Site, déposant, code interface, nom du paramétrage sont affichées. L’état de l’interface est également affiché.
2. Puis visualiser le détail des lots de cette interface dans l’onglet Lots.
La référence est l’identifiant du lot; en règle générale il s’agit de la référence entrée attendue, référence entrée directe, référence ordre de livraison, code article.
Le numéro fait référence à l’identification de chaque enregistrement. Le fichier fait référence au comptera de fichier généré ou intégré. S’il est non renseigné, cela signifie que l’enregistrement est dans un état « A traiter ».
La date et heure de création sont relatives à la date d’intégration des données dans la table interface. La date et heure de modification sont relatives à l’intégration des données dans les tables vives.
3. Et finalement consulter le détail des lignes du lot sélectionné précédemment dans l’onglet Lignes

Cet écran permet également de gérer ces interfaces. Ainsi les lots « En erreur » peuvent être manuellement basculés dans un état « Erreur Traitée» ou «A traiter » par clic droit sur le lot en question.

Exploitation / Serveur batch / Tache batch Interface

La tache batch INTERFACE permet de gérer automatiquement les fichiers d’interfaces (scrutation répertoires d’interface, import et export des fichiers interfaces).

Cette tache batch peut être arrêté/démarré de façon externe au produit Warehousing grâce à la mise en place d’un système de fichiers témoins dont voici les règles :

1) Au démarrage de la tâche batch INTERFACE, ajout d'un fichier témoin sous le répertoire du dossier ("/FIL/INTERFACE.run")
2) Suite à la dépose du fichier témoin suivant : "FIL/INTERFACE.stop" sous le répertoire dossier, l'arrêt automatique de la tâche du dossier correspondant se fait qu'après avoir traité tout un cycle complet des paramétrages interface actifs en réception/émission.
3) Suite à la dépose du fichier témoin suivant : "FIL/INTERFACE.kill" sous le répertoire dossier, l'arrêt automatique de la tâche du dossier correspondant se fait dès lors qu'un lot interface a terminé d'être traité.

De même, l'arrêt du serveur batch par dépose du fichier témoin suivant : "/SERVGX/FIL/kill" arrêterait au préalable la tâche batch INTERFACE.

Compléments

Fichiers d'interface

Les noms des fichiers d’interface sont définis comme suit :

  • Racine (10 caractères alphabétiques maximum)
    Synonyme du flux d’interface ; elle est définie dans la table des « paramètres».
    Dans la mesure où cette racine identifie le flux d’interface dans la fonction de suivi des interfaces et de gestion des anomalies ; il est important d’adopter une codification cohérente et signifiante ;
    par exemple :
    • 1 caractère « X » pour les interfaces (N2 => N3)
    • 2 caractères pour l’identification du système tiers
    • 2 ou 3 caractères pour la nature du flux (« ART » pour les Articles…etc.)
  • Numéro de séquence
    Dans les cas des interfaces (N2 => N3), le format du numéro de séquence est défini par le biais d’un paramètre général ; par ailleurs, on peut utiliser un seul et même compteur pour l’ensemble des interfaces, ou bien définir des compteurs dédiés à chaque interface ou chaque ensemble d’interface.
  • Extension
    L’extension « imp » est classiquement utilisée pour les fichiers d’import et l’extension « exp » pour ceux d’export.

Enregistrements au sein d'un fichier d'interface

Un fichier d’interface est multi enregistrements.
Le séparateur de fin d’enregistrement est un paramètre du modèle d’interface.
Dans le cas des interfaces à 2 niveaux telles que l’interface article (niveaux article et contenant) ou l’interface de ordres de livraison (entête demande et ligne de demande) :

  • Chaque niveau est repéré par une information « type d’enregistrement » distincte en début d’enregistrement mentionnée dans les descriptions des structures de données.
  • La relation de dépendance est signifiée par l’ordre relatif des enregistrements ; les enregistrements de niveau « ligne » devant suivre l’enregistrement de niveau « entête » auxquels ils se rattachent.
    On parle de lot d’interface pour désigner un ensemble d’enregistrements relatif à un même enregistrement d’entête.

Structure des fichiers d'échange

Elle est paramétrable (voir le chapitre Paramètrage).
La position et le choix des champs étant modifiable, ce document est un exemple de structure des fichiers. En revanche, les règles de gestion fonctionnelles associées aux champs, pour les imports, sont constantes. La structure décrite dans ce document est celle de trames délimitées (à la différence de trames à longueur fixe). Le séparateur d'enregistrements est le retour chariot (non indiqué dans chaque description de trame).
 
Code action import

  • ‘1' = Création
  • ‘2’ =modification
  • ‘3’ = suppression
  • ‘4’ = lecture
     

Des contrôles sont réalisés par rapport à ce code, puis d’autres contrôles fonctionnels sont réalisés selon le contexte.
 
Règles de gestion
 
 Pour supprimer une entité mère (un O.L, un article, une EA, ou une ED) il suffit de transmettre l’entête avec le code action = ‘3’ = suppression (dans ce cas les entités filles seront supprimées automatiquement).
 
 Pour supprimer une entité fille (une ligne O.L, un contenant article, une ligne EA, ou une ligne ED) il suffit de transmettre l’entête avec le code action = ‘4’ = lecture et celui de la ligne à supprimer = ‘3’ = suppression. Pour supprimer toutes les entités fille il est utile de passer par la suppression de l’entité mère.
 
 Pour modifier, le même principe est appliqué ; il est néanmoins possible de modifier certaines zones sans en affecter d’autres en transmettant l’entité à modifier avec un code action égal à ‘2’ = modification, et en mettant dans les zones à ne pas modifier le code défini dans le modèle.

Pour la suppression de données, en import, il est impossible de supprimer une entité mère (article par exemple) si elle est utilisée par une entité associée (objet de stock, mouvement de stock etc.).

Pour la création ou la modification, il est possible de mettre des valeurs par défaut pour un champ d’une interface non transmis.
Dès lors qu’une partie d’un lot est rejeté, le lot entier n’est pas intégré. Exemple : si une ligne d’OL est rejetée, l’intégralité de la commande sera rejetée.

Pour la modification de données (entêtes et/ou lignes), en import, si les informations sont transmises, le contenu du champ met à jour celui de Warehousing.

Pour éviter de mettre à jour les données modifiées dans Warehousing, il est possible de transmettre un caractère dans le champ (à paramétrer) de manière à indiquer que le champ ne doit pas être modifié.

Pour gérer correctement les modifications sans changer de modèles, transmettre la même structure qu’en création en indiquant les données modifiées par le N3, les autres données étant transmises avec la valeur « champs non modifiables ».