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.