Passa al contenuto principale

Gestione missioni WMS

Gestione missioni WMS

image.png

Flussi missioni animati

. Il magazzino: posti, stati, attori

  • Ubicazione: corsia, campata, livello, piano. Livello 1 = picking a terra (dove si prelevano i colli per gli ordini); livelli 2..12 = stocking in altezza (lo stock dell'articolo, i pallet di riserva); livello 0 = carico/scarico; catasta = pallet accatastati a terra.
  • Stato del posto: 0 libero, 1 preallocato (prenotato da una missione), 2 occupato, 8 indisponibile, 9 bloccato.
  • Campate pari e dispari = i due lati di una corsia.
  • Tipo magazzino: normale (un articolo per livello di stocking), saturo, dinamico (piu' articoli nella stessa campata, sempre col controllo dell'altezza).
  • UC = unita' di carico (pallet o collo identificato da SSCC). Palmare = terminale dell'operatore.
  • Attori: ufficio (avvia gli allestimenti), picker (preleva ai picking e compone le UC), carrellista (muove i pallet con il carrello elevatore: allocazioni e abbassamenti), server SIGEA (generatori, servizio messaggi, smistamento, elaboratori delle risposte).

2. Allocazione di un pallet in entrata: il «pendolino»

Quando: l'operatore legge l'SSCC di un pallet ricevuto (missione su iniziativa ABBS17) oppure l'entrata merce chiede l'allocazione. Catena: palmare → DABBSE1D → UANLOC4D → GPREUB4D → UFINUB4D.

Come si sceglie il posto (UFINUB4D):

  1. Altezza del pallet = strati × altezza confezione + altezza del supporto + tolleranza. Si prende dalla tabella delle altezze del magazzino la prima altezza ≥ a quella del pallet.
  2. Picking dell'articolo: se l'articolo ha un picking e questo puo' ricevere, il pallet va a picking. Il picking riceve solo se: parametro «allocazione a picking» attivo (o articolo di tipo 91/92), nessuno stock a stocking dello stesso articolo (salvo tipo 91), e posto libero o con capienza residua. Non esiste un criterio «giacenza zero»: un picking con merce riceve ancora, se ha posto e non c'e' stock in alto.
    • Perche' lo stock a stocking blocca il picking: rotazione. Il pallet in alto e' piu' vecchio e deve scendere lui, con un abbassamento; il nuovo non lo scavalca. Il tipo 91 e' l'interruttore per gli articoli dove la rotazione non conta.
  3. Pendolino sulle campate: dal picking dell'articolo si oscilla sulle campate vicine, prima lo stesso lato (+2, −2, +4, −4…) poi l'altro (+1, −1, +3, −3…), fino a 65 posizioni, passando alla corsia precedente o successiva quando si esce dalla corsia. Si accetta il primo posto libero (o, nel dinamico, con altezza residua sufficiente) la cui altezza basta.
  4. Intera corsia del picking, prima con altezza esatta poi con altezza maggiore.
  5. Corsie vicine alternate (prima la precedente, poi la successiva).
  6. Catasta, solo se il chiamante lo chiede (dopo il fallimento della ricerca normale, o per articoli «a catasta»).

Esito: il posto viene preallocato (stato 1, articolo assegnato se era libero), il pallet passa a «preallocato» (81), nasce la missione di allocazione ABBS1C per il carrellista. Esiti negativi: nessun posto; altezza fuori limiti; picking non trovato (l'articolo non ha picking e non esiste un picking libero da usare come punto di partenza).

Picking «9000»: quando dal palmare si assegna a un articolo un picking gia' occupato da un altro articolo, il sistema crea per l'articolo spodestato un picking «parcheggio» nella stessa corsia/campata con piano + 9000, con la sua merce. Non e' un indicatore di giacenza zero.


3. Abbassamenti automatici: stock → picking

Che cosa sono: la missione con cui il carrellista porta un pallet (ABBS01) o dei colli (ABBS08) dallo stock al picking, perche' il picking non basta a coprire l'allestimento.

Chi li fa partire (DABBSL3D, tipo di lavoro):

  • modo classico (tipo 10): all'avviamento dell'allestimento, dopo che GAGAUB4D ha calcolato il fabbisogno;
  • modo sincronizzato (tipi 13 e 12): dall'elaborazione della missione di avvio «SERVER» dell'allestimento; prima il tipo 12 (dallo stock alla porta di carico, pallet interi), poi il tipo 13 per i picking scoperti;
  • cruscotto degli abbassamenti, entrata merce, trasferimenti tra depositi.

Condizioni: gestione abbassamenti attiva sul deposito e sul magazzino di picking; area operativa con i quattro magazzini (produzione, confezionamento, stocking, picking); picking assegnato all'articolo; BxT (colli per strato × strati) per ragionare a pallet interi.

Fabbisogno del picking = giacenza + colli gia' in abbassamento − prenotati − impegnati − scorta minima; se negativo mancano colli. Nel classico si arrotonda a pallet interi. Tetto: il fabbisogno e' limitato ai pallet registrati a stocking per l'articolo. Difetto confermato D-01: il tetto si calcola sul magazzino di picking anziche' di stocking: con codici di magazzino diversi il fabbisogno e' sempre zero e nessun abbassamento parte (dal 2026-03-04), senza alcun messaggio.

Scelta dello stock:

  • magazzino senza allocazioni: i posti di stock dell'articolo in ordine corsia, campata, piano; «in abbassamento» sul posto; finito lo stock la riga parte comunque senza posto di prelievo;
  • magazzino con allocazioni (pallet registrati): il pallet piu' vecchio per scadenza, impegnato, stato 82 «impegnato per abbassamento»; nasce un documento di servizio.

La missione: nasce «inserita» (0); sul picking cala il fabbisogno e cresce «in abbassamento»; a fine giro il generatore porta tutte le missioni del lotto allo stato chiesto dal chiamante («da affidare», 2). Il messaggio contiene da dove prelevare (corsia, campata, piano, SSCC) e dove portare (il picking).

La risposta (DABBSE1D): lo stock perde giacenza e «in abbassamento»/impegnato; il picking perde «in abbassamento», guadagna giacenza e ricalcola il fabbisogno; con allocazioni il pallet intero va sul picking (stato 3) o resta a stocking col residuo (stato 5). Risposta parziale (7): aggiorna ma non libera. Risposta conclusa (9) o annullamento da ufficio (D): si rilascia chiesto − portato; senza allocazioni si libera solo il picking (lo stock resta «in abbassamento»: difetto D-02). Risposta con errore (E): nessun rilascio (D-11). Una seconda «conclusa» viene invalidata.

Quando non parte (sempre senza messaggio): gestione spenta sul magazzino di picking; articolo senza picking; fabbisogno zero (tetto, D-01); avviamento «missione unica con N proposte» o ventilato; proposta senza spunta «abbassamenti».

Missioni su iniziativa: ABBS11/18 abbassamento fatto dal carrellista senza richiesta; ABBS17 allocazione con proposta del posto (capitolo 2); ABBS1D cambio picking dal palmare (picking 9000). Difetto D-01 di DABBSE1D: su iniziativa, senza allocazioni, la giacenza del picking viene sottratta invece che aggiunta.


4. Allestimenti con i palmari

Avviamento (GALPRC3D, ufficio): proposte di consegna con la spunta «missioni»; serve la gestione SSCC e dei dispositivi remoti sul deposito e nessuna UC gia' in missione. Fase 4 genera le missioni, fase 5 gli abbassamenti (classico), fase 6 le rilascia.

Generazione (DEODV03D): le UC (righe della proposta gia' divise in pila e posizione) vengono impacchettate in missioni, tutte nate «inserite» (0):

  • EODV01 pallet interi della stessa pila («pile uguali»: stesso numero di pedane ≤ 7 e stesso articolo per posizione, da 2 a 33 pile per gruppo);
  • EODV02 pallet e demi-pallet; EODV03 mix-pallet (al massimo 3 pile per missione, ci finiscono anche i piccoli pallet);
  • EODV08 collettame a palmare (max 10 righe); 09/07/0A collettame a nastro, container, consumer unit;
  • EODV05 missioni-tabella (anagrafiche); EODV00 missione di avvio per il «SERVER» (solo sincronizzato).

Righe in ordine pila → posizione → UC; ogni riga porta articolo, EAN, posto di picking da cui prelevare, colli, quantita', pila/posizione, UC, lotto e scadenza. La testata porta porta di carico e lato, cliente, citta', spedizioniere, note. Il messaggio arriva a 16000 caratteri. Ogni UC messa in missione passa a «generata missione».

Rilascio (fase 6): le missioni passano da 0 a 2 (non sincronizzato), a «!» da affidare con verifica (gestione abbassamenti 5) o a «3» per i pallet interi con missione collegata (gestione 6/7); la EODV00 a 2. Le missioni accorpate passano subito a 2.

Modo sincronizzato (DEODVE1D sulla missione SERVER): abbassamenti tipo 12 verso la porta di carico (i residui diventano UC collettame, pila 9900), poi tipo 13 per ogni picking scoperto; poi controllo di copertura; le missioni coperte passano «!» → 0 → 2 a fine giro (le figlie di un gruppo restano 0, le tabelle 05 si rilasciano solo da qui). Una missione mai coperta fa ripetere il giro senza limite (D-13) e trattiene le altre.

Il picker: riceve la missione, segue il palmare posto per posto, preleva i colli dal picking, compone l'UC sul pallet, la porta alla porta di carico e lato della testata, conferma (parziale o conclusa).

La risposta (DEODVE1D): la porta di carico diventa destinazione di ogni UC; ogni UC confermata diventa «allestita» (una seconda conferma crea una «nuova UC allestita», non sovrascrive); il pallet SSCC viene creato se manca; proposta e picking vengono assestati; solo con la risposta conclusa si storna l'impegnato non prelevato. Risposte «con errore» non hanno un ramo proprio.

Quando non genera (senza messaggio): proposta o cliente inesistenti; manca la spunta «missioni»; deposito senza SSCC/dispositivi; UC gia' in missione; Ce.Di. con allocazioni e articolo senza giacenza (UC «sospesa» 90).


5. Ciclo di vita delle missioni ai palmari

Tabelle: MRMM = missioni, MRMR = risposte. Ogni tipologia ha un generatore (scrive MRMM) e un elaboratore delle risposte (legge MRMR): abbassamenti DABBSL3D → DABBSE1D; allestimenti DEODV03D → DEODVE1D; entrata merce DENTML3D → DENTME1D; consegne DCONSL3D.

Stati della missione:

0 inserita ─(generatore, fine lotto)─▶ 2 da affidare ─(servizio messaggi)─▶ 4 inviata ─(conferma)─▶ 5 affidata
                                            ▲                                   │ rifiuto o 240 s senza conferma
                                            └───────────────────────────────────┘
5 affidata ─(risposta del palmare)─▶ 7 parziale · 9 completa · E con errore      altri: A su iniziativa (gia' eseguita),
                                                                                  D annullata (da ufficio), X invalidata
  • Lo stato 7/9/E lo scrive il servizio messaggi (processo C crmhs, fuori dal COBOL ma nel repo: legacy/eSDSW/SL/RMH/crmhs05x.c) all'arrivo della risposta, prima dell'elaborazione dei dati.
  • «Affidata» sono due stati: 4 inviata e 5 affidata. Il palmare puo' rifiutare.
  • Missioni ferme in 4/5 (e risposte in 6/7) da piu' di 4 giorni vengono invalidate (X).
  • Alla conclusione le missioni «integrative» della stessa missione vengono annullate anche se gia' in 2/4/5.
  • Lo stato «C» vale solo per il web-service, mai per i palmari.

Scelta del palmare: priorita' 1..7 = palmare assegnato (ruolo compatibile, nessuna altra missione in 4/5); A..G (F = normale) = primo palmare libero della stessa area operativa con ruolo compatibile (prima per sigla di dettaglio, poi per sigla primaria). Un palmare ha una missione alla volta. Dispositivo «SERVER» = nessun palmare, il servizio scrive subito una risposta conclusiva.

Stati della risposta: 5 ricevuta (servizio) → 6 candidata (processo libero del modulo) → 7 in elaborazione (smistatore DBAxx30A, che sceglie l'elaboratore dalla sigla primaria E28DABBS0, E27DEODV0) → 9 elaborata; X invalidata. Tipi di risposta dal palmare: 7 parziale, 9 conclusa, E errore. Il palmare non manda mai «D»: la scrive solo l'annullamento da ufficio.

Missioni su iniziativa del palmare: «proposta» = lavoro gia' fatto, stato A + risposta conclusa subito; «autorizzazione» = stato 2 con priorita' libera F, affidata normalmente (anche a un altro palmare).

Il messaggio (protocollo AI): fino a 16000 caratteri in 4 colonne; sezione A = testata, sezione B = una riga per UC; ogni campo = codice AI di 4 caratteri + valore + fine riga (es. 0000 SSCC, 0001 EAN13, 0037 colli, 0030 quantita', 0010 lotto, 0015 scadenza, 9532 porta di carico). Campo vuoto o zero non scritto.


6. Le pagine animate

pagina scenari
Pendolino (allocazione) ricerca del posto campata per campata con i controlli (altezza, stato, stock a stocking, capienza), magazzino normale/dinamico, picking che riceve o no («UC non allocata a picking direttamente» per rotazione)
Abbassamenti modo classico e sincronizzato, fabbisogno, scelta dello stock con/senza allocazioni, stock finito, quando non parte
Missioni ai palmari (integrata) 1 allestimento classico (16 passi) · 2 abbassamento ABBS01 (13) · 3 allestimento sincronizzato (11) · 4 risposta parziale (6) · 5 palmare che non conferma (5) · 6 su iniziativa del palmare (4) · 7 quando non parte (7). Doppio stepper missione/risposta, mappa con picker e carrellista col palmare, pannello palmare, pannello «il sistema fa» con controlli ✓/✗ e record toccati

I dati delle animazioni sono di esempio; ogni passo e' tratto dai racconti validati.