Files
arthur 7496aafe64 lint(limagrain): corrections completes Phase 1+2
- Bloquants: mermaid 03-picking/_index reconstitue (archive 11-05), 13 liens vers pages squelette retires, 2 liens recibles (anoxie, application-dictionary)
- Conventions: 910 em dashes -> tirets simples, 145 checklists -> puces question, 13 questions resolues barrees
- Liens: 9 ancres reparees (slugs GitHub)
- Delta: 12 standard_ref remappes, blocs Standard EasyWMS + sections References ajoutes, front matter complete
- Glossaire: 15 termes standard deplaces en section rappel avec renvoi
- Rapport: limagrain/_lint_report.md (Phase 1 + Phase 2 + re-scan final)
- Inclut les pages des sessions precedentes non commitees + CLAUDE.md et consume.log en l'etat
2026-07-20 12:56:42 +02:00

337 lines
15 KiB
Markdown

---
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 |