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

24 KiB
Raw Permalink Blame History

title, tags, status, standard_ref, jira_refs, confluence_refs, sources, last_updated, author
title tags status standard_ref jira_refs confluence_refs sources last_updated author
LOC - Message périodique (spécification complète)
ERP
LOC
custom
delta
mouvement
stock
JSON
SAP
GNA
draft concepts/erp-interface.md
LIM-76
LOC - Etat des lieux V2.md
CR CONSOLIDES REU ERP LIMAGRAIN V1 - CR.md
LIM-76 LOT1.2 [GNA] Message LOC.md
Jira LIM-76 (relecture commentaires 2026-07-17, revue de code en cours)
2026-07-17 Arthur

LOC - Message périodique (spécification complète)

Résumé : spécification du message custom LOC, envoyé du WMS vers SAP toutes les 5 minutes via le GNA, contenant le delta des HU modifiées. Le LOC remplace les messages PCK, MOVE, STV et STC et devient le seul canal de notification des mouvements de stock vers SAP.

Standard EasyWMS : → voir ERP Integration Ce message est un [CUSTOM] - il n'existe pas dans le standard EasyWMS.

Voir aussi : Référence messages, Flux ERP outbound, Intégration GNA → SAP-CPI

Contexte projet

Le LOC est un message custom envoyé du WMS vers SAP toutes les 5 minutes ( reconfirmé le 30/04/2026), contenant l'état de toutes les HU ayant subi une modification durant la période écoulée.

Il remplace les messages PCK et MOVE (supprimés) et centralise la communication des mouvements physiques vers l'ERP. Le LOC ne transmet pas l'intégralité de la base, uniquement le delta sur la fenêtre de 5 minutes (basé sur la CreationDate des transactions WMS).

Pourquoi le LOC plutôt que des STV purs ?

Limagrain (Nicolas Sanchez) a exprimé que les STV en delta (+/-) ne sont pas fiables : si un message se perd ou est mal intégré, l'écart est définitivement perdu. Limagrain souhaite recevoir des quantités absolues que SAP prend pour argent comptant et compare à ses propres données pour générer les écritures de delta.

Le LOC est un fork fonctionnel du WSC (Warehouse Stock Count) adapté pour ne remonter que le delta des 5 dernières minutes, formaté selon un JSON spécifique attendu par SAP.

Décisions structurantes

  • STV désactivé (post-processing coupé) - le LOC devient le seul canal de notification des mouvements de stock vers SAP
  • STC désactivé - les changements de statut hors retour sont limités au B6 (blocage logistique) et sont couverts par le LOC (action R/U). Les statuts des retours sont remontés dans le REF

Architecture technique

Chaîne de traitement

Job (toutes les 5 min) → Workflow → Transaction custom LOC.SEND → GNA →
Script BOO (requêtes WMS + agrégation + formatage JSON) → POST API SAP

Côté WMS

  1. Un Job s'exécute toutes les 5 minutes
  2. Ce job appelle un Workflow custom dont le seul rôle est de créer une transaction custom LOC.SEND
  3. Le Workflow et la transaction ne portent aucune logique métier côté WMS - toute la logique est dans le GNA

Côté GNA

  1. Un script BOO dédié au message LOC est créé dans le GNA
  2. Le GNA détecte la transaction custom LOC.SEND
  3. À réception, le script BOO :
    • Collecte toutes les transactions WMS pertinentes sur le delta de temps
    • Agrège les données par HU et détermine le code ACTION pour chaque mouvement
    • Construit le JSON au format attendu par SAP
    • Effectue un appel POST vers l'API SAP-CPI (voir Intégration GNA → SAP-CPI)

Détection du delta

  1. À chaque exécution, enregistrer un timestamp de dernière exécution
  2. Récupérer toutes les transactions dont CreationDate > dernier_timestamp et CreationDate ≤ timestamp_courant
  3. Agréger par HU, déterminer le code ACTION pour chaque mouvement
  4. Générer le JSON et envoyer
  5. Si aucune transaction pertinente sur le delta → pas d'envoi de LOC

Couverture fonctionnelle - 7 codes ACTION

Code Signification Déclencheur
B Déplacement bin-to-bin Déplacement de HU d'une zone à une autre
U Set to Unrestricted (déblocage) Déblocage statut B6
R Set to Restricted (blocage) Blocage statut B6
S Scrap quantity (suppression) Suppression de stock / support
T Transfert inter-HU Transfert de quantité entre deux HU
C Correction de poids Ajustement de quantité (valeur absolue)
P Assignation client Palette positionnée sur image de quai

Palettes exclues du LOC

Exclure les palettes liées à une réception non fermée (= dont le REF n'a pas encore été envoyé). Seules les HU déjà connues de SAP via un REF préalable doivent apparaître dans le LOC.

Format JSON attendu par SAP

Paramètres d'import

Réf. Champ Type Description
1 IV_LGNUM CHAR 4 Numéro d'entrepôt (valeur fixe : "WF02") - config EasyS
2 IV_TREATMENT_ID CHAR 24 Horodatage de génération du LOC

Structure JSON

{
    "IV_LGNUM": "WF02",
    "IV_TREATMENT_ID": "<HORODATAGE_GENERATION_LOC>",
    "IT_CREATE": [
        {
            "MATNR": "<CODE_PRODUIT_SAP>",
            "BATCHID": "<LOT_SAP>",
            "ACTION": "<CODE_ACTION>",
            "ANFME": "<QUANTITE_OU_VIDE>",
            "ALTME": "<UDM_OU_VIDE>",
            "VLPLA": "<ZONE_STOCKAGE_ORIGINE>",
            "NLPLA": "<ZONE_STOCKAGE_DESTINATION>",
            "VLENR": "<CODE_SUPPORT_ORIGINE>",
            "NLENR": "<CODE_SUPPORT_DESTINATION>",
            "REASON": "<CODE_RAISON_OU_VIDE>",
            "VBELN": "<CODE_LIVRAISON_OU_VIDE>",
            "POSNR": "<LIGNE_LIVRAISON_OU_VIDE>"
        }
    ]
}

Table IT_CREATE - Champs (1:n)

Réf. Champ Type Description
1 MATNR CHAR 40 Code produit SAP - vide si action B ou P
2 BATCHID CHAR 10 Code lot SAP - vide si action B ou P
3 ACTION CHAR 1 Code action : B, U, R, S, T, C, P
4 ANFME NUM 13.3 Quantité (absolue ou transférée selon action) - vide si B, U/R, P
5 ALTME CHAR 3 Unité de mesure (BAG, KG) - vide si action B ou P
6 VLPLA CHAR 18 Zone de stockage origine
7 NLPLA CHAR 18 Zone de stockage destination
8 VLENR CHAR 20 Code HU (palette) source - SSCC
9 NLENR CHAR 20 Code HU (palette) destination - SSCC
10 REASON CHAR 4 Code raison scrap - uniquement pour action S (ZSC1)
11 VBELN - Code livraison sortante SAP - uniquement pour action P
12 POSNR - Ligne de livraison sortante SAP - uniquement pour action P

Données stock/container à récupérer par ligne LOC

Pour chaque HU identifiée dans les transactions du delta :

  • Code produit SAP : attribut logistique LotCode du stock
  • Code lot SAP : ItemCode du stock (= code article WMS)
  • Quantité : quantité actuelle de la ligne de stock (UdM de base WMS = unité alternative SAP)
  • UdM : BAG ou KG
  • Zone de stockage : zone WMS du container (origine et destination)
  • Code support : ContainerCode (SSCC)
  • Code livraison sortante : ShippingOrderCode si action P

Règles de remplissage par action

Champ B (déplacement) U/R (statut) S (suppression) T (transfert) C (correction) P (assignation)
MATNR Vide Code produit Code produit Code produit Code produit Vide
BATCHID Vide Lot SAP Lot SAP Lot SAP Lot SAP Vide
ACTION B U ou R S T C P
ANFME Vide Vide Qté supprimée Qté transférée Qté absolue Vide
ALTME Vide UdM UdM UdM UdM Vide
VLPLA Zone origine Zone actuelle Zone actuelle Zone HU source Zone actuelle Vide
NLPLA Zone destination Vide Vide Zone HU dest. Vide Image de quai
VLENR Code HU Code HU Code HU Code HU source Code HU Code HU
NLENR Vide Vide Vide Code HU dest. Vide Vide
REASON Vide Vide ZSC1 Vide Vide Vide
VBELN Vide Vide Vide Vide Vide Code livraison
POSNR Vide Vide Vide Vide Vide Ligne livraison

Règles métier par type d'action

ACTION = B (Déplacement bin-to-bin)

Déplacement de HU d'une zone à une autre. Pas de quantité, pas de code article, pas de lot - seuls les champs zone et support sont renseignés. Le contenu de la HU n'est pas rediscuté.

ACTION = U / R (Déblocage / Blocage statut)

Hors flux retour, le seul statut autorisé est le B6 (blocage logistique). ACTION=R pour bloquer, ACTION=U pour débloquer.

Les statuts exotiques des retours (B6, F2, F9, etc.) sont gérés dans le REF de la réception retour, pas dans le LOC.

ACTION = S (Suppression / Scrap)

REASON est renseigné uniquement pour cette action. Valeur : ZSC1 (scrapping normal). Pas d'autre valeur possible.

ACTION = T (Transfert inter-HU)

Source et destination dans la même ligne (VLENR + NLENR). ANFME = quantité transférée (pas le solde restant).

Si le transfert passe par une étape intermédiaire (table de travail), transmettre chaque étape séparément avec un emplacement matérialisé.

Cas picking : 5 tâches alimentant la même palette fille = 5 lignes ACTION=T dans le même LOC, dans l'ordre chronologique.

Création de palette au picking : si le SSCC en NLENR est inconnu de SAP, SAP crée automatiquement la HU (type palette standard). Le LOC ne crée que la structure palette - le stock est transféré depuis une palette source connue.

ACTION = C (Correction de quantité)

Quantité absolue comptée/validée (pas un écart). SAP calcule le delta. REASON n'est pas renseigné.

ACTION = P (Assignation client)

Déclencheur : palette physiquement positionnée sur l'image de quai (pas l'assignation logique). Champs obligatoires :

  • ACTION = P
  • VLENR = Code HU
  • NLPLA = Image de quai de la HU
  • VBELN = Code livraison sortante SAP (= SorCode côté WMS)
  • POSNR = Ligne de livraison sortante SAP (= ligne d'OS associée à l'article)

Les champs MATNR, BATCHID, ANFME, ALTME, VLPLA, NLENR, REASON sont vides pour cette action.

Transactions WMS sources

Transaction WMS Action LOC Données à récupérer
CON.MOVE B (déplacement) ContainerCode, zone origine, zone destination
CON.LOCATE B (déplacement) Idem
STK.MOVE B ou T ContainerCode source et dest. Si ContainerTo ≠ ContainerCode → T avec qté transférée
STK.ADJ C (correction) ContainerCode, quantité absolue actuelle après ajustement, UdM
CST.STK U ou R ContainerCode, nouveau statut (B6 uniquement hors retour)
STK.PICKING T (transfert) Container source, container destination (palette fille), qté transférée
CON.DELETE S (suppression) ContainerCode, quantité supprimée

⚠️ Vérifier si d'autres transactions sont utiles pour le LOC (ex. STK.SCR pour le scrap depuis RF).

Zones de stockage (VLPLA / NLPLA)

Les codes zone WMS ne correspondent pas directement aux codes emplacement SAP. Une table de correspondance est nécessaire, réalisée via un paramètre EasyS (ex : [TK_5_A:TK_5][TK_5_B:TK_5]).

Zones attendues par SAP

Zone SAP Correspondance WMS
ASRS1 TK1 (compartiment anoxie)
ASRS2 TK2 (compartiment du milieu)
ASRS3 Zone accessible du TK3 uniquement (grand compartiment)
ASRS4 Zone accessible du TK4 uniquement (grand compartiment)
ASRS34 Zone accessible des deux TK3 et TK4 (grand compartiment)
PICKING Si présent sur un PK/TP
QUAI Si présent sur un emplacement d'image de quai ou sur le quai

Horodatage (IV_TREATMENT_ID)

IV_TREATMENT_ID = horodatage du moment de génération du LOC (pas l'heure de chaque transaction individuelle). Toutes les lignes d'un même LOC partagent le même horodatage.

Format : YYYYMMDD - limité à 24 caractères (CHAR 24).

Ordre des lignes

Les lignes dans IT_CREATE doivent être dans l'ordre chronologique des transactions WMS. SAP traite les lignes dans l'ordre du fichier.

Contraintes de longueur

Champ Type Longueur max
IV_LGNUM CHAR 4
IV_TREATMENT_ID CHAR 24
MATNR CHAR 40
BATCHID CHAR 10
ACTION CHAR 1
ANFME NUM 13.3 (13 entiers, 3 décimales)
ALTME CHAR 3
VLPLA CHAR 18
NLPLA CHAR 18
VLENR CHAR 20
NLENR CHAR 20
REASON CHAR 4

Désactivation STV et STC

STV

Désactiver le post-processing des transactions STK.ADJ → plus de génération de message STV. Le LOC couvre ce besoin via ACTION=C.

Vérifications préalables obligatoires :

  • Lister toutes les transactions qui génèrent un STV et confirmer que le LOC couvre chaque cas
  • Vérifier que le middleware GNA n'a pas d'autre dépendance au STV

STC

Désactiver le post-processing des transactions CST.STK → plus de génération de message STC. Le LOC couvre le B6 via ACTION=R/U.

Mêmes vérifications à effectuer que pour le STV. Documenter les résultats de cette analyse dans un commentaire de la tâche avant de procéder à la désactivation.

Critères d'acceptation

  1. Un job WMS tourne toutes les 5 minutes et crée une transaction custom LOC.SEND
  2. Le GNA détecte cette transaction et génère un JSON LOC conforme
  3. Le JSON est envoyé en POST à l'endpoint SAP
  4. Les 7 codes ACTION (B, U, R, S, T, C, P) sont correctement générés
  5. ACTION=B : ANFME, ALTME, MATNR, BATCHID, NLENR, REASON, VBELN, POSNR vides - seuls VLPLA, NLPLA et VLENR renseignés
  6. ACTION=U/R : MATNR, BATCHID, ALTME, VLPLA, VLENR renseignés - ANFME, NLPLA, NLENR, REASON, VBELN, POSNR vides
  7. ACTION=S : REASON=ZSC1 - MATNR, BATCHID, ANFME, ALTME, VLPLA, VLENR renseignés - NLPLA, NLENR, VBELN, POSNR vides
  8. ACTION=T : VLENR et NLENR dans la même ligne - ANFME = qté transférée (pas un solde) - REASON, VBELN, POSNR vides
  9. ACTION=C : ANFME = quantité absolue (pas un delta) - NLPLA, NLENR, REASON, VBELN, POSNR vides
  10. ACTION=P : VLENR, NLPLA (image de quai), VBELN, POSNR renseignés - MATNR, BATCHID, ANFME, ALTME, VLPLA, NLENR, REASON vides
  11. Palettes liées à une réception non fermée (pas de REF envoyé) exclues
  12. Lignes dans IT_CREATE dans l'ordre chronologique des transactions WMS
  13. IV_TREATMENT_ID = horodatage de génération (CHAR 24)
  14. Aucune transaction pertinente sur le delta → pas d'envoi de LOC
  15. Contraintes de longueur respectées sur tous les champs
  16. STV et STC désactivés après validation de l'analyse d'impact
  17. Picking N tâches → N lignes ACTION=T dans l'ordre chronologique
  18. SSCC inconnu en NLENR lors d'un ACTION=T → LOC ne bloque pas, SAP crée la HU automatiquement

Cas de tests

Architecture et Job

CT CA Description Résultat attendu
CT-01 1 Déclenchement job toutes les 5 min 3 transactions LOC.SEND en 15 min
CT-02 2,3 GNA détecte LOC.SEND et génère JSON JSON conforme + POST HTTP 200
CT-03 14 Aucune transaction sur le delta Aucun POST vers SAP

ACTION=B - Déplacement

CT CA Description Résultat attendu
CT-10 4,5 Déplacement via CON.MOVE ACTION=B, seuls VLPLA/NLPLA/VLENR renseignés
CT-11 4,5 Déplacement via CON.LOCATE Idem CT-10
CT-12 4,5 STK.MOVE sans changement HU (ContainerTo=ContainerCode) ACTION=B (pas T)

ACTION=U/R - Blocage / Déblocage

CT CA Description Résultat attendu
CT-20 4,6 Blocage HU via CST.STK (→ B6) ACTION=R, MATNR/BATCHID/ALTME/VLPLA/VLENR renseignés
CT-21 4,6 Déblocage HU via CST.STK (← B6) ACTION=U
CT-22 6 Changement statut hors B6 (hors retour) Aucune ligne dans le LOC

ACTION=S - Suppression / Scrap

CT CA Description Résultat attendu
CT-30 4,7 CON.DELETE sur une HU ACTION=S, REASON=ZSC1, qté et champs stock renseignés
CT-31 7 Plusieurs suppressions Chaque ligne S a REASON=ZSC1 uniquement

ACTION=T - Transfert inter-HU

CT CA Description Résultat attendu
CT-40 4,8 STK.MOVE avec ContainerTo ≠ ContainerCode ACTION=T, VLENR+NLENR+ANFME renseignés
CT-41 4,8 STK.PICKING ACTION=T, ANFME = qté transférée (pas solde)
CT-42 17 3 pickings → même palette fille 3 lignes T dans l'ordre chronologique
CT-43 18 Picking vers SSCC inconnu SAP Ligne T générée, LOC ne bloque pas
CT-44 8 Transfert via table de travail 2 lignes distinctes (pas de fusion)

ACTION=C - Correction de quantité

CT CA Description Résultat attendu
CT-50 4,9 STK.ADJ (ajustement) ACTION=C, ANFME = qté absolue après ajustement
CT-51 9 Vérification REASON vide REASON vide pour action C

ACTION=P - Assignation client

CT CA Description Résultat attendu
CT-60 4,10 Palette sur image de quai ACTION=P, VLENR/NLPLA/VBELN/POSNR renseignés
CT-61 10 Champs vides vérifiés MATNR/BATCHID/ANFME/ALTME/VLPLA/NLENR/REASON vides

Filtre d'exclusion

CT CA Description Résultat attendu
CT-70 11 HU réception non fermée (pas de REF) Aucune ligne dans le LOC
CT-71 11 HU réception fermée (REF envoyé) Ligne présente dans le LOC

Ordre chronologique et horodatage

CT CA Description Résultat attendu
CT-80 12 3 transactions dans l'ordre Lignes dans l'ordre chronologique
CT-81 13 IV_TREATMENT_ID Horodatage de génération, ≤ 24 car.

Contraintes de longueur et cas combinés

CT CA Description Résultat attendu
CT-90 15 Valeurs aux limites de longueur JSON sans troncature
CT-91 15 ANFME avec décimales Format NUM 13.3 respecté
CT-100 16 STK.ADJ après désactivation STV Pas de STV, LOC contient ACTION=C
CT-101 16 CST.STK après désactivation STC Pas de STC, LOC contient ACTION=R
CT-110 4,12 Plusieurs actions dans le même delta 4 lignes, 4 actions, ordre chronologique
CT-111 2 IV_LGNUM Toujours "WF02"
CT-112 - HU multi-lignes de stock Plusieurs entrées dans IT_CREATE

[CUSTOM] Implémentation GNA (statut : en revue de code, préprod)

Statut ticket au 2026-07-17 : En revue de code (plusieurs livraisons préprod, revue Vincent Charvet en cours). Éléments issus de la relecture des commentaires :

Élément Type Rôle
CST_SendLOCTransaction Job Toutes les 5 min, appelle CST_SendLOC
CST_SendLOC WF Crée la transaction LOC.SEND (aucune logique métier)
LOC.SEND TransactionType Déclenche la génération du LOC
LOC_ZONE_MAPPING Paramètre Correspondance zones TK → zones client (voir Paramètres projet)
CommonExportWebApi.boo Script GNA Structure LOC selon le template client
EasyWMSExportMessages.boo Script GNA Appelle WriteLOC01 sur réception de LOC.SEND
EasyWMSWebApiObserver.boo Script GNA Ajoute le type de message LOC01
LOC01.boo Script GNA En-tête du message
WriteLOC01.boo Script GNA Génère le message ; si rien n'a changé → transaction en erreur motif NO_CHANGES (évolution demandée : ne plus générer de transaction en erreur si rien à envoyer)
LOC01Observer.boo Script GNA Cœur : récupère la dernière LOC.SEND, prend les transactions depuis (CON.MOVE, CON.LOCATE, STK.MOVE, STK.ADJ, CST.STK, STK.PICKING, CON.DELETE), détermine l'ACTION
LOC01.xsd Schéma Structure du message LOC

Décision réception non fermée : on n'envoie pas de LOC pour un conteneur pas encore présent dans l'ERP (SAP les crée à partir du REF). Conséquence assumée par le client (soulevée par Nicolas le 02/06) : les modifications intervenues sur la palette avant l'envoi du REF ne sont pas rejouées après coup (filtrage par date/heure de traitement).

Picking négatif (en cours - point délicat)

Le picking négatif génère la séquence de transactions suivante :

  • CON.CREATE : nouveau conteneur sur une TP
  • STK.PICKING.NEG : déplacement de l'excédent vers la nouvelle palette, origine = destination = conteneur d'origine (picking sur lui-même), quantité = quantité demandée dans l'OS
  • 2× CHB.LAB : échange des labels des deux palettes (nouveau → origine, puis l'inverse)

Problème : avec CON.CREATE + STK.PICKING.NEG seuls, on n'a pas la corrélation entre conteneur source et destination. CHB.LAB pourrait faire le lien, mais le swap des labels intervient après le picking - si le LOC part entre les deux étapes, l'information ne peut pas être regroupée. Analyse en cours (LOC01Observer mis à jour le 03/07 ; pistes de réflexion partagées par Arthur).

Retours revue de code / client (à traiter)

  • Retour client (08/07) : certains LOC non intégrables côté SAP - action S avec les autres champs vides ; doublons (même info plusieurs fois). Corrections appliquées 09/07 puis 17/07.
  • Revue de code (10/07, Vincent Charvet) : détail des stocks manquant sur action S ; valeur WF02 codée en dur ; fonction BuildZoneMapping jamais utilisée (éviterait de parser LOC_ZONE_MAPPING par emplacement) ; null ref potentielles sur la comparaison au statut B6 ; optimiser le cache (une query par type de donnée). Changements appliqués 17/07, re-revue à faire.

Points d'attention

⚠️ STV et STC désactivés - vérifier qu'aucun autre process métier ne dépend d'eux (middleware GNA, reporting).

⚠️ Le filtrage GNA des STV avec motif "STR" devient caduc si le STV est globalement désactivé.

⚠️ Le LOC ne doit jamais transmettre de palettes dont la réception n'est pas fermée (pas de REF envoyé).

⚠️ Pour ACTION=B, les champs MATNR, BATCHID, ANFME, ALTME sont tous vides.

⚠️ Les quantités sont des valeurs absolues sauf pour ACTION=S (quantité supprimée) et ACTION=T (quantité transférée).

⚠️ IV_LGNUM = "WF02" (pas "WL02" - corrigé depuis spec V2).

Questions ouvertes

  • Cas palette déposée sur image de quai → chargée → OS fermé → LOF/SOF envoyé avant le LOC : la HU ne sera pas mentionnée dans le LOC (@Limagrain)
  • HU multi-lignes de stock : comportement exact à confirmer (CT-112) (@Fabien)
  • Vérifier si d'autres transactions WMS sont utiles pour le LOC (ex. STK.SCR) (@Fabien)
  • Picking négatif : corrélation conteneur source ↔ destination indisponible via CON.CREATE + STK.PICKING.NEG ; le swap CHB.LAB intervient après le picking. Solution en cours d'analyse (@Maxime / @Vincent)
  • LOC action S : compléter le détail des stocks ; éliminer les doublons (retour client 08/07, corrections en cours) (@Maxime)

Historique des modifications

Date Auteur Modification
2026-05-06 Arthur Création depuis spec LOC V2 (réunion 30/04/2026)
2026-05-12 Arthur Refonte complète depuis LIM-76 : architecture technique GNA/BOO, ACTION=P confirmé avec VBELN/POSNR, IV_LGNUM corrigé WF02, zones SAP détaillées, contraintes de longueur, 25+ cas de tests, critères d'acceptation
2026-07-17 Arthur Relecture commentaires LIM-76 (statut en revue de code, préprod) : section « Implémentation GNA » (job/WF/transaction, scripts .boo, LOC01.xsd, LOC_ZONE_MAPPING, motif NO_CHANGES), décision réception non fermée (modifs pré-REF non rejouées), sous-section picking négatif (CON.CREATE + STK.PICKING.NEG + CHB.LAB, problème de corrélation), retours revue de code / client (action S, doublons, WF02 hardcodé, BuildZoneMapping, cache)

Références

Source Type Date
LIM-76 Ticket Jira (LOT 1.2) - en revue de code, préprod 2026-07-17
LOC - Etat des lieux V2 Spécification technique 30/04/2026
CR CONSOLIDES REU ERP LIMAGRAIN V1 CR ateliers interfaçage 23/02/2026
Réunion LOC 30/04/2026 Réunion Arthur + Justine + Nicolas 30/04/2026