--- title: "Catalogue des messages ERP - Référence complète" tags: [ERP, messages, interface, SAP, catalogue, ITM, ASN, ROR, ROF, REF, SOR, RUT, SOF, LOF, PCK, MOV, STV, STR, STC, SCR, WSC, COR, COF, LOC, ERR, CHG] status: draft standard_ref: concepts/erp-interface.md jira_refs: [LIM-113, LIM-117] confluence_refs: [] sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "Expédition - LIMAGRAIN - DEV - Confluence.md", "CR CONSOLIDES REU ERP LIMAGRAIN V1 - CR.md", "Jira LIM-113 (lecture directe 2026-07-20)"] last_updated: 2026-07-20 author: Arthur --- # Catalogue des messages ERP - Référence complète > **Résumé** : tableau de référence de tous les messages d'interface entre > SAP EWM et EasyWMS chez Limagrain, classés par domaine fonctionnel. > **Standard EasyWMS** : → voir [ERP Integration](../../concepts/erp-interface.md) > Ce qui suit documente les **spécificités Limagrain** par rapport au standard. ## Contexte projet La communication entre SAP EWM et EasyWMS utilise XML + Webservice. Le détail des champs est dans le document « Liste Interfaces LIMAGRAIN » (fichier séparé). Cette page référence la typologie et le rôle de chaque message. ## Tableau synthétique ### SAP → EasyWMS (flux entrants) | Domaine | Message | Standard/Custom | Description | Statut | |---------|---------|-----------------|-------------|--------| | Master Data | ITM | Standard | Fiche article (Lot SAP) | ✅ Validé | | Réception | ASN | Standard | Réception production (1 par palette) | ✅ Validé | | Réception | ROR | Standard | Réceptions externes + retours clients | ✅ Validé | | Expédition | SOR | Standard | Ordres de sortie (prod/recertif) | ✅ Validé | | Expédition | RUT | Standard | Routes / tournées client | ✅ Validé | | Stock | STR | Standard | Demande changement de stock (article, statut) | ✅ Validé | | Inventaire | COR | Standard | Demande d'échantillonnage | ✅ Validé | | Inventaire | SCR | Standard | Demande image de stock de l'entrepôt | ✅ Validé | ### EasyWMS → SAP (flux sortants) | Domaine | Message | Standard/Custom | Description | Statut | |---------|---------|-----------------|-------------|--------| | Réception | REF | Standard | Finalisation de réception (+ zone stockage) | ✅ Validé | | Réception | ROF | Standard | Clôture d'ordre d'entrée | ✅ Validé | | Expédition | SOF | Standard | Finalisation ordre de sortie | 🟡 Phase 2 | | Expédition | LOF | Standard | Finalisation de chargement | ✅ Validé | | Stock | STV | Standard | Variation de stock | ⚠️ **DÉSACTIVÉ** (remplacé par LOC) | | Stock | STC | Standard | Notification changement de statut | ⚠️ **DÉSACTIVÉ** (remplacé par LOC) | | Stock | LOC | [CUSTOM] | Message périodique delta 5 min | ✅ Validé | | Stock | WSC | Standard | Image de stock journalière | 🟡 Volumétrie à vérifier | | Inventaire | COF | Standard | Confirmation d'échantillonnage | 🟡 Traitement à confirmer | | Expédition | PCK | [CUSTOM] | Passage conteneur client | ⚠️ **REMPLACÉ** par LOC | | Erreur | ERR | Standard | Erreur d'importation de message | ✅ Validé | ### Flux supprimés ou non retenus | Message | Statut | Raison | |---------|--------|--------| | MOV | **Supprimé** | Redondant avec LOC + STR combinés | | PCK | **Remplacé** par LOC | Le LOC périodique couvre le besoin | | STV | **Désactivé** | Le LOC devient le seul canal stock (décision 30/04/2026) | | STC | **Désactivé** | Statuts hors retour = B6 uniquement via LOC | | ACC/SUP | **Non transmis** par l'ERP | Base client/fournisseur non interfacée | | ROC | **Non utilisé** a priori | À confirmer côté Limagrain | ### Messages bidirectionnels / custom | Domaine | Message | Direction | Standard/Custom | Description | |---------|---------|-----------|-----------------|-------------| | Réception | API Lot | WMS ↔ ERP | [CUSTOM] | Demande/réponse lot SAP pour retours clients | | Stock | CHG | ERP → WMS | [CUSTOM] | Changement article et/ou propriétaire | ## Messages custom détaillés ### PCK - Passage Conteneur Client - **Déclencheur** : stock préparé, passage en conteneur client EasyWMS - **Contenu** : information passage conteneur client - **Envoyé pour** : commande client, consommation OF hors recert, messagerie - **Voir** : [Flux ERP outbound](../04-outbound/flux-erp-outbound.md) ### ~~MOV - Movement~~ ANNULÉ > **ANNULÉ** - décision réunion client, jugé inutile. - ~~**Déclencheur** : déplacement de stock entre palettes~~ - ~~**Contenu** : palette d'origine, palette de destination, quantité~~ ### LOC - Message périodique (détaillé) - **Déclencheur** : Job toutes les 5 min → WF → transaction `LOC.SEND` → GNA (script BOO) → POST SAP-CPI - **Remplace** : PCK, MOVE, STV, STC - **Actions** : B (déplacement), U/R (statut B6), S (suppression), T (transfert inter-HU), C (correction quantité), **P (assignation client)** - **Quantités** : valeurs absolues (pas des écarts) sauf ACTION=S et T - **Exclusion** : palettes dont la réception n'est pas fermée (pas de REF) - **Approche technique** : fork du WSC avec filtre temporel sur CreationDate - **Transport** : via GNA → SAP-CPI (OAuth 2.0 client_credentials) - code CPI : **ATH201** - **Voir** : [Spécification complète LOC](loc-message-periodique.md), [Intégration GNA → SAP-CPI](gna-sap-cpi.md), [Flux ERP outbound](../04-outbound/flux-erp-outbound.md) ### STV - Variation de Stock (⚠️ DÉSACTIVÉ) > ⚠️ **Décision 30/04/2026** : le STV est désactivé (post-processing coupé). > Le LOC devient le seul canal de notification des mouvements de stock vers SAP. - **Direction** : WMS → SAP - **Rôle initial** : notifier les ajustements de quantités manuels (hors flux standards réception/expédition) - **Mapping clé** : | Balise | Utilisation | |--------|-------------| | Operation | C (positif) / D (négatif) | | Site | WF02 | | ItemCode | Code lot SAP | | OwnerCode | MECALUX | | ContainerCode | Numéro HU | | FilterAttributes | Attributs du stock existant modifié | | Attributes | Attributs du stock nouvellement créé | | ReasonCode | AJUSTEMENT MANUEL | | ERPReasonCode | ZSC1 | | Comment | Facultatif (opérateur) | - **Point ouvert** : Limagrain doit définir comment gérer côté ERP un STV de type "création de stock" (l'ERP n'autorise pas la création de stock par ce biais aujourd'hui) - **Raison désactivation** : Limagrain préfère des quantités absolues (LOC) plutôt que des écarts +/- (STV) - si un message se perd, l'écart est définitivement perdu ### STR - Demande de Changement de Stock - **Direction** : ERP → WMS - **Cas d'usage** : changement de code article (produit SAP + description), changement de propriétaire, blocage/déblocage de lot - **Règles d'acceptation** : - **Accepté** si la palette n'est pas assignée à une commande ou en cours de mouvement - **Refusé** si palette "client" ou en préparation (code erreur API explicite) - **Interaction avec STV** : ajustement avec motif "STR" → le middleware (GNA) ne traite pas les STV avec ce motif pour éviter les doublons - **Monitoring** : Limagrain mettra en place un monitoring des erreurs pour les cas de refus - **Voir** : [Mapping ERP-WMS](mapping-erp-wms.md) ### COR - Demande d'Échantillonnage - **Direction** : ERP → WMS - **Usage** : **uniquement** pour les demandes d'échantillonnage (pas pour les inventaires physiques classiques, gérés dans EasyWMS en phase 1) - **Mapping** : | Balise | Valeur | |--------|--------| | Description | "ECHANTILLONNAGE" (en dur, discriminant WMS) | | Code | Numéro du lot d'inspection SAP | | Priority | 3 (basse) | | ProductCode | Code lot SAP | | LotCode | Code produit SAP | | Color, Source, Size | Attributs logistiques standards | - **Flux** : COR envoyé → WMS fait venir la palette sur un poste de travail → opérateur prélève → palette repart en stockage → COF envoyé - **Règle** : un article en cours d'échantillonnage **n'est pas disponible** pour les ordres de sortie - **Voir** : [Échantillonnage](../03-picking/echantillonnage.md) ### COF - Confirmation d'Échantillonnage - **Direction** : WMS → ERP - **Mapping** : | Balise | Description | |--------|-------------| | CountCode | Numéro du lot d'inspection | | Status | Closed (effectué) ou Cancelled (annulé) | | UpdateDate | Date/heure de changement | - **Point ouvert** : Limagrain doit confirmer si le COF sera traité côté ERP. Si non traité, risque de demandes en double. ### WSC - Image de Stock Journalière - **Direction** : WMS → ERP - **Rôle** : image de stock complète pour vérification de cohérence. Contient l'ensemble du stock : code OS, statut palette, toutes les informations disponibles - **Démarrage** : export manuel EasyWMS + export SAP + comparaison. Automatisation possible ultérieurement (quotidien à heure fixe) - **Point d'attention** : Limagrain doit vérifier sa capacité à traiter ce fichier (volumétrie potentiellement élevée pour CPI) - **Déclenchement** : transaction `SCR.REQ` ou `STOCKSYNC.ASKED` ### STC - Notification Changement de Statut (⚠️ DÉSACTIVÉ) > ⚠️ **Décision 30/04/2026** : le STC est désactivé. Les changements de statut > hors retour sont limités au B6 (blocage logistique standard) et sont couverts > par le LOC (action R/U). Les statuts des retours sont remontés dans le REF. ### CHG - Changement article / propriétaire (LIM-113) - **Déclencheur** : modification article / propriétaire / destination dans SAP (cas principal : bascule de propriétaire en clôture fiscale, ex. FR10→FR02), sans mouvement physique de la palette - **Mécanisme** : `StartWorkflowCommand` → WF custom `CST_CHG_WF` sur `CustomApplication` ; SAP envoie l'identité complète de la HU (9 champs : containerCode, ContainerTypeCode, productCode, Quantity, UnitOfMeasureCode, LotCode, Color=propriétaire, Source=description, Size=destination) - **Contrainte** : modification seulement si la HU et ses lignes ne sont engagées dans **aucun** flux (refus tout ou rien). **Statut de stock exclu** (passe par STR, appel séparé) - **Acquittement** : **200** en succès, **500** (throw exception) en refus/erreur - **Voir** : [Mapping ERP-WMS](mapping-erp-wms.md#message-chg---changement-article--propriétaire-lim-113) ### API Lot SAP - Retours clients - **Déclencheur** : lot officiel inconnu lors d'un retour client - **Contenu (demande)** : lot officiel à vérifier - **Contenu (réponse)** : lot SAP correspondant + attributs logistiques - **Parallèle** : un ITM est descendu avec les infos article - **Voir** : [Réception retour](../01-inbound/reception-retour.md) ## Flux par processus ### Réception production (ASN) ``` SAP → ASN → EasyWMS → (réception + stockage) → REF → SAP → ROF → SAP → LOC (delta 5 min) → SAP ``` ### Réception extérieure / retour (ROR) ``` SAP → ROR → EasyWMS → (réception + contrôle) → REF → SAP → ROF → SAP → LOC (delta 5 min) → SAP ``` ### Expédition client (RUT) ``` SAP → RUT → EasyWMS → (picking + chargement) → LOC (delta 5 min) → SAP → LOF → SAP → SOF → SAP (phase 2) ``` > **Adresse de livraison (LIM-117)** : la liste de SOR d'un RUT n'expose pas > les champs d'adresse standard ; SAP la transmet dans le `CustomAttribute` > (Attribute1-7) de chaque SOR, mappé sur l'OS par un post-subscription WMS. > Détail : [Flux ERP outbound - Adresse de livraison](../04-outbound/flux-erp-outbound.md#custom-adresse-de-livraison-des-sor-de-tournée-lim-117). ### Consommation OF (SOR) ``` SAP → SOR → EasyWMS → (sortie) → LOC (delta 5 min) → SAP → SOF → SAP (phase 2) ``` ### Échantillonnage ``` SAP → COR → EasyWMS → (prélèvement poste) → COF → SAP ``` ### Image stock (vérification cohérence) ``` SAP → SCR → EasyWMS → WSC → SAP (image complète) ``` ### Changement de stock ``` SAP → STR → EasyWMS → (MAJ stock) → LOC (delta 5 min) → SAP OU → ERR → SAP (si stock assigné) ``` ## Points d'attention ⚠️ **STV et STC désactivés** (décision 30/04/2026) - le LOC est le seul canal de notification des mouvements de stock vers SAP. ⚠️ Le message CHG (WF `CST_CHG_WF`) est **refusé** si la HU ou une de ses lignes est engagée dans un flux : refus **tout ou rien**, remonté en **500** (throw exception) avec le motif - pas un plantage mais un refus métier (LIM-113). ⚠️ MOV, PCK sont **supprimés/remplacés** - le LOC couvre tous ces besoins. ⚠️ L'ASN envoie 1 palette par message (pas d'agrégation - permet suppression individuelle en cas d'annulation). ⚠️ Le STR est refusé si la palette est assignée "client" ou en préparation. Le middleware GNA filtre les STV avec motif "STR" pour éviter les doublons (caduc si STV globalement désactivé). ⚠️ Le COF n'est utile que si SAP le traite - sinon risque de demandes d'échantillonnage en double. ## Questions ouvertes - ❓ Détail champ par champ de chaque message - document séparé à intégrer (@Arthur) - [x] ~~Format exact du message CHG (@Nicolas)~~ → **Résolu** (LIM-113) : `StartWorkflowCommand` / `CST_CHG_WF`, 9 champs JSON (voir [Mapping ERP-WMS](mapping-erp-wms.md#message-chg---changement-article--propriétaire-lim-113)) - ❓ Confirmer si le COF sera traité côté ERP (@Limagrain) - ❓ Vérifier capacité de traitement du WSC quotidien - volumétrie (@Limagrain) - ❓ Confirmer retour fournisseur : SOR simple ou RUT ? (@Limagrain) - ❓ Effets de bord désactivation STV - lister toutes les transactions STK.ADJ et vérifier couverture LOC (@Mecalux) - ❓ Effets de bord désactivation STC - idem pour CST.STK (@Mecalux) ## Historique des modifications | Date | Auteur | Modification | |------|--------|--------------| | 2026-05-05 | Arthur | Création initiale depuis AF V1.5 | | 2026-05-05 | Arthur | MOV annulé, LOC détaillé (5 min, delta, structure JSON, flag client) | | 2026-05-06 | Arthur | Enrichissement complet depuis CR consolidé ERP (STV, STR, COR/COF, WSC, flux supprimés, désactivation STV/STC) | | 2026-07-20 | Arthur | LIM-113 : refonte entrée CHG (mécanisme `StartWorkflowCommand`/`CST_CHG_WF`, 9 champs, refus tout ou rien, statut exclu, acquittement 200/500) ; point d'attention CHG mis à jour ; question « format CHG » résolue ; front matter jira_refs/sources/last_updated | | 2026-07-20 | Arthur | LIM-117 (LOT 2.1, Ouvert) : note « Adresse de livraison » sur le flux RUT (adresse dans `CustomAttribute` des SOR, mapping post-subscription vers l'OS) + renvoi vers flux-erp-outbound.md ; jira_refs +LIM-117 | ## Références | Source | Type | Date | |--------|------|------| | FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5 | Analyse fonctionnelle | 28/11/2025 | | CR CONSOLIDES REU ERP LIMAGRAIN V1 | CR ateliers interfaçage | 05/01 → 23/02/2026 | | Expédition - LIMAGRAIN - DEV | Page ateliers DEV | 2026 |