Files
mcp-wms-wiki/wiki/limagrain/01-inbound/flux-erp-inbound.md
T
2026-05-20 09:41:27 +02:00

196 lines
8.0 KiB
Markdown

---
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](../../concepts/erp-interface.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 |