Vai al contenuto

WMS008 - Estrazione giacenze per locazione

Funzione

Estrae su file Excel (TSV) le giacenze per locazione dalla tabella PostgreSQL DFGIACENZELOC, applicando filtri su intervallo merce, codice merce avanzato (CMA) e range o prefisso di locazione.

Non presente a menu (programma standalone / utility interna).

Tabelle e file principali

Tabella/File Descrizione Accesso
DFGIACENZELOC Giacenze per locazione (PostgreSQL, DB frontiera) Lettura (cursore SQL)
DFLOCAZIONI Anagrafica locazioni (PostgreSQL, DB frontiera) Lettura (validazione filtro locazione)
COGMERCI Anagrafica merci Lettura (filtro merce cancellata)
COGRACMT Raccordo merce-tabella CMA Lettura (filtro CMA)
COGTABEL Tabella generica (tipo 62 = tipologie CMA) Lettura (validazione tabella CMA)
cogexprt File di transito TSV per export Excel Scrittura

Copybook e sottoprogrammi

Elemento Tipo Ruolo
wms008.select, wms008.fd, wms008.wrk, wms008.tm, wms008.prc Screen-generated Definizioni file, maschera, procedure
wms008.imppredf-wrk Screen-generated Definizioni predefinite import
COGU16W (util-u16) CALL Gestione range merce (da/a, ordinamento, validazione)
COGS68W (util-s68) CALL Estrazione dati merce (descrizione, CMA, gruppi)
COGS60W CALL Controllo input (ordinamento)
WIN076 CALL Finestra di aiuto selezione codice CMA
GRIDTOXS CALL Apertura file Excel
RNEWCONF CALL Lettura configurazioni runtime

Configurazioni RNEWCONF

Gruppo Chiave Uso
dbfront db-conn-string (idx 1-3) Stringa connessione PostgreSQL
dbfront db-log-level Livello log SQL

Logica principale

Flusso

  1. Inizializzazione: lettura configurazioni RNEWCONF, apertura connessione PostgreSQL, preparazione maschera
  2. Accept loop: l'operatore inserisce i parametri di filtro:
  3. Ordinamento (C=codice merce, A=cod. avanzato, D=descrizione)
  4. Da merce / A merce (range tramite COGU16W)
  5. Tabella CMA + Codice CMA (filtro facoltativo su classificazione merceologica avanzata)
  6. Da locazione / A locazione (filtro facoltativo: range, prefisso o nessuno)
  7. Conferma: validazione finale di tutti i campi
  8. Esportazione (c-esporta): costruzione SELECT SQL, loop su cursore, scrittura TSV, apertura Excel

Filtro locazione

Il programma supporta tre modalita' di filtro locazione:

Modalita' Condizione Comportamento SQL
N (nessuno) Entrambi i campi vuoti Nessun filtro locazione
P (prefisso) loc-da = loc-a (non vuoti) LIKE rtrim(loc-da) \|\| '%'
R (range) loc-da <> loc-a BETWEEN loc-da AND loc-a

La validazione del campo locazione accetta sia match esatto su DFLOCAZIONI sia match per prefisso (almeno una locazione che inizia con il valore inserito).

Costruzione SELECT

La query su DFGIACENZELOC esclude sempre: - Record cancellati (gloc_fl_canc <> 'C') - Giacenza zero (gloc_giacenza <> 0)

L'ordinamento e' sempre ORDER BY gloc_locazione, gloc_merce.

Elaborazione riga

Per ogni riga del cursore: 1. Verifica range merce (COGU16W con u16-ope = "Controllo") 2. Esclude merci cancellate (mer-val = "C") 3. Filtro CMA (se attivo): verifica raccordo merce-CMA in COGRACMT 4. Lookup descrizione e codice avanzato (COGS68W) 5. Scrittura riga TSV

Formato output TSV

Il file viene scritto con due righe di intestazione (riga 1: tipi colonna S/N, riga 2: nomi colonna) seguite dai dati.

Colonna Contenuto Tipo
Cod merce interno Chiave merce (gru-sot-cod, 9 char) S
Cod merce avanzato Codice CMA dalla merce S
Descrizione merce Descrizione completa (da COGS68W) S
Locazione Codice locazione S
Classe Classe locazione S
Giacenza Giacenza numerica N

Il file viene salvato in ext-tmp-dir con nome wms008-{operatore}-{data}-{ora}.xls e aperto automaticamente con Excel tramite GRIDTOXS.

Note

  • Il pattern di maschera (accept loop con F2=indietro, F3=conferma, ESC=esci) e' analogo a IMPLIS.
  • La connessione PostgreSQL segue il pattern WMSW03/WMSW04 (sql-init, cursore, sql-exit).
  • I contatori letti/esportati vengono aggiornati a video ogni 50 record.
  • Se nessun dato viene esportato, viene mostrato un messaggio di warning e il file non viene aperto.