--- title: "Flux ERP inbound — Messages réception" tags: [inbound, ERP, ASN, ROR, ROF, REF, ITM, interface] status: draft standard_ref: architecture/erp-integration.md jira_refs: [] confluence_refs: [] sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "CR CONSOLIDES REU ERP LIMAGRAIN V1 - CR.md"] last_updated: 2026-05-06 author: Arthur --- # Flux ERP inbound — Messages réception > **Résumé** : catalogue des messages ERP liés aux processus de réception > chez Limagrain, avec direction, déclencheur et contenu principal. > **Standard EasyWMS** : → voir [ERP Integration](../../architecture/erp-integration.md) > Ce qui suit documente les **spécificités Limagrain** par rapport au standard. ## Contexte projet La communication ERP se fait via **XML + Webservice** entre SAP EWM et EasyWMS (service GNA). Tous les messages de réception sont documentés ici. Pour les messages d'expédition, voir [Flux ERP outbound](../04-outbound/flux-erp-outbound.md). ## Messages entrants (SAP → EasyWMS) ### ITM — Item Master | Champ | Description | |-------|-------------| | Direction | ERP → WMS | | Déclencheur | Création/modification article dans SAP | | Contenu | Code lot SAP, description, propriétaire, UdM, poids brut, conversions, profils, type conteneur, quantité complète, type article (FERT/ZSIZ) | | [CUSTOM] | Espèce, génération, marque, variété, traitement commercial, packing unit, code GTIN, semences essais, size, field production area | > ⚠️ Chez Limagrain, les **lots SAP** sont gérés comme des articles (descendus > via ITM). L'article Limagrain est un attribut du lot SAP. ### ASN — Advanced Shipping Notice | Champ | Description | |-------|-------------| | Direction | ERP → WMS | | Déclencheur | Création HU avec code SSCC en production | | Architecture | **1 ASN = 1 palette de production** (pas d'agrégation — permet suppression individuelle en cas d'annulation) | | Contenu | Numéro HU, article, lot SAP, [CUSTOM] propriétaire Limagrain, statut de stock, quantité (unités de vente) | | Timing | Envoyé dès création de la HU avec code SSCC | **Attributs logistiques dans les lignes ASN** : | Attribut logistique | Champ SAP | Usage | |---------------------|-----------|-------| | LotCode | Code produit SAP | Différencie produits pour même lot SAP | | Color | Propriétaire réel SAP | ≠ "MECALUX" technique | | Source | Description produit | Désignation courte SAP | | Size | Destination (Pays) | Peut changer | **Statuts de stock** : gérés dès l'ASN. Si stock OK : ne PAS envoyer de statut (champ vide ou absent du JSON). **Champs NON utilisés** : DivisionType, ReceiptOrderCode, IsSlave, Height/Volume (recalculé au pesage PIE), dates fabrication/expiration, numéro de série. ### ROR — Reception Order Request | Champ | Description | |-------|-------------| | Direction | ERP → WMS | | Déclencheur | Planification réception dans SAP (extérieures, intersites, retours) | | Contenu | Numéro de réception, articles, lots SAP, quantités (unités de vente) | | Structure | 1 ROR = 1 livraison SAP (un camion peut contenir plusieurs livraisons) | **Types de réception (InboundType)** : | InboundType | Usage | AccountCode/SupplierCode | Tolérance | |-------------|-------|--------------------------|-----------| | 0 (Fournisseur) | Livraisons DESADV | SupplierCode = "FOURNISSEUR" | Précisée par SAP (override profil) | | 1 (Retour) | Retours clients ORDRSP | AccountCode = "CLIENT" | Illimitée (ReceiveLessAllowed=true) | | 3 (Transfert) | Transferts inter-sites | — | 0% (palettes identifiées) | **Paramètres clés** : SingleReceipt = true (pas de reliquat WMS), FreeQuantity non nécessaire. Pas de SSCC dans le ROR (récupéré au scan RFID en réception). ### [CUSTOM] API Lot SAP (retours clients uniquement) | Champ | Description | |-------|-------------| | Direction | WMS → ERP (requête) puis ERP → WMS (réponse) | | Déclencheur | Scan lot officiel inconnu sur poste de travail | | Requête | Lot officiel | | Réponse OK | Lot SAP, articles possibles, descriptions, destinations + déclenchement ITM | | Réponse NOK | Message erreur ("lot n'existe pas" ou "lot non vendu") | ## Messages sortants (EasyWMS → SAP) ### REF — Reception Fulfilled | Champ | Description | |-------|-------------| | Direction | WMS → ERP | | Déclencheur | **Clôture manuelle** de la réception (action opérateur) | | Contenu | Conteneurs réceptionnés, lignes de stock, [CUSTOM] zone de stockage pour chaque palette, 4 attributs logistiques + lot SAP | | Structure | Un seul REF par réception (pas de progressif, car SingleReceipt=true). Le ReceiptCode (en-tête) = code réception WMS. Le code de l'ordre d'entrée est au niveau de la **ligne** (`LneRecOrdersPotential`) | | Contrainte | L'emplacement de rangement n'est connu qu'après le stockage en ASRS → attendre que toutes les palettes soient stockées avant d'envoyer le REF | | Données | S'appuie sur les données **réelles** (pas théoriques) | ### ROF — Reception Order Fulfilled | Champ | Description | |-------|-------------| | Direction | WMS → ERP | | Déclencheur | Validation/clôture de l'ordre d'entrée | | Rôle | Récapitulatif de l'ensemble des stocks reçus. Signale à l'ERP que l'ordre est fermé (même partiellement). Sans ROF, l'ERP ne clôturerait jamais la commande d'achat | | Reliquats | Pas de gestion de reliquats par EasyWMS. Si réception incomplète, c'est SAP qui gère le reliquat | | Hors tolérance | ROF bloqué jusqu'à régularisation par le manager dans SAP (customisation requise) | ### [CUSTOM] LOC — Location | Champ | Description | |-------|-------------| | Direction | WMS → ERP | | Déclencheur | Palette stockée dans l'ASRS (rangement effectif) | | Contenu | Numéro HU, station départ, station arrivée, workzone arrivée, emplacement arrivée | | Condition | Généré uniquement si stations départ et arrivée sont différentes | ## Diagramme de séquence — Réception production ```mermaid sequenceDiagram participant SAP participant WMS as EasyWMS participant GAL as Galileo/PIE SAP->>WMS: ITM (article/lot) Note over SAP,WMS: En amont SAP->>WMS: ASN (pré-notif HU) Note over SAP,WMS: À l'expédition source GAL->>WMS: Event PIE (RFID + poids) WMS->>WMS: Contrôle poids + rangement WMS->>GAL: Tâche stockage GAL->>WMS: End (palette stockée) WMS->>SAP: LOC (emplacement) ``` ## Diagramme de séquence — Réception extérieure ```mermaid sequenceDiagram participant SAP participant WMS as EasyWMS participant PK as Poste travail participant GAL as Galileo/PIE SAP->>WMS: ROR (ordre réception) WMS->>PK: Palette sur poste PK->>WMS: Déclaration contenu WMS->>GAL: Tâche évacuation → PIE GAL->>WMS: Event PIE WMS->>WMS: Contrôle + rangement GAL->>WMS: End (stockée) WMS->>SAP: LOC PK->>WMS: Clôture réception WMS->>SAP: REF (avec emplacements) WMS->>SAP: ROF ``` ## Points d'attention ⚠️ Le message REF est retardé jusqu'à validation PIE de tous les conteneurs (peut prendre du temps si file d'attente PIE longue). ⚠️ Le message LOC n'est pas standard — c'est un [CUSTOM] spécifique Limagrain pour traçabilité emplacement dans SAP. ⚠️ Les modifications dans les master data ne doivent **pas** être faites directement dans EasyWMS (risque d'écrasement par prochain ITM). ## Historique des modifications | Date | Auteur | Modification | |------|--------|--------------| | 2026-05-05 | Arthur | Création initiale depuis AF V1.5 | | 2026-05-06 | Arthur | Enrichissement ASN (1 par palette, attributs logistiques, champs non utilisés), ROR (InboundType, tolérances, SingleReceipt), REF (clôture manuelle, zone stockage, contrainte rangement), ROF (rôle, reliquats, hors tolérance) — depuis CR consolidé ERP | ## 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 | 23/02/2026 |