Le stock N3 est mis à jour en émission par le biais des interfaces :
Le stock N3 peut être mis en phase (automatiquement ou manuellement) avec le stock N2 par le biais des interfaces :
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:
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.
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.
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 :
Dans le cadre des fichiers exportés :
Quelque soit le flux d’interface, l’export peut être limité à certains couples (site, déposant).
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.
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. | 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 |
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.
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 :
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 |
|
|
|
|
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 :
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 :
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
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) |
EIN (EA) | OEIN (En-tête EA) |
INP (ED) | OINH (En-tête ED) |
DLO (OL) | ODOH (En-tête OL) |
INISLO (Affectation des emplacements) | OSLO (Emplacements) |
INISKO (Initialisation de stock) | OAJM (Ajustements) |
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).
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).
pour plus d'information, se référer à l'aide sur fonction correspondante.
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.
Nous allons aborder les sujets suivants :
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 :
EXPORT
Le traitement d’export se décompose également en 2 étapes :
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.
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 :
Un lot d’interface initialement à l’état « A traiter », peut prendre successivement les états suivants :
Etat | Valeur | Etat suivant |
A traiter | 1 | Import Export |
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
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.
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.
Les noms des fichiers d’interface sont définis comme suit :
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) :
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
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 ».