Files
2026-05-20 09:41:27 +02:00

226 lines
9.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Données principales et stock — Mapping ITM et attributs"
tags: [ERP, ITM, article, stock, attributs-logistiques, lot-SAP, mapping, CstAtt]
status: draft
standard_ref: architecture/erp-integration.md
jira_refs: []
confluence_refs: ["Données principales + stock - LIMAGRAIN - DEV"]
sources: ["Données principales + stock - LIMAGRAIN - DEV - Confluence.md", "CR CONSOLIDES REU ERP LIMAGRAIN V1 - CR.md"]
last_updated: 2026-05-06
author: Arthur
---
# Données principales et stock — Mapping ITM et attributs
> **Résumé** : architecture retenue pour la gestion des articles et du stock
> dans EasyWMS chez Limagrain, mapping du message ITM, attributs logistiques,
> profils et gestion des poids.
> **Standard EasyWMS** : → voir [ERP Integration](../../concepts/erp-interface.md)
> Ce qui suit documente les **spécificités Limagrain** par rapport au standard.
## Contexte projet
Les décisions ci-dessous sont issues des ateliers d'interfaçage EasyWMS / SAP
réalisés entre le 05/01/2026 et le 23/02/2026, consolidées le 27/02/2026.
## Architecture retenue : Lot SAP = Article WMS
Le code article dans EasyWMS est le **code lot SAP** (et non le code produit
SAP). L'option concaténation code produit + lot SAP a été étudiée et écartée.
Le **code produit SAP** est géré comme un attribut au niveau du stock (pas de
la fiche article), car un même lot SAP peut correspondre à plusieurs produits
différents (ex. : changement de destination).
| Relation | Type | Statut |
|----------|------|--------|
| Lot SAP ↔ Lot Officiel | 1 pour 1 | ✅ Validé par Limagrain |
| Code article WMS = Code lot SAP | — | ✅ Validé |
| Code produit SAP = Attribut logistique du stock | — | ✅ Validé |
### Côté SAP
Il existe une base article avec des codes articles uniques. Les articles sont
gérés au lot. Chaque article peut avoir plusieurs codes lots SAP. Chaque code
lot SAP a un équivalent code lot OFFICIEL national (relation 1:1).
### Côté EasyWMS
Chaque lot SAP est descendu via le fichier ITM. L'article SAP devient un
attribut du lot SAP (et non l'inverse).
**Code article WMS = code lot SAP**
## Unité de base selon le type d'article
| Type article | Description | Unité de base WMS |
|--------------|-------------|-------------------|
| FERT | Produit fini | BAG (sac) |
| ZSIZ | Semi-fini calibré | KG |
L'unité de base dans le WMS est l'unité logistique (pas l'unité de base SAP).
Un même produit peut exister en BAG et en KG = codes articles WMS différents.
## Mapping fiche article (message ITM)
| Champ EasyWMS | Champ SAP | Remarque |
|---------------|-----------|----------|
| ItemCode | Code lot SAP | Clé principale |
| Alias | Lot officiel | Relation 1:1, scannable |
| OwnerCode | — | Constante "MECALUX" (technique) |
| Description | Description longue | Affichage PC |
| AltDescription | Description courte (MAKTL) | Affichage mobile, < 65 car. |
| Type | FERT / ZSIZ / etc. | + description du type |
| Family | Traitement commercial | Ex : "20 : R - Cruiser OSR" — pas de séparation familles en préparation |
| BaseUoM | BAG ou KG | Selon type d'article |
| Weight | Poids brut du sac | Poids unitaire théorique |
| ContainerQty | Nb sacs par palette | Palette pleine standard (= Bag/Pal) |
| ContainerType | Palette | Un seul type de palette |
| CstAtt02 | Espèce | Ex : M = Maïs, S = Tournesol — pour ordonnancement picking |
| CstAtt03 | Génération | Génération article rattachée au lot SAP |
| CstAtt04 | Variété | Ex : "LG50465" |
| CstAtt05 | Big bag | True / False |
| CstAtt06 | GTIN | Ne peut être un alias car non unique |
| CstAtt07 | Semences essais | True / False |
| CstAtt08 | Size (calibre) | — |
| CstAtt09 | Field production area | — |
| CstAtt10 | Stage | ⚠️ À ajouter — requis pour étiquette échantillon |
| Conversion.Principale.CstAtt01 | Poids unitaire article | Poids théorique ERP |
## Profils logistiques
| Type d'article | Profil | Description |
|----------------|--------|-------------|
| Articles classiques | PROFIL_STANDARD | Gestion code produit + propriétaire + description + pays destination |
| Palettes bois vides | PROFIL_PALETTE | Gestion palette bois vide |
## Attributs logistiques du stock
> **Décision du 11/02/2026** : les Custom Attributes au niveau du stock
> (CstAtt0104) ont été **supprimés** au profit des attributs logistiques
> standards du WMS. Les modes de capture sont désactivés pour éviter la
> customisation de tous les écrans.
| Champ EasyWMS (balise API) | Libellé affiché WMS | Champ SAP | Remarque |
|----------------------------|---------------------|-----------|----------|
| Lot | Lot | Code produit SAP | Différencie les produits pour un même lot SAP |
| Color | Couleur | Code propriétaire SAP | ≠ "MECALUX" technique |
| Source | Source | Description courte SAP | Désignation courte |
| Size | Taille | Pays de destination | Peut changer en cours de vie du stock |
> ⚠️ Les noms de balises API (Color, Size…) ne correspondent pas aux données
> métier. Le renommage d'affichage est géré dans le WMS.
> **Point à tester** : en réception, la création du stock via les attributs
> logistiques doit être validée (approche standard ou custom — à confirmer
> par les tests).
## Gestion des codes clients / fournisseurs
La base client/fournisseur SAP **n'est pas interfacée** avec le WMS.
Les codes sont gérés via des constantes + champ texte libre :
| Flux | Champ code | Champ Source |
|------|------------|--------------|
| ROR Fournisseur | SupplierCode = "FOURNISSEUR" | Code fournisseur SAP + libellé |
| ROR Retour client | AccountCode = "CLIENT" | Code client SAP + libellé |
| SOR / RUT Client | AccountCode = "CLIENT" | Code client SAP + libellé |
| SOR Production | AccountCode = "PRODUCTION" | — |
## Gestion des poids
| Situation | Comportement ERP |
|-----------|-----------------|
| Article en BAG (UdM ≠ KG) | L'ERP ne s'intéresse qu'à la quantité de sacs — les écarts de poids sont ignorés |
| Article en KG | Seule la quantité en KG intéresse l'ERP — si le poids change (balance), le WMS modifie la quantité |
Le poids théorique de la ligne de stock (quantité × poids unitaire, hors
poids palette) est transmis via l'attribut logistique `Weight`.
## Champs NON utilisés dans ITM
Les champs suivants sont explicitement exclus du mapping :
Stock Label, Classification ABC, Alertes stock (min/max), Image produit,
Code danger (pas d'impact logistique), Températures min/max, Cross-docking,
Gerbabilité (gérée via ordonnancement picking), Picking message, IsPacking.
## Conversions
- Unité de base = BAG ou KG (pas de conversion supplémentaire identifiée)
- Pas de gestion financière ni de découpage dans les sacs
- Le nombre de sacs par palette pleine est géré dans la conversion container
(champ `ContainerQty`)
## Types de supports
| Type | Usage | Statut |
|------|-------|--------|
| EWM-PAL00 / PALETTE_US | Palette standard (un seul type) | ✅ Confirmé |
| BIGBAG | Attribut de la HU (pas type séparé) | ✅ Validé |
| Octobin | Hors périmètre phase 1 | ❌ |
La création de types de supports est techniquement lourde (nécessite passage
par support Mecalux, impact design entrepôt). Les BigBag sont déclarés par
l'opérateur au poste de réception. Le WMS ajuste le calcul de poids (+2 kg
environ).
## Z-Bags (sacs vides)
Stockés dans le magasin automatique (SRS) **uniquement pour livraison aux
clients**, pas pour l'approvisionnement production. Doivent respecter les
mêmes formats et règles que les palettes produits. → À valider
fonctionnellement.
## Paramètres généraux de l'interface
| Paramètre | Valeur |
|-----------|--------|
| Format | JSON |
| Opération par défaut | 3 = Upsert |
| Mode de mise à jour | Complete = true (fiche complète à chaque envoi) |
| OwnerCode (technique) | "MECALUX" |
| Site | WF02 |
## Points d'attention
⚠️ Le CstAtt10 (Stage) est **à ajouter** — il est requis pour l'étiquette
d'échantillonnage.
⚠️ Les noms de balises API stock (Color, Size, Source) sont détournés de
leur usage standard — ne pas confondre avec les concepts habituels.
⚠️ Les CstAtt au niveau du stock ont été supprimés (décision 11/02/2026)
au profit des attributs logistiques standards — vérifier l'impact sur les
développements en cours.
⚠️ Le mode Complete = true signifie que chaque ITM contient la fiche
complète (pas de delta) — attention à la volumétrie.
⚠️ La base client/fournisseur n'est pas interfacée : le code est descendu
dans chaque message ROR/SOR/RUT, pas maintenu en master data.
## Questions ouvertes
- [ ] CstAtt10 Stage — quand sera-t-il ajouté au mapping ITM ? (@Nicolas)
- [ ] Création stock via attributs logistiques en réception — standard ou
custom ? À valider par tests (@Fabien)
- [ ] Impact suppression CstAtt stock sur les développements existants (@Nicolas)
## Historique des modifications
| Date | Auteur | Modification |
|------|--------|--------------|
| 2026-05-05 | Arthur | Création initiale depuis page Confluence DEV |
| 2026-05-06 | Arthur | Ajout champs non utilisés, conversions, types supports, Z-Bags (CR consolidé) |
## Références
| Source | Type | Date |
|--------|------|------|
| Données principales + stock - LIMAGRAIN - DEV | Page Confluence | 27/02/2026 |
| Ateliers interfaçage EasyWMS/SAP | Ateliers | 05/01 → 23/02/2026 |
| Notes complémentaires 11/02/2026 | Note | 11/02/2026 |
| CR CONSOLIDES REU ERP LIMAGRAIN V1 | CR ateliers | 23/02/2026 |