Vai al contenuto

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 file cogtrans per operatore, caricamento bitmap/pulsante custom F5 (stato commessa). Se chiamato con zag-called = "COGZAG-CALLED" riceve la commessa in zag-num e 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 ha lct-blocco-lab = "S" viene forzato a "Bloccata".
  • La modalita' chiamata (COGZAG-CALLED) con zag-stampa = "S" stampa la liberatoria e termina automaticamente, senza interazione.