Vai al contenuto

COGZCI — Ricerca lotti utilizzati

Campo Valore
Sorgente cbl/cogzci.cbl
Program-ID cogzci
Tipo Lista-griglia/visualizzazione
Posizione menu Lab.Odont. > Operativo > Visualizzazioni > Ricerca lotti utilizzati

Scopo

Ricerca in quali commesse del laboratorio odontotecnico e' stato utilizzato un dato lotto di materiale, mostrando in griglia commessa, cliente/studio, paziente, data, merce, lotto, unita' di misura e quantita' impiegata. L'operatore indica il lotto (e opzionalmente la merce) e sceglie tra ricerca esatta o parziale (tm-fl-esatta): la parziale trova tutti i lotti che contengono la stringa indicata. E' una funzione di sola consultazione, tipicamente usata per la tracciabilita' (individuare i lavori interessati da un lotto specifico).

Struttura e flusso

  • apri — init programma (z-99-init-program), ctr-abil, rd-azi, open-files, definizione tasti funzione (F3 conferma, SF4 griglia, F9 ricerca avanzata), preparazione controlli merce (via COGS68W) e griglia (z-prepara-tm-grid).
  • a4 — reset della griglia e dei filtri, ricerca esatta di default a "N".
  • a-tm-merce / a-tm-lotto / a-tm-fl-esatta — accept dei filtri: merce (con aiuto COGS68W), lotto (obbligatorio) e flag ricerca esatta (via COGS95). carica-length calcola la lunghezza significativa del lotto per la ricerca parziale.
  • a-fine-dati — validazione (x-controlla-dati) e chiamata a carica-griglia.
  • carica-griglia — cuore della ricerca: scandisce LODPNMAT (materiali di piano). Con ricerca esatta e merce indicata parte sulla chiave .k03 (merce + lotto), altrimenti sulla chiave .k02 (per tipo "M"). Per ogni record materiale di tipo "M" confronta il lotto (upper-case) con quello richiesto — uguaglianza in ricerca esatta, contenimento (inspect ... tallying) in ricerca parziale. Per ogni riscontro risale a testata commessa LODCMTES (chiave .k05 per piano), prescrizione LODPRESC, anagrafica studio COGGEANA, riga commessa LODCMRIG (per il coefficiente lcr-n-elementi) e merce COGMERCI (unita' di misura), calcolando la quantita' effettiva (w-rc-qta, moltiplicata per il coefficiente quando lmt-fl-qta = "U"). Riempie la tabella di maschera tm-righe (occurs 800).
  • carica-griglia-fine / pnmds-10-loop — seconda scansione su LODPNMDS (materiali descrittivi di commessa) per lo stesso lotto, aggiungendo alla griglia anche i lotti attribuiti tramite materiali descrittivi (TASK-1588) con la relativa descrizione.
  • z-costruisci-grid / x-riempi-grid-record — costruzione della griglia via GRIDADMN.
  • a-grid / a-accept-grid — loop di griglia con sola consultazione; SF4 personalizzazione colonne.
  • fine / z-chiudi — chiusura file e uscita.

Nota: a differenza degli altri programmi di visualizzazione del laboratorio, COGZCI non usa un file di transito COGTRANS: i risultati vengono accumulati direttamente nella tabella di maschera in memoria (max 800 righe).

File e tabelle

Tabella Accesso Descrizione
LODPNMAT (lmt-) lettura (chiavi .k02, .k03) Materiali di piano/commessa (tipo "M", merce, lotto, quantita', unita' di misura)
LODPNMDS (lmtd-) lettura (chiave .k02 per lotto) Materiali descrittivi di commessa (lotto, merce, descrizione)
LODCMTES (lct-) lettura (chiave .k05 per piano) Testata commessa (commessa, medico, paziente, coefficiente)
LODCMRIG (lcr-) lettura Righe commessa (numero elementi/coefficiente)
LODPRESC (lpm-) lettura Prescrizione/commessa (data)
COGGEANA (ana-) lettura Anagrafica studio (nome)
COGMERCI (mer-) lettura Anagrafica articoli (unita' di misura)

Copybook principali

Copybook Ruolo
cogzci.select/.fd/.wrk/.prc/.decla, cogzci-01.scr Definizioni generate e screen section
utilgdad, utils52, utils68, utilu20 Gestori griglia/campo data/merce/importi
cogzci.decla, chiavi lodpnmat.k02, lodpnmat.k03, lodcmtes.k05, lodpnmds.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
COGS68W util-s68 Aiuto/ricerca merce (gruppo/sottogruppo/codice)
GRIDADMN util-gdad Personalizzazione griglia (SF4)

Note

  • La ricerca parziale confronta i lotti sempre in maiuscolo (function upper-case, tm-lotto-upper): la corrispondenza e' case-insensitive.
  • La quantita' mostrata e' rapportata al coefficiente/numero elementi della commessa quando il materiale e' espresso "per unita'" (lmt-fl-qta = "U").
  • Se la merce non e' indicata la ricerca avviene sul solo lotto (chiave .k02 per tipo "M"), quindi puo' restituire lotti di merci diverse.

Storico modifiche

  • 130924: aggiunta la colonna descrizione dei materiali descrittivi (grd-lmtd-des) e la ricerca su LODPNMDS; confronto lotto in upper-case.
  • 050825 (TASK-1588): nei record LODPNMDS possono comparire merci per attribuire altri codici lotto a parita' di LODPNMAT.
  • Autore: Gianluca Tonti. Programma GUI diretto (Gianluca, 10/12/2009).