Files
mcp-wms-wiki/wiki_old_13-05-2026/sources/archives/recap_session_LIM-72_13-05-2026.md
2026-05-20 09:41:27 +02:00

15 KiB

État des lieux - Flux retour client Limagrain (LIM-72)

Date : 13/05/2026 Auteur : Arthur Ria Objectif : Contexte complet pour mise à jour du wiki Limagrain et reprise de session


1. Contexte de la session

Analyse v2 du ticket LIM-72 (#LOT1.3 [RETOUR] Flux complet PK) pour lever tous les points ouverts avant finalisation du développement. Sources exploitées :

  • Ticket Jira LIM-72 (description + 2 commentaires)
  • Ticket Jira LIM-64 (déclaration image de quai)
  • Ticket Jira LIM-14 (CstAtt, séquences, paramètres)
  • Wiki EasyWMS : reception-retour.md, controle-qualite-reception.md, gestion-camions.md, labels.md
  • Échange mail du 07-10/04/2026 : Michael Chaudier ↔ Vincent Goyet (clarification API ATH214)
  • Échange mail du 24-29/04/2026 : Justine ↔ Leila ↔ Vincent Goyet ↔ Maxime Tourrette (doc connexion WS SAP CPI)
  • Document PDF : Athenzat SAP-CPI Webservices Documentation v1.0 (Maxime Tourrette, 24/04/2026)

2. État du développement LIM-72

Ce qui est implémenté (commit Vincent Charvet 8401f5456d, 28/04/2026)

  • Entité CST_StockStatus : modification des custom attributes (CstAtt 1 = applicable en réception retour, CstAtt 2 = ZLOG, CstAtt 3 = ZINCO)
  • Query CST_StockStatus_AllowedForReturn : filtre les statuts autorisés en retour
  • Workflow CST_Return_Stock_GetStatus_UI : clone de Stock_GetStatus_UI simplifié pour les retours
  • Workflow Reception_FilterLinesByProductAndContainer_UI_V1 : retrait du filtre quantité pour autoriser la réception en excès (tolérance illimitée)
  • Workflow WorkStation_Reception_Supplier_UI : sélection du statut de stock après sélection du lot
  • Workflow Reception_GetQuantityAndUom_UI : ajout du choix de modification de statut
  • Workflow Reception_Supplier_CheckReceptionStatus_UI_V1 : autorisation de création de lignes pour les retours
  • Dialog CST_GetProductQuantity_Prompt : ajout de l'option SelectStatus

Ce qui reste à développer

  • Appel API SAP ATH214 (vérification lot officiel) + gestion du token OAuth 2.0
  • Écran d'attente ITM (polling alias en base toutes les 5s, timeout 1 min, 5 tentatives max)
  • Dialogue de choix multi-lot (quand ET_BATCH contient plusieurs articles)
  • Impression étiquette stock retour client (rapport custom à créer)
  • Configuration du flux de rejet PIE pour les retours (verrou ECART RETOUR, destination, notification)

3. Découvertes techniques clés

3.1. Architecture API SAP CPI

Source : Athenzat SAP-CPI Webservices Documentation v1.0

  • Authentification : OAuth 2.0 client_credentials
    • URL token TEST : https://vilm-cpi-test-73ltxp48.authentication.eu30.hana.ondemand.com/oauth/token
    • URL token PROD : à définir
    • Body : x-www-form-urlencoded avec grant_type=client_credentials, client_id, client_secret, addTokenTo=header
    • Expiration du token gérée côté client (WMS)
  • Endpoint unique pour tous les flux WMS → SAP :
    • URL TEST : https://vilm-cpi-test-73ltxp48.it-cpi020-rt.cfapps.eu30.hana.ondemand.com/http/ATHInboundMessage
    • URL PROD : à définir
    • Méthode : GET avec body JSON (spécifique SAP CPI)
    • Headers : Authorization: Bearer <token>, Connection: keep-alive
    • Body JSON : { "MessageType": "<code_flux>", "data": { ... } }
  • Conséquence pour LIM-72 : le paramètre SAP_LOT_VERIFY_URL du ticket doit pointer vers l'endpoint CPI unique, pas vers /api/v1/lot/verify. Le MessageType sera "ATH214". Le format d'enveloppe JSON doit inclure les structures MessageType + data.

3.2. API ATH214 - Check Batch (détail)

Source : échanges mails Vincent Goyet (08/04 - 28/04/2026)

Payload de requête :

{
  "MessageType": "ATH214",
  "data": {
    "IV_LGNUM": "WF02",
    "IV_MATNR": "",
    "IV_CHARG": "",
    "IV_BATCH_OFF": "<lot officiel scanné>",
    "IV_RETURN": "<code OE retour>"
  }
}
  • IV_LGNUM (CHAR 4) : toujours "WF02"
  • IV_MATNR (CHAR 40) : OPTIONAL - code lot WMS (= product code SAP)
  • IV_CHARG (CHAR 10) : OPTIONAL - code article WMS (= lot SAP)
  • IV_BATCH_OFF (CHAR 30) : lot officiel scanné sur le sac
  • IV_RETURN (CHAR 10) : numéro du document de retour (code OE)

Payload de réponse :

{
  "EV_RETURN": "X",
  "ET_RETURN": [ { "TYPE": "...", "MESSAGE": "...", ... } ],
  "ET_BATCH": [
    {
      "MATNR": "000000000000020955",
      "CHARG": "2023293649",
      "BATCH_OFF": "F0964D002488",
      "EV_DEPLOY": "X"
    }
  ]
}
  • EV_RETURN : "X" = aucune erreur, vide = erreur
  • ET_RETURN : messages d'erreur ou de succès SAP
  • ET_BATCH : lots/articles trouvés
    • MATNR (CHAR 40) : code lot WMS = product code SAP (mapping contre-intuitif)
    • CHARG (CHAR 10) : code article WMS = lot SAP (mapping contre-intuitif)
    • BATCH_OFF (CHAR 30) : lot officiel
    • EV_DEPLOY ou ZDEPLOY (CHAR 1) : "X" = déployé/vendu, "" = non (nom ambigu dans les échanges - à confirmer)

Séquence d'échange :

  1. WMS appelle ATH214 avec lot officiel + code retour
  2. SAP répond immédiatement avec EV_RETURN + ET_BATCH
  3. Si OK : SAP pousse en parallèle les ITM via ATH002/ITM01 (automatique, pas d'appel supplémentaire WMS)
  4. WMS poll toutes les 5s pour vérifier si l'alias (lot officiel) est apparu en base
  5. Si trouvé → continue ; si timeout (1 min) → propose "Réessayer" (5 tentatives max)

3.3. Cartographie complète des interfaces Athenzat

Source : diagramme dans la doc CPI + mail S15 de Justine

Code Direction Type SAP Type Easy Description
ATH002 SAP → Easy BATMAS ITM01 Fiche article (Item)
ATH103A SAP → Easy DELIVRY07 ROR01 Ordre de réception (Inbound delivery)
ATH108 SAP → Easy ORDRSP ROR01 Ordre de réception retour (Return delivery)
ATH103B SAP → Easy SHPUNT7 RUT Ordre de sortie (Outbound delivery)
ATH102BOM SAP → Easy LOIPRO SOR Ordre d'expédition (Shipping order)
ATH111 SAP → Easy ZSTKATH11 ASN / STR HU à recevoir / HU change
ATH302 SAP → Easy ZQMINSPLOT COR Tâche inventaire/échantillon
ATH214 Easy → SAP Z_IAT214 Z_IATH214 Check Batch (vérification lot retour)
ATH215 Easy → SAP Z_IAT215 REF Bon de réception retour / achat
ATH217 Easy → SAP Z_IAT217 ROF Bon de réception achat
ATH201 Easy → SAP Z_IAT201 LOC / STV Mouvement stock (rangement ASRS, mvt HU, prep mix, customer flag, stock adjust)
ATH202 Easy → SAP Z_IAT202 LOF Chargement (Loading / Goods Issue)

3.4. Glossaire - Mapping articles Limagrain

Source : confirmation Michael Chaudier (09/04) + Vincent Goyet (10/04)

Terme métier Signification Entité WMS Champ WMS Champ ATH214
Lot SAP ID unique lot dans SAP = code article WMS Item Item.Code CHARG (CHAR 10)
Lot officiel N° sur le sac physique (QR code) = alias article WMS ItemAlias ItemAlias.Code BATCH_OFF (CHAR 30)
Product code SAP Code produit générique = CstAtt du stock StockLine StockLine.CstAtt (à préciser) MATNR (CHAR 40)
Code retour N° document de retour = code OE InboundOrder InboundOrder.Code IV_RETURN (CHAR 10)
Déployé/vendu Flag vente Limagrain EV_DEPLOY (CHAR 1)

Attention : le mapping CHARG/MATNR est inversé par rapport à la nomenclature SAP standard. MATNR (normalement Material Number = code article) porte ici le product code, et CHARG (normalement Charge/Batch = lot) porte le code article WMS.

3.5. CstAtt Container - Mapping complet

Source : LIM-14

CstAtt Donnée Type Tâche Statut
01 Big-bag potentiel (réception contient big-bag) bool LIM-64 Utilisé
02 Contient big-bag bool LIM-67 Utilisé
03 À anoxier bool LIM-67 Utilisé
04 Support ASN bool LIM-64 Utilisé
05 Programme de filmage int LIM-67 Utilisé
06 Code PK assigné string LIM-70 Utilisé
07 Date fin d'anoxie datetime Utilisé
08 Code réception (conteneur virtuel) string Utilisé
09 CERTIFICATION (fausse palette) string Utilisé
10 Réception en cours au PK bool Utilisé
11 Rangé ASRS après réception bool LIM-73 Utilisé
12-20 Libres

Proposition : utiliser CstAtt12 pour stocker le code OE (association palette ↔ ordre d'entrée dès l'image de quai).

3.6. Contrôle qualité PIE - Retours clients

Source : wiki controle-qualite-reception.md

Verrou Flux Comportement post-PIE
HORS TOLERANCE Tous sauf retour Palette entre dans l'ASRS malgré le verrou
ECART RETOUR Retour client uniquement Palette refusée, envoyée vers poumon de rejet
  • Le rejet dirige vers un "poumon au sol" avec notification SmartUI
  • L'ancienne approche de renvoi au PK pour recomptage est abandonnée
  • Impact clôture : une palette sans CstAtt11 = true bloque la clôture. Le client doit supprimer la palette du WMS pour débloquer.

4. Points ouverts - Mail envoyé le 13/05/2026

Mail envoyé à : Justine, Leila Chajjaoui, Antoine Martin, Vincent Goyet, Pierre Gaudy, Maxime Tourrette, Vincent Charvet, Michael Chaudier.

Questions techniques SAP (Vincent Goyet / Pierre Gaudy)

# Question Criticité Statut
A1 Champs manquants dans ET_BATCH : description article, pays de destination, propriétaire Limagrain BLOQUANT - sans pays d'origine, le dialogue de choix multi-lot ne peut pas fonctionner En attente
A2 Nom final du champ de déploiement : EV_DEPLOY ou ZDEPLOY ? Mineur mais source de bugs En attente
A3 Délai typique entre réponse ATH214 et push ITM via ATH002 (dimensionnement du polling 5s / timeout 1 min) Important En attente
A4 Vérification "déployé" pour les lots déjà connus en base WMS (pas d'appel ATH214) : info dans l'ITM ou appel systématique ? IMPORTANT - trou fonctionnel dans le design actuel En attente

Questions fonctionnelles client (Leila / Antoine)

# Question Criticité Statut
B1 Étiquette stock retour : en complément de RFID ? Quels champs ? Format A6 ? Imprimante dédiée ? Important En attente
B2 Flux de rejet PIE : destination, notification, actions, retour PK abandonné ?, notification SAP ?, suppression palette IMPORTANT En attente

Point en suspens (hors mail)

# Sujet Décision Statut
PS Association palette ↔ OE dès l'image de quai (modification LIM-64) Arthur propose de valider les points précédents d'abord. CstAtt12 proposé pour stocker le code OE. Faisable techniquement, impact planning à évaluer. Reporté - à traiter après réponses

5. Actions à mener à réception des réponses

5.1. Mise à jour du ticket LIM-72

À intégrer dans la description v2 :

  • Corriger le format d'appel API : endpoint CPI unique + MessageType "ATH214" (pas /api/v1/lot/verify)
  • Ajouter la gestion OAuth 2.0 (token endpoint, client_credentials, gestion expiration)
  • Corriger le nom du champ de déploiement selon la réponse A2
  • Préciser le comportement pour les lots déjà connus (selon réponse A4)
  • Ajouter les champs manquants dans le dialogue multi-lot (selon réponse A1)
  • Spécifier le rapport d'étiquette stock retour (selon réponse B1)
  • Documenter le flux de rejet PIE (selon réponse B2)
  • Ajouter les nouveaux cas de tests (42 à 49 proposés dans l'analyse v2)
  • Mettre à jour les paramètres : SAP_LOT_VERIFY_URL → URL endpoint CPI + paramètres d'auth

5.2. Mise à jour des tâches liées pour l'association palette ↔ OE

Si GO sur l'informatisation de l'association palette ↔ OE, les tâches suivantes devront être modifiées :

Tâche Modification
LIM-14 Ajouter CstAtt12 Container = "Code OE associé" (string)
LIM-64 Modifier le workflow TRF : après déclaration nb palettes + emplacement de départ, foreach sur chaque emplacement pour demander l'OE associé. Stocker dans CstAtt12. Gestion Échap avec rollback. Impression groupée. Écran de validation collage.
LIM-65 Ajouter le code OE sur l'étiquette support image de quai
LIM-70 Le routage AGV pourra exploiter CstAtt12 pour diriger la palette vers le bon PK (optimisation optionnelle)
LIM-72 L'étape de sélection de la réception au PK peut être pré-remplie via CstAtt12

5.3. Mise à jour du wiki Limagrain

Pages wiki à mettre à jour :

Page Modifications
limagrain/01-inbound/reception-retour.md Intégrer les détails auth OAuth 2.0, corriger le format d'appel CPI (endpoint unique + MessageType), corriger EV_DEPLOY/ZDEPLOY, ajouter le flux de rejet PIE, ajouter l'étiquette stock
limagrain/01-inbound/gestion-camions.md Si GO sur l'association OE : documenter le nouveau flux TRF avec foreach + CstAtt12
limagrain/01-inbound/controle-qualite-reception.md Compléter le flux de rejet PIE pour les retours (destination, notification, actions)
limagrain/06-erp-interface/ (à créer ou mettre à jour) Documenter l'architecture CPI (endpoint unique, auth, MessageType), la cartographie complète des interfaces ATH, et le détail de chaque flux

6. Documents produits pendant la session

Document Chemin Description
Analyse v2 LIM-72 LIM-72_v2_analyse_retour_client.md Analyse complète avec réponses aux 4 questions, glossaire, plan d'action
Ce récap recap_session_LIM-72_13-05-2026.md État des lieux pour reprise de contexte

7. Contacts projet

Nom Rôle Organisation
Arthur Ria CDP / Intégrateur WMS Mecalux France
Justine Beutin Chef de projets IT Mecalux France
Michael Chaudier Directeur des opérations WMS Mecalux France
Vincent Charvet Développeur WMS Mecalux France
Leila Chajjaoui Domain Leader Supply Chain Limagrain Europe
Antoine Martin Référent projet côté client Limagrain
Vincent Goyet Consultant SAP / Développeur interfaces 1465 Conseil (prestataire Limagrain)
Pierre Gaudy Consultant SAP 1465 Conseil (prestataire Limagrain)
Maxime Tourrette Développeur IT Expert (SAP CPI) Limagrain Europe