Modula — Configurazione e manutenzione magazzino automatico verticale¶
Area funzionale: Magazzino / Modula Programmi documentati: 11 | Righe totali analizzate: 11.765
Indice¶
- Tabelle
- Attivazione e importazioni
- Controllo e trasferimenti
- Sincronizzazione DB frontiera
- Flusso integrato
- File principali
- Tabella riepilogativa
- Sviluppi Progetto Modula dopo il 12/01/2026
1. Tabelle¶
COGB61 — Tabella confezioni¶
File: /programmi/eurocoge/cbl/cogb61.cbl (985 righe)
Gestisce la tabella delle confezioni (tipo TC su COGTABEL), usate per classificare le merci nel Modula. Due modalita': aggiornamento (CRUD) e selezione (ritorna codice+descrizione al chiamante).
File: COGTABEL (euta- tipo "TC"). CALL: GRIDADMN, W$MENU.
COGB62 — Tabella tipi scomparto¶
File: /programmi/eurocoge/cbl/cogb62.cbl (980 righe)
Gestisce la tabella tipi scomparto (tipo TS su COGTABEL), che definiscono le tipologie di vano/cassetto del magazzino verticale. Priorita' obbligatoria e univoca. Struttura analoga a COGB61.
File: COGTABEL (euta- tipo "TS"). CALL: GRIDADMN, W$MENU.
COGB63 — Confezioni/scomparti/aree per merce¶
File: /programmi/eurocoge/cbl/cogb63.cbl (1.210 righe)
Associa a ciascuna merce i codici confezione, tipo scomparto o area con quantita' e priorita'. Tabella ponte tra anagrafica merce e classificazione logistica del Modula, memorizzata in COGMDLCS.
Parametri: Merce, tipo (C=Confezione, S=Scomparto, A=Area).
Logica: 1. Legge da COGTABEL i record del tipo selezionato (TC/TS/TA) 2. Per ogni codice, legge associazione merce/codice da COGMDLCS 3. Griglia editabile: quantita' (per C/S) e priorita' (per A) 4. Aggiornamento: scrive/riscrive COGMDLCS + flag sync su COGMERA2
File: COGMERCI (mer-), COGTABEL (euta- TC/TS/TA), COGMDLCS (mds-), COGMERA2 (ma2-). CALL: GRIDADMN, COGS68W, W$MENU.
2. Attivazione e importazioni¶
COGD50 — Attivazione articoli per Modula¶
File: /programmi/eurocoge/cbl/cogd50.cbl (844 righe)
Attiva o disattiva il flag mer-modula su singole merci. Quando attivato, trasferisce la giacenza iniziale al Modula tramite COGD53. Funzioni di estrazione massiva articoli e giacenze.
Logica:
1. Accept merce, mostra stato flag Modula
2. Se attivazione: passa-giacenza trasferisce giacenza corrente via COGD53
3. Se merce a lotti: cicla tutti i lotti aperti del magazzino Modula
4. F7 estrazione massiva: F5=articoli (COGUA9), F8=articoli no-Modula, F9=giacenze
Configurazione (RNEWCONF sezione SISTMGA001): path scambio, magazzini assistito/eccedenze, UM merce.
File: COGMERCI (mer-), COGSLMAG (msal-), COGMERLT (mlt-). CALL: COGD53, COGUA9, RNEWCONF, DIALOGS.
COGD59 — Importazione riordino da Modula¶
File: /programmi/eurocoge/cbl/cogd59.cbl (696 righe)
Importa da file Modula (.EXP, pipe-delimited) giacenze e scorte minime per generare proposte di riordino in COGRIORD.
Logica:
1. Apre COGRIORD in output (svuotamento)
2. Per ogni riga: parsing "|", estrazione codice/giacenza/scorta minima
3. Aggiorna mer-sco-min e imposta mer-modula = "S"
4. Se giacenza < scorta minima: calcola quantita' riordino, cerca fornitore preferenziale in COGCNDCF
5. Scrive record riordino
File: COGMERCI (mer-), COGSLMAG (msal-), COGRIORD (rio-), COGCNDCF (cnd-). CALL: RNEWCONF, COPIAF, ESTRXLS.
COGD81 — Importazione scorta minima¶
File: /programmi/eurocoge/cbl/cogd81.cbl (619 righe)
Importa da file Modula (.EXP) i valori di scorta minima e aggiorna mer-sco-min su COGMERCI, solo per merci gia' marcate Modula.
File: COGMERCI (mer-). CALL: RNEWCONF, COPIAF, ESTRXLS.
COGD75 — Importazione scorta massima¶
File: /programmi/eurocoge/cbl/cogd75.cbl (648 righe)
Importa da file Modula (.EXP) i valori di scorta massima e aggiorna mer-sco-max su COGMERCI. Segnala merci non mappate a Modula senza escluderle.
File: COGMERCI (mer-). CALL: RNEWCONF, COPIAF, ESTRXLS.
3. Controllo e trasferimenti¶
COGD60 — Controllo quadratura Coge-Modula¶
File: /programmi/eurocoge/cbl/cogd60.cbl (1.414 righe)
Controllo di quadratura tra quantita' registrate nel gestionale e quelle comunicate al Modula, per merce e intervallo date. Griglia con filtro solo errori e dettaglio riga.
Logica:
1. Cicla COGMDRIG (righe movimenti Modula) in ordine decrescente, filtrando per merce/date
2. Per ogni riga: legge testata COGMDTES, calcola trs-qta-modula (sommando qta evasa e trasferita, con segno per LP/LV)
3. Cerca corrispondenze lato Coge: se BdP legge COGRIGBP, altrimenti COGMOMAG → trs-qta-coge
4. Tratta importazioni carico (COGIMPCA) nell'intervallo date
5. Griglia con F5=tutti/solo errati, F6=dettaglio (WIN124)
File: COGMERCI (mer-), COGMDRIG (mdr-), COGMDTES (mdt-), COGIMPCA (mpc-), COGRIGBP (rbp-), COGMOMAG (mag-). CALL: GRIDADMN, WIN124.
COGD68 — Carico da magazzino eccedenze¶
File: /programmi/eurocoge/cbl/cogd68.cbl (1.688 righe)
Trasferimento merci dal magazzino eccedenze al magazzino Modula. Griglia con calcolo automatico quantita' da trasferire (fino a scorta massima), generazione bolle (uscita da eccedenze + entrata in Modula) con invio a COGD53.
Logica:
1. Legge configurazione: magazzino eccedenze, causali, tipi operazione
2. Cicla saldi magazzino eccedenze (COGSLMAG chiave 2, giacenza > 0)
3. Per ogni merce: calcola quantita' suggerita = min(sco-max - gia-modula, gia-ecced)
4. Griglia con flag trasferimento modificabile; F5/F6=seleziona/deseleziona tutto
5. Registrazione: genera 2 bolle (uscita eccedenze + entrata Modula) via COGS25/COGU12
6. Invio a COGD53 per comunicazione al Modula
File: COGMERCI (mer-), COGSLMAG (msal-), COGMAGAZ (magz-), COGTESBO (tes-), COGMOMAG (mag-), COGTABEL (euta- tipo 35). CALL: COGD53, COGD69, COGS25, COGU10W, COGU12, COGL61, RNEWCONF, GRIDADMN.
4. Sincronizzazione DB frontiera¶
DFNM01 — Esportazione articoli verso Modula (DB frontiera)¶
File: /programmi/eurocoge/cbl/dfnm01.cbl (1.632 righe)
Sincronizza le anagrafiche articoli dal gestionale verso il DB frontiera di Modula (tabella DFMERCIPREST e tabelle collegate). Viene invocato dallo scheduler KPN (via AGLANCIO) o puo' girare come batch autonomo.
Filtro articoli da esportare:
- Merci con almeno un'associazione di tipo "A" (Area) in COGMDLCS
- Data/ora ultima modifica (ma2-da-data/time su COGMERA2) >= data/ora ultimo run (DFSEMAFORO)
Semaforo: DFSEMAFORO (tabella IMPARTICOLI) — salva data/ora dell'ultima esecuzione; aggiornata all'avvio del processo (non a fine) per non perdere modifiche concorrenti.
Logica per articolo — caso NUOVO (non presente in DFMERCIPREST):
1. INSERT su DFMERCIPREST (chiave: codice avanzato da COGRACMC)
2. INSERT su IMPARTICOLI (descrizione + UM)
3. aggiorna-impscoarticoli — per ogni scomparto (tipo "S" in COGMDLCS): insert o update su IMPSCOARTICOLI e tabella di lavoro IMPARTSCOWRK
4. aggiorna-impconfart — per ogni confezione (tipo "C" in COGMDLCS): insert o update su IMPCONFART e IMPARTCONFWRK
5. aggiorna-impartaree — delete+insert su IMPARTAREE per tutte le aree (tipo "A")
Logica per articolo — caso MODIFICA (presente in DFMERCIPREST):
1. UPDATE DFMERCIPREST se descrizione o codice avanzato cambiati
2. inser-imparticoli — update (o insert) su IMPARTICOLI solo se descrizione cambiata
3. inser-impartsost — INSERT su IMPARTSOST (record sostituzione vecchio→nuovo CMA) solo se codice avanzato cambiato
4. aggiorna-impscoarticoli — eseguito solo per nuovi abbinamenti: esporta se lo specchio (IMPARTSCOWRK) e' assente o ha qta = 0; se lo specchio ha qta > 0 aggiorna solo lo specchio senza esportare, per non sovrascrivere scomparti configurati su Modula
5. aggiorna-impconfart — sempre eseguito
6. aggiorna-impartaree — sempre eseguito (delete+insert)
Configurazione (RNEWCONF sezione MODULA/dbfront): stringa connessione DB frontiera (3 slot), log level, email segnalazioni.
File sorgente: COGMERCI (mer-), COGMERA2 (ma2-), COGMDLCS (mds-), COGRACMC (rcm-). File destinazione DB frontiera: DFMERCIPREST (df-mpr-), IMPARTICOLI (art-), IMPSCOARTICOLI (cap-), IMPCONFART (conf-), IMPARTAREE (ara-), IMPARTSOST (sost-), IMPARTCONFWRK (cnf-wrk-), IMPARTSCOWRK (sco-wrk-), DFSEMAFORO (df-smf-). CALL: COGU10, GESSTR, RNEWCONF, SWGETS.
DFNM03 — Aggiornamento stato liste da export Modula¶
File: /programmi/eurocoge/cbl/dfnm03.cbl (1.049 righe)
Sincronizza lo stato delle liste Modula dal DB frontiera verso il gestionale. Legge i record di EXPORDTES/EXPORDDET (scritti da Modula con l'esito di elaborazione delle liste) e aggiorna le corrispondenti testate COGMDTES e righe COGMDRIG. Viene invocato dallo scheduler KPN (via AGLANCIO) o come batch autonomo.
Nota importante: DFNM03 non crea liste nel gestionale. Le liste esistono gia' (create da altri programmi che le inviano a Modula). DFNM03 si limita a riportare nel gestionale lo stato di avanzamento comunicato da Modula.
Selezione record da processare:
Il cursore principale seleziona da EXPORDTES i soli record con e-ordt-agg-area = ' ' (non ancora acquisiti dal gestionale). Al termine di un'elaborazione completa (stato COMPL) il flag viene messo a "A" per non rielaborare lo stesso record nei cicli successivi. In caso di stato intermedio (EXE) o anomalo, il flag non viene impostato, quindi la lista verra' riprocessata ad ogni giro.
Logica per stato lista (paragrafo c1-aggiorna):
e-ordt-stato |
Aggiornamento COGMDTES |
Refresh qta evase COGMDRIG |
e-ordt-agg-area |
|---|---|---|---|
"EXE" (in corso) |
mdt-stato="A", mdt-fl-ela="E" |
Si' (via c1a-refresh-qta-righe) |
Non impostato (resta ' ') |
diverso da "COMPL" |
mdt-stato="A", mdt-fl-ela="X" |
No | Non impostato (resta ' ') |
"COMPL" (completa, tutte righe "C") |
mdt-stato="E", mdt-fl-ela="C" |
Si' (via c1a-refresh-qta-righe) |
"A" (acquisita) |
"COMPL" (completa, righe con stato != "C") |
mdt-stato="X", mdt-fl-ela="C" |
Si' (via c1a-refresh-qta-righe) |
"A" (acquisita) |
Paragrafo c1a-refresh-qta-righe (pattern azzera-e-risomma):
1. Azzera mdr-qta-evasa su tutte le righe COGMDRIG della lista; traccia w-max-mdr-riga per eventuali insert.
2. Rilegge EXPORDDET filtrato per e-ordd-id = e-ordt-id.
3. Per ogni riga di dettaglio richiama c11-agg-qtaeva che:
- risolve articolo via COGRACMC
- cerca la riga COGMDRIG corrispondente per merce + lotto e somma e-ordd-qtae a mdr-qta-evasa
- se la combinazione articolo/lotto non esiste in COGMDRIG, inserisce una nuova riga usando w-max-mdr-riga + 1.
Il pattern "azzera e risomma" e' corretto perche' c11-agg-qtaeva opera in add: ad ogni esecuzione di DFNM03 le qta evase vengono ricostruite integralmente da EXPORDDET, evitando duplicazioni.
Refresh in stato EXE:
Dal momento in cui una lista passa a EXE, DFNM03 aggiorna le qta evase su COGMDRIG ad ogni ciclo, senza marcare il record come acquisito. Questo consente agli operatori di vedere situazioni parziali progressive man mano che Modula avanza nell'elaborazione. L'acquisizione definitiva (set e-ordt-agg-area = "A") avviene solo quando Modula porta la lista in COMPL.
Verifica extra per liste di prelievo da BDP:
Se la lista e' di tipo mdt-tip = "LP" e causale mdt-causale = "BP" (lista di prelievo generata da BDP), al completamento viene eseguito c12-verifica-bdp che segnala nel log le righe con qta evasa diversa dalla qta richiesta. Questo controllo viene eseguito solo nel ramo COMPL, non nel ramo EXE (in stato intermedio le differenze sono normali e genererebbero falsi positivi).
Configurazione (RNEWCONF sezione MODULA/dbfront): stringa connessione DB frontiera AGLANCIO (3 slot), log level, email segnalazioni, limite record/errori per processo (via ARPSTPRC).
File sorgente DB frontiera: EXPORDTES (e-ordt-), EXPORDDET (e-ordd-), DFSEMAFORO (df-smf-), ARPSTPRC (a-stpr-). File destinazione gestionale: COGMDTES (mdt-), COGMDRIG (mdr-), COGRACMC (rcm-). CALL: COGU10, GESDEBUG, RNEWCONF, POSTA, SWGETS.
5. Flusso integrato¶
CONFIGURAZIONE:
├── COGB61 (tabella confezioni → COGTABEL tipo TC)
├── COGB62 (tabella tipi scomparto → COGTABEL tipo TS)
└── COGB63 (associazione merce-confezione/scomparto/area → COGMDLCS)
ATTIVAZIONE:
└── COGD50 (flag mer-modula + giacenza iniziale via COGD53)
├── Singola merce: trasferisce giacenza
└── Massiva: COGUA9 (articoli) o ciclo giacenze
IMPORTAZIONI DA MODULA (file .EXP):
├── COGD59 (riordino → aggiorna scorta min + genera COGRIORD)
├── COGD81 (scorta minima → aggiorna mer-sco-min)
└── COGD75 (scorta massima → aggiorna mer-sco-max)
TRASFERIMENTI:
└── COGD68 (da mag. eccedenze a mag. Modula)
├── Genera 2 bolle (uscita + entrata)
└── Invio a COGD53 (comunicazione al Modula)
CONTROLLO:
└── COGD60 (quadratura Coge vs Modula)
└── Confronta COGMOMAG/COGRIGBP vs COGMDRIG/COGIMPCA
SINCRONIZZAZIONE DB FRONTIERA:
├── DFNM01 (esportazione articoli → DFMERCIPREST + tabelle IMP*)
│ ├── Nuovo articolo: INSERT dfmerciprest + imparticoli + scomparti + confezioni + aree
│ └── Modifica: UPDATE dfmerciprest + imparticoli/sostituzione (se variati) + scomparti (solo nuovi) + confezioni + aree
└── DFNM03 (aggiornamento stato liste ← EXPORDTES/EXPORDDET)
├── Stato EXE: refresh qta evase COGMDRIG (parziali, lista non ancora acquisita)
├── Stato COMPL: aggiornamento finale mdt-stato + refresh qta evase + marcatura acquisizione
└── Liste LP/BP: verifica quadratura qta evase vs qta BDP (solo a COMPL)
ABILITAZIONE AUTOMATICA (versamento da menu'):
Permette di versare articoli non ancora abilitati a Modula senza passare
da COGD50. L'abilitazione avviene al momento del versamento con conferma
operatore e verifica sincrona dell'acquisizione da parte di Modula.
└── COGD53DF (se tm-cfg-modula-db-frontiera="S")
├── Conferma operatore per ogni articolo non abilitato
├── Abilitazione mer-modula + esportazione via DFNM01
└── Attesa acquisizione (polling su IMPARTICOLI, bloccante)
Nota: COGD53/COGD53DF (integrazione Modula — comunicazione ERP↔Modula) sono documentati in flussi/moduli-servizio.md.
6. File principali¶
| File | Prefisso | Descrizione |
|---|---|---|
| COGMDLCS | mds- | Associazione merce-confezione/scomparto/area (tipo+merce+codice) |
| COGMDRIG | mdr- | Righe movimenti Modula (qta evasa, trasferita, tipo LP/LV) |
| COGMDTES | mdt- | Testate movimenti Modula (doc, causale, tipo, data) |
| COGIMPCA | mpc- | Importazioni carico da Modula |
| COGRIORD | rio- | Proposte di riordino generate da importazione |
| DFSEMAFORO | df-smf- | Semaforo sincronizzazioni: data/ora ultimo run per tabella |
| EXPORDTES | e-ordt- | DB frontiera: testate liste in uscita da Modula (stato + flag agg-area) |
| EXPORDDET | e-ordd- | DB frontiera: dettaglio righe liste con qta evasa per articolo/lotto |
| ARPSTPRC | a-stpr- | Stato processi AGLANCIO (limiti record/errori, log procedura) |
| DFMERCIPREST | df-mpr- | DB frontiera Modula: anagrafica articoli esportata |
| IMPARTICOLI | art- | DB frontiera: articoli da importare su Modula |
| IMPSCOARTICOLI | cap- | DB frontiera: scomparti per articolo |
| IMPCONFART | conf- | DB frontiera: confezioni per articolo |
| IMPARTAREE | ara- | DB frontiera: aree per articolo |
| IMPARTSOST | sost- | DB frontiera: sostituzioni codice avanzato (vecchio→nuovo) |
7. Tabella riepilogativa¶
| # | Programma | Righe | Tipo | Funzione |
|---|---|---|---|---|
| 1 | COGB61 | 985 | Tabella | Confezioni Modula (tipo TC su COGTABEL) |
| 2 | COGB62 | 980 | Tabella | Tipi scomparto Modula (tipo TS su COGTABEL) |
| 3 | COGB63 | 1.210 | Tabella | Associazione confezioni/scomparti/aree per merce (COGMDLCS) |
| 4 | COGD50 | 844 | Operativo | Attivazione articoli su Modula + estrazione massiva |
| 5 | COGD59 | 696 | Batch | Importazione riordino da Modula (.EXP → COGRIORD) |
| 6 | COGD81 | 619 | Batch | Importazione scorta minima da Modula |
| 7 | COGD75 | 648 | Batch | Importazione scorta massima da Modula |
| 8 | COGD60 | 1.414 | Controllo | Quadratura Coge-Modula per merce/periodo |
| 9 | COGD68 | 1.688 | Operativo | Carico da magazzino eccedenze a Modula con generazione bolle |
| 10 | DFNM01 | 1.632 | Batch/KPN | Esportazione articoli verso DB frontiera Modula (DFMERCIPREST + IMP*) |
| 11 | DFNM03 | 1.049 | Batch/KPN | Aggiornamento stato liste da DB frontiera Modula (EXPORDTES/EXPORDDET → COGMDTES/COGMDRIG), con refresh qta evase anche in stato EXE |
| TOTALE | 11.765 |
8. Sviluppi Progetto Modula dopo il 12/01/2026¶
Sintesi degli sviluppi del Progetto Modula realizzati e messi in esercizio dopo l'incontro del 12/01/2026 (fonte: Appendice B - Progetto Modula, agosto 2026). Rispetto all'impianto iniziale, il progetto e' passato da un modello in cui ogni movimento veniva "prenotato" in anticipo con un buono di prelievo provvisorio, a un modello piu' snello: si chiede a Modula solo cio' che serve, si legge dal magazzino automatico cio' che e' davvero disponibile e si evita in ogni punto del flusso il doppio conteggio della stessa quantita'. Le giacenze e le prenotazioni restano su un unico magazzino logico.
8.1 Liste di prelievo di vendita: dalla prenotazione anticipata alla richiesta diretta¶
Nell'impostazione originaria ogni riga da evadere generava, all'invio a Modula, un buono di prelievo provvisorio confermato al ritorno della lista. Per le normali liste di vendita lo schema e' stato snellito:
- All'invio della lista il gestionale manda a Modula una richiesta diretta della sola quantita' necessaria, senza indicare il lotto: e' Modula a scegliere il lotto in base alla disponibilita' effettiva. Non viene creato alcun buono provvisorio in questa fase.
- Il ciclo si chiude a valle, quando l'operatore ha in mano la merce: dopo il prelievo fisico delle confezioni gia' etichettate (lotto + quantita'), e' l'operatore a creare il buono di prelievo definitivo su articolo, lotto e quantita' realmente prelevati.
- Queste liste non hanno un ritorno gestionale automatico del buono (il cerchio lo chiude l'operatore): scelta consapevole, adatta al modo in cui la merce viene lavorata a valle.
- Per il rientro dei dati il gestionale riconosce le liste inviate senza lotto e riconcilia da solo i lotti effettivi a partire dai dati di storage restituiti da Modula.
Programmi coinvolti: COGF64 (liste di prelievo manuali a Modula), COGD53DF (DB frontiera Modula, richiesta diretta, causale "LP"), DFNM03 (rientro stato e quantita' evase delle liste).
8.2 Evitare il doppio conteggio della stessa merce¶
La richiesta diretta non crea una prenotazione sul gestionale, quindi l'ordine continuerebbe a risultare "da evadere" anche dopo l'invio della lista. Ne deriva il rischio che, mentre la lista e' gia' a Modula per un articolo, al packaging arrivi lo stesso articolo prodotto, un operatore veda l'ordine ancora scoperto e lo accantoni, allocando due volte la stessa quantita'.
Per chiudere la falla e' stato introdotto un conteggio di quanto gia' richiesto a Modula: nel calcolo della quantita' da proporre per l'evasione viene sottratta la quantita' gia' inviata per quella consegna con liste ancora aperte, cosi' la griglia mostra sempre il residuo reale (netto). In griglia sono state aggiunte due informazioni per l'operatore: quale lista Modula sta gia' movimentando l'articolo e quale quantita' e' gia' stata richiesta; se un articolo non propone quantita' da evadere, l'operatore capisce subito che una richiesta precedente la sta gia' coprendo. Il netting e' applicato in fase di costruzione della griglia di evasione.
8.3 Disponibilita' al prelievo letta direttamente da Modula¶
In precedenza la disponibilita' al prelievo veniva ricostruita dai lotti registrati lato gestionale, con possibili disallineamenti dalla situazione fisica reale del magazzino automatico. Ora la disponibilita' e' letta direttamente da Modula: per ogni articolo/lotto si considera la giacenza fisica al netto di quanto Modula ha gia' prenotato per altri prelievi (giacenza fisica meno prenotato-prelievo). La proposta di prelievo corrisponde cosi' a cio' che il magazzino automatico ha davvero pronto.
E' diverso dalla correzione delle quantita' per scomparto, che pure legge le ubicazioni popolate di Modula ma con lo scopo di allineare la mappatura degli scomparti.
Programma coinvolto: DFNM02 (accessi al DB frontiera Modula, ubicazioni esportate).
8.4 Assemblaggio kit: prelievo senza lotto e accorpamento per famiglia¶
Anche la produzione dei kit e' stata allineata alla nuova logica:
- L'assemblaggio preleva i componenti da Modula senza gestire il lotto in fase di richiesta (e' il magazzino automatico a risolverlo, con riconciliazione al rientro), coerentemente con le liste di vendita.
- E' stato introdotto l'accorpamento delle commesse per "famiglia privilegiata": generalizzazione della logica nata per Blue Seals, il sistema riconosce le commesse della stessa famiglia e le aggrega, cosi' che prelievo e assemblaggio siano organizzati riducendo i passaggi ripetuti sugli stessi materiali.
Programma coinvolto: COGG77 (assemblaggio commesse / kit).
8.5 Chiusura guidata dei provvisori in fase di evasione¶
In evasione parte del fabbisogno puo' essere gia' coperta da materiale accantonato al packaging (con i relativi buoni provvisori) e parte da prelevare da Modula. Per evitare di coprire due volte lo stesso fabbisogno, la chiusura dei provvisori e' stata resa guidata:
- L'operatore sceglie esplicitamente, tramite tasto funzione, se attingere al materiale gia' accantonato oppure prelevare da Modula.
- Il sistema esegue la quadratura delle quantita' tra le fonti, arrivando a sdoppiare un buono (via
COGSA0) quando serve per far coincidere con precisione richiesto e disponibile in ciascuna fonte. - Se l'operatore sceglie di prelevare da Modula mentre esistono ancora provvisori di packaging non utilizzati, il sistema lo avvisa, cosi' la decisione e' sempre consapevole.
Programma coinvolto: COGG69HT (evasione e chiusura buoni di prelievo provvisori).
8.6 Completamento di quanto pianificato il 12/01/2026¶
Alcune scelte gia' messe a verbale il 12/01/2026 sono state realizzate e messe in esercizio:
- Accantonamenti da packaging fuori da Modula: la prima nota di versamento di un accantonamento non genera piu' la lista di versamento verso Modula; il buono di prelievo collegato e' marcato "da non inviare a Modula", con lo stesso comportamento dei versamenti destinati al magazzino "L".
- Consolidamento e cartoni (COGM65): aggiunta la quantita' del buono di prelievo; resa possibile la modifica del cartone di un lotto togliendo contestualmente lo stato provvisorio, a supporto del consolidamento tramite contenitori (UDS).
Nota: COGD53/COGD53DF (comunicazione ERP-Modula) sono trattati anche in
flussi/moduli-servizio.md. La descrizione operativa per l'utente delle singole funzioni resta nelle rispettive pagine utente (Magazzino > Modula e liste di prelievo).