Vai al contenuto

COGZAF — Riepilogo lotti utilizzati per periodo

Campo Valore
Sorgente cbl/cogzaf.cbl
Program-ID cogzaf
Tipo Lista-griglia/visualizzazione (con marcatura e export)
Posizione menu Lab.Odont. > Operativo > Visualizzazioni > Lotti per periodo

Scopo

Riepiloga tutti i lotti di materiale utilizzati dal laboratorio odontotecnico in un intervallo di date, sommando le quantita' impiegate per materiale/lotto. A differenza di cogzci (che parte da un lotto e ne cerca gli utilizzi), COGZAF parte dal periodo e raccoglie l'elenco completo dei lotti consumati. Oltre alla consultazione consente di marcare i lotti come "visti/controllati" (visto = "V"): la spunta, confermata con F3, viene riportata sui record di origine (LODPNMAT, LODCMMTA, LODPNMDS). Supporta l'export in Excel (S-F5).

I filtri della testata sono: da/a data (tm-da-data/tm-a-data), solo materiali con lotto (tm-solo-mat-con-lotti) e inclusione dei gia' vistati (tm-gia-vistati).

Struttura e flusso

  • apri — init, ctr-abil, rd-azi, open-files, costruzione dei nomi dei transiti temporanei (w-nome-trs = COGTRANS, w-nome-trs2 = COGTRANS2), definizione tasti funzione (invio seleziona, F2 seleziona tutti, F3 aggiorna/conferma, F8 aiuto/calendario, F9 stampa, S-F4 griglia, S-F5 export Excel), bitmap/pulsante custom F2, z-prepara-tm-grid.
  • a4 — reset griglia e filtri (default: solo materiali con lotto "S", gia' vistati "N").
  • a-tm-da-data / a-tm-a-data / a-tm-solo-mat-con-lotti / a-tm-gia-vistati — accept dei filtri (date via COGS52/calendario, flag via COGS95).
  • a-fine-dati / a-richiesta-conferma — validazione e conferma, poi apertura in output/i-o dei transiti COGTRANS/COGTRANS2 (lock di funzione per operatore) e chiamata a crea-cogtrans.
  • crea-cogtrans — cuore dell'estrazione: scandisce LODAZION (anagrafica azioni); per ogni azione legge LODCMRIG sulla chiave .k02 (azione + data inizio) filtrando le righe che ricadono nel periodo (lcr-data-ini/lcr-data-fin). Per ogni riga eleggibile legge LODCMTES ed elabora i materiali:
  • elabora-lodpnmat — scandisce i materiali di piano LODPNMAT (tipo "M" selezionati/automatici, con lotto se richiesto) e i materiali descrittivi LODPNMDS;
  • elabora-lodcmmta — per i materiali "P" (packaging) scandisce LODCMMTA. Per ogni materiale la quantita' viene rapportata al coefficiente della commessa e convertita nell'unita' di misura merce tramite COGG31 (convert.um). Il risultato viene aggregato in COGTRANS per materiale + lotto (rd/rwr/wr), sommando le quantita'. Contestualmente COGTRANS2 registra i puntatori ai record di origine (tipo "1" = LODPNMAT, "2" = LODCMMTA, "3" = LODPNMDS) con la relativa chiave, per poter poi riportare la marcatura "visto".
  • z-costruisci-grid — costruisce la griglia paginata (GRIDADMN, gestione paginazione fscrol2/utilpggr), max 100 righe per pagina.
  • a-grid — loop di griglia paginata:
  • Invio → toggla il flag "visto" del lotto sotto cursore (aggiorna COGTRANS e la riga in griglia);
  • F2 → seleziona/deseleziona tutti i lotti (flag-visto-tutti);
  • F3 → previa presenza di almeno una riga selezionata e conferma, chiama aggiorna per riportare la spunta sui record di origine, poi torna alla testata;
  • S-F5 → export Excel della griglia;
  • Pg-Up/Pg-Dwn → scorrimento pagine sul transito.
  • aggiorna / tratta-visto / ok-aggiorna / tratta-cogtrans2 — per ogni lotto marcato "V" in COGTRANS risale, tramite COGTRANS2 (chiave secondaria materiale+lotto), ai record di origine e vi scrive visto = "V": rwr-lodpnmat (tipo 1), rwr-lodcmmta (tipo 2), rwr-lodpnmds (tipo 3).
  • fine / z-chiudi — chiusura file e uscita.

File e tabelle

Tabella Accesso Descrizione
COGTRANS (trs-) temporaneo indicizzato, i-o Riepilogo aggregato per materiale + lotto: unita' di misura, quantita' totale, flag visto, descrizione. Chiave trs-chia1 = materiale + lotto
COGTRANS2 (trs2-) temporaneo indicizzato, i-o Puntatori ai record di origine (tipo 1/2/3 + chiave), per riportare il flag visto. Chiave secondaria trs2-chia2 = materiale + lotto + chiave
LODAZION (laz-) lettura Anagrafica azioni (codice azione, punto di partenza della scansione)
LODCMRIG (lcr-) lettura (chiave .k02 per azione + data) Righe azione della commessa (data inizio/fine, commessa)
LODCMTES (lct-) lettura Testata commessa (piano, coefficiente)
LODPNMAT (lmt-) lettura/riscrittura Materiali di piano (merce, lotto, quantita', tipo, flag sel/aut, visto)
LODPNMDS (lmtd-) lettura/riscrittura Materiali descrittivi di commessa (lotto, merce, descrizione, visto)
LODCMMTA (mpa-) lettura/riscrittura Materiali packaging della commessa (merce, lotto, quantita', visto)
COGMERCI (mer-) lettura Anagrafica articoli (unita' di misura)

Copybook principali

Copybook Ruolo
cogzaf.select/.fd/.wrk/.prc/.decla, cogzaf-01.scr Definizioni generate e screen section
utilgdad, utils52, utilncnf, utilu10 Gestori griglia/campo data/config/importi
utilg31.cpy Interfaccia a COGG31 (conversione unita' di misura)
dtab.cpy, fscrol2.cpy, utilpggr.cpy Gestione griglia paginata (scrolling su file di transito)
cogzaf.decla, chiavi lodcmrig.k02, cogtrans.k01, cogtran2.k01, cogtran2.k02 Declaratives e chiavi secondarie (a fine procedure division)
mmmask.cpy, cogazien.cpy, wgrave, wnscr, wopenf, wstato Infrastruttura maschera GUI

Programmi chiamati

Programma Interfaccia Scopo
COGG31 util-g31 Conversione quantita' tra unita' di misura materiale/merce (convert.um)
COGS52 util-s52 Gestore campo data
GRIDADMN util-gdad Personalizzazione griglia (S-F4)
RNEWCONF util-ncnf Lettura configurazioni

Note

  • La griglia e' paginata su file di transito (fscrol2/utilpggr): a differenza degli altri programmi del laboratorio il transito non viene cancellato in z-chiudi, ma sovrascritto (open output) a ogni nuova ricerca con lock di funzione per operatore.
  • La marcatura "visto" e' l'unica scrittura sui dati reali: e' un'operazione di quadratura/controllo dei lotti consumati. Il flag viene riportato sui record di origine solo dopo la conferma con F3.
  • La quantita' e' sommata per materiale + lotto e sempre convertita nell'unita' di misura della merce quando questa differisce da quella del materiale.

Storico modifiche

  • 130924: aggiunta la gestione dei materiali descrittivi LODPNMDS (record trans tipo "3", colonna descrizione, riporto del visto); il flag visto viene ora inizializzato dal record di origine anziche' azzerato.
  • 050825 (TASK-1588): nei record LODPNMDS possono comparire merci per attribuire altri codici lotto a parita' di LODPNMAT.
  • Autore: Daniele.