COGZAG — Consultazione materiali del medico¶
| Campo | Valore |
|---|---|
| Sorgente | cbl/cogzag.cbl |
| Program-ID | cogzag |
| Tipo | Lista paginata/visualizzazione (con stampa Word/liberatoria) |
| Posizione menu | Lab.Odont. > Operativo > Materiali del medico > Consultazione |
Scopo¶
Consulta i materiali "del medico" registrati sulle commesse: sono i materiali che lo studio/medico consegna al laboratorio (o che il laboratorio deve restituire) per la lavorazione. Il programma elenca, con filtri per cliente, commessa, periodo di consegna/restituzione e stato, le righe materiale con quantita' entrata e resa, descrizione e stato commessa. Puo' essere richiamato da altri programmi (COGZAG-CALLED) per una specifica commessa, ed eventualmente stampare direttamente la "liberatoria" materiali (F9).
Struttura e flusso¶
Programma a maschera con list-box paginata (utilpggr/fscrol2) appoggiata a un file di transito indicizzato cogtrans (tracciato definito inline). La griglia e' in sola consultazione.
apri/a4: init,open-files,rd-azi, costruzione nome filecogtransper operatore, caricamento bitmap/pulsante custom F5 (stato commessa). Se chiamato conzag-called = "COGZAG-CALLED"riceve la commessa inzag-nume va diretto alla conferma.- Sezione filtri: accept di cliente (
COGS65W), da/a data consegna, da/a data restituzione, commessa, stato materiale. a-richiesta-conferma/crea-cogtrans: validazione filtri, apertura del transito (verifica non gia' in uso) e caricamento.a-grid: loop accept sulla griglia con SF4 (personalizza colonne), SF5 (export Excel), F5 (stato commessa COGZ50), F9 (stampa liberatoria se e' impostata una commessa), paginazione.fine/z-chiudi: chiusura file, exit program.
File e tabelle¶
| Tabella | Accesso | Descrizione |
|---|---|---|
cogtrans (trs-) |
temporaneo indicizzato (i/o) | Tracciato specifico di COGZAG (definito inline): cliente, commessa, riga, merce (gruppo/sotto/codice), descrizione, quantita' entrata/resa, date entrata/uscita, stato |
LODCMMMD (lmd-) |
lettura (chiavi .k02...k05) |
Materiali del medico sulla commessa: e' la fonte dei dati. Chiave scelta in base al primo filtro valorizzato (commessa, cliente, data entrata, data uscita, stato) |
LODPRESC (lpm-) |
lettura (chiave .k04) |
Testata commessa: medico, paziente esteso, dottore, stato |
LODCMTES (lct-) |
lettura | Testata commessa: flag lct-blocco-lab (commessa bloccata) |
COGGEANA (ana-) |
lettura | Anagrafica cliente/studio (nome, indirizzo, provincia) |
COGANAPP (aap-) |
lettura | Dati aggiuntivi anagrafica (CAP, localita') per la stampa |
COGMERCI (mer-) |
lettura | Anagrafica articoli (descrizione merce) per la stampa |
Copybook principali¶
| Copybook | Ruolo |
|---|---|
cogzag.select/.fd/.wrk/.prc/.decla |
Definizioni generate da Screens |
cogzag-01.scr |
Screen section |
cogtrans.k01 |
Chiave del file di transito |
utilzag.cpy |
Linkage di chiamata (commessa in ingresso, flag stampa) |
utilz50.cpy |
Linkage COGZ50 (stato commessa) |
utilwordmdl.cpy |
Linkage WORDMDL (stampa liberatoria) |
utils65/utils52/utils54/utilu10/utilg31/utilgdad/utilncnf |
Linkage subroutine chiamate |
lodpresc.k04, lodcmmmd.k02/.k03/.k04/.k05 |
Chiavi secondarie |
utilpggr.cpy, fscrol2.cpy |
Framework list-box paginata |
mmmask.cpy, wgrid.cpy |
Maschera GUI standalone e gestione griglia |
Programmi chiamati¶
| Programma | Interfaccia | Scopo |
|---|---|---|
COGZ50 |
util-z50 |
Stato commessa (da F5) |
COGS65W |
util-s65 |
Ricerca/aiuto anagrafica cliente |
COGS54 |
util-s54 |
Selezione periferica di stampa (F9) |
WORDMDL |
util-wordmdl |
Generazione documento Word "liberatoria materiali" (F9) |
GRIDADMN |
util-gdad |
Personalizzazione griglia (SF4) |
COGU10W |
util-u10 |
Gestione valori/divisa |
RNEWCONF |
util-ncnf |
Lettura configurazione |
Logica di elaborazione¶
crea-cogtrans sceglie la chiave di scansione di LODCMMMD in base al primo filtro valorizzato (in ordine: commessa, cliente, da-data-consegna, da-data-restituzione, stato materiale) e imposta w-chiave-usata; se nessuno e' valorizzato scandisce sulla chiave primaria. tratta-lodcmmmd applica poi tutti i filtri residui come AND e scarta le righe a quantita' zero, scrivendo su cogtrans le righe che passano. leggi-lodcmmmd gestisce la rottura chiave coerente con quella scelta.
La stampa (stampa) genera un file XML dei materiali (tag DATASIS, dati paziente/medico/cliente, righe TAB-RIGHE-01) e lo passa a WORDMDL con il modello cogzag_liberatoria.doc per produrre e stampare il documento.
Note¶
- Lo stato commessa mostrato in griglia deriva da
lpm-stato(Da Prep./Aperta/Utente/Chiusa/Evasa/Fornitore); se la testata commessa halct-blocco-lab = "S"viene forzato a "Bloccata". - La modalita' chiamata (
COGZAG-CALLED) conzag-stampa = "S"stampa la liberatoria e termina automaticamente, senza interazione.