WMS002 - Mappatura magazzini (locazioni)¶
Descrizione¶
Gestione a griglia della mappa delle locazioni fisiche (DFLOCAZIONI) di un magazzino. Supporta inserimento, modifica, eliminazione e importazione da file esterno. Puo' essere richiamato in popup da altri programmi tramite utilwms002.cpy per la selezione di una locazione, con prefiltraggio per magazzino e classe locazione.
Menu¶
- Magazzino > Giacenze & Sottoscorta > Locazioni > Mappatura magazzini
Tabelle utilizzate¶
| Tabella | Accesso | Descrizione |
|---|---|---|
| DFLOCAZIONI | Lettura / Scrittura | Mappa locazioni fisiche del magazzino (DB frontiera) |
| FEURTAB | Lettura | Tabella euristica parametri (standard) |
| pclinp | Lettura | File esterno per importazione locazioni (binary sequential, 256 char/rec) |
| FLSTA | n/a | File di stato (standard) |
Configurazioni RNEWCONF lette¶
Il programma legge la configurazione aziendale tramite x99-src-cfg. Parametri rilevanti:
tm-cfg-gestione-tablet: deve essere"S"per abilitare la proceduratm-cfg-bin-tipo,tm-cfg-bin-path: path binaritm-cfg-dbf-conn-string: stringhe connessione DB frontieratm-cfg-dbf-log-level: livello logtm-cfg-default-monopro: flag monoprocessoretm-cfg-nome-file-modello: nome file modello per importazione
Flusso di elaborazione¶
- Inizializzazione standard; verifica
tm-cfg-gestione-tablet - Se richiamato con
utilwms002(called = program-id): prefiltraggio per magazzino (w-dc-i-mag) e classe locazione (w-dc-i-loc-classe) - Apertura DB frontiera (
x-apri-tabelle-db) - Accept magazzino (
tm-mag) e filtro opzionale - Caricamento locazioni in griglia (
z-grid-det-crea-transito) da DFLOCAZIONI, con dati: stanza, corsia, posto, piano, cella, classe, priorita', capacita', cod-host - Ciclo interattivo:
- F2: seleziona tutto
- F3 conferma: salva modifiche su DFLOCAZIONI
- F3 aggiorna: ricarica
- F5 stampa etichette: stampa etichette locazioni selezionate
- F6 importa: legge
pclinp(file binario 256 char), valida e carica locazioni - Shift+F7: apre WMSW04 o funzione giacenze per locazione
- CTA aggiungi / CTE elimina: gestione righe
- Invio: selezione popup (se
w-dc-called = "S")
Chiamate a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| COGU10W | Recupero divisa di conto |
| COGPA9 | Import/export dati locazioni (via utilcogpa9.cpy) |
| utilw36 | Ricerca magazzino |
| utilwmsw03 | Utility WMS (via utilwmsw03.cpy) |
| z-99-init-program | Inizializzazione standard |
Linkage¶
wcont.cpy/wcont1.cpy: strutture standardutilwms002.cpy: parametri popup (called, caller, i-mag, i-loc-classe)u-copiaf.cpy: struttura copia filel-copiaf.cpy: linkage copia file
Struttura dati locazione (tab-dati-ie)¶
| Campo | Descrizione |
|---|---|
| tm-die-mag-cod | Codice magazzino (5 car.) |
| tm-die-stanza | Stanza (2 car.) |
| tm-die-corsia | Corsia (2 car.) |
| tm-die-posto | Posto (2 car.) |
| tm-die-piano | Piano (2 car.) |
| tm-die-cella | Cella (2 car.) |
| tm-die-classe | Classe locazione (1 car.) |
| tm-die-priorita | Priorita' (1 car.) |
| tm-die-capacita | Capacita' (9(10)v999) |
| tm-die-cod-host | Codice host sistema esterno (20 car.) |
Note¶
- Versione tabella DFLOCAZIONI:
k-versione-dflocazioni = 1; nome sincro:"DFLOCAZIONI" - Il file di importazione (
pclinp) e' di tipobinary sequentialcon record da 256 caratteri - Il buffer di importazione supporta fino a
k-max-size-buffer = 20000elementi - La tabella
k-modelli-ie-i-locaz.cpydefinisce i modelli import/export
Validazioni recenti¶
Visualizzazione giacenze per locazione (S-F7)¶
Prima di richiamare WMSW03 per la visualizzazione delle giacenze per locazione, sono stati introdotti due controlli espliciti che mostrano "Nessuna locazione selezionata" e tornano alla griglia:
gor-r-n-m = 0oppuretm-grid-det-dati-pnt = zero-> griglia vuotai = 0oppuretm-r-locazione (i) = " "-> riga vuota o cursore non posizionato
In precedenza il blocco veniva eseguito comunque se la griglia era vuota o non vi era una locazione realmente selezionata, con effetti laterali sulla chiamata a WMSW03.
Cancellazione riga (a-modalita = "A", w-dc-called not = "S")¶
Il guard sulla cancellazione e' stato esteso: oltre a tm-grid-det-dati-pnt = zero ora viene controllato anche gor-r-n-m = 0, evitando che la riga "vuota" residua dopo l'eliminazione dell'ultima locazione possa essere selezionata per cancellazione.
Casistica problemi noti¶
Index out of bound su F8/Shift+F7 con griglia vuota (bug 869df00yn)¶
- Sintomo: pressione di F8 o Shift+F7 sulla griglia locazioni quando vuota provocava errore "index out of bound" del runtime.
- Causa: i rami non controllavano
tm-grid-det-dati-pnt = zeroegor-r-n-m = 0prima di accedere al vettoretm-r-locazione(i). - Correzione: aggiunti guard espliciti che mostrano "Nessuna locazione selezionata"/"Nessuna locazione presente in griglia" e tornano a
a-grid(vedi sezioni "Validazioni recenti" sopra). La stessa correzione e' stata applicata in modo piu' esteso al gemello WMSW02. - Riferimento: dettaglio - ClickUp 869df00yn