Vai al contenuto

COGZ56 — Verifica commesse-documenti

Campo Valore
Sorgente cbl/cogz56.cbl
Program-ID cogz56
Tipo Maschera GUI + stampa HP-GL/2 (utility di controllo)
Posizione menu Lab.Odont. > Operativo > Utilita' > Verifica commesse-documenti

Scopo

Utility di controllo di integrita' tra le commesse (prescrizioni) di laboratorio e i documenti generati. Per un intervallo di date di consegna, verifica per ciascuna prescrizione se esiste (o meno) un documento accompagnatorio collegato e produce una stampa di anomalia. Due modalita' di elaborazione:

  • "A" — commesse aperte con documento: considera solo le commesse non chiuse/evase e stampa quelle che risultano gia' agganciate a un documento (situazione anomala: la commessa e' ancora aperta ma un documento e' gia' stato emesso).
  • "C" — commesse chiuse senza documento: considera solo le commesse chiuse/evase e stampa quelle senza documento collegato (situazione anomala: commessa chiusa ma nessun documento emesso).

La stampa riporta, per ogni anomalia, codice cliente, nome cliente, paziente, eventuale progressivo, numero commessa, data e ora di consegna. Vengono inoltre mostrati a video tre contatori: prescrizioni lette, commesse selezionate dal filtro stato, righe stampate.

Struttura e flusso

  • apri: init standard, rd-azi, open-files; attiva i tasti funzione (F3 conferma, F8 aiuto/calendario); rd-msk-pop; prepara i controlli.
  • a4: inizializza la maschera con tipo elaborazione di default "A"; carica i controlli e attiva F3.
  • Filtri (a-tm-data-ini, a-tm-data-fin, a-tm-tip-elab): date periodo gestite con COGS52/calendario; tipo elaborazione ("A"/"C") gestito come combo (z-s60-tm-tip-elab). Controllo di coerenza date (inizio <= fine).
  • a-richiesta-conferma / x-imposta-conferma: valida i campi; su F3 procede.
  • s-20: scelta stampante via COGS54; inizializza la pagina di stampa (x41-init-page, x4-format-page).
  • b-elabora: scandisce LODPRESC per data consegna nel range (chiave chia3, lpm-data). Per ogni prescrizione:
  • conta le prescrizioni lette (tm-c-l);
  • applica il filtro sullo stato commessa (lpm-stato): in modo "A" scarta le chiuse/evase ("E"/"C"), in modo "C" tiene solo le chiuse/evase; conta le commesse selezionate (tm-c-c);
  • verifica l'esistenza di un documento collegato (lett-cogracbb): cerca su COGRACBB un abbinamento tipo "CD" per il numero commessa (lpm-num) e, se presente, verifica la testata bolla su COGTESBO (lett-cogtesbo), impostando fl-tro = "S";
  • decide se stampare: in modo "A" stampa se un documento esiste (fl-tro = "S"); in modo "C" stampa se non esiste (fl-tro = "N"). Conta le righe stampate (tm-c-r) e chiama c1-stampa.
  • c1-stampa: emette una riga di stampa (codice cliente, nome cliente da COGGEANA, paziente, progressivo, commessa, data/ora consegna); gestisce il salto pagina.
  • d-rect / x4-format-page / x41-init-page / x41-close-page: generano il layout HP-GL/2 (testata con intestazione azienda, titolo dipendente dalla modalita', cornice e colonne, numero pagina e data stampa).
  • fine / z-chiudi: chiude i file, chiude window, z-99-exit-program.

File e tabelle

Tabella Accesso Descrizione
LODPRESC (lpm-) Lettura (chiave chia3 per data) Prescrizione/commessa: data consegna (lpm-data), stato (lpm-stato), cliente (lpm-med), paziente, numero commessa (lpm-num), data/ora consegna
COGRACBB (rbb-) Lettura (start/rdnxt) Righe abbinamento bolle: verifica aggancio documento (tipo "CD", rbb-a-bol = lpm-num)
COGTESBO (tes-) Lettura (chiave chia3) Testata bolla/documento: conferma esistenza del documento collegato
COGGEANA (ana-) Lettura Anagrafica cliente (nome, tipo "C")
flsta Output File di stampa HP-GL/2

Copybook principali

Copybook Ruolo
cogz56.select / cogz56.fd / cogz56.wrk / cogz56.prc / cogz56.decla / cogz56-01.scr Componenti generati da Screen Designer
feurtab.fd, cogfiles.cpy FD FEURTAB
flsta.fd / flsta.cpy File di stampa
utils54.cpy, utils52.cpy Interfacce a COGS54 (stampante) e COGS52 (date)
utilncnf.cpy Lettura configurazioni (linkage predisposto)
lodpresc.k03 Chiave secondaria LODPRESC (per data consegna)
wstato, wopenf, wgrave, wnscr, cogazien Working storage standard + dati azienda
stato, stato1, winmsg, grave, mmmask, opengen Copybook di fine procedure

Programmi chiamati

Programma Interfaccia Scopo
COGS54 utils54.cpy (util-s54) Scelta stampante / gestione stampa
COGS52 utils52.cpy Gestore campi data (inizio/fine periodo)

Note

  • E' una utility diagnostica di sola lettura: non modifica alcun dato, produce solo una stampa di anomalia. Le due modalita' sono speculari (aperte con documento / chiuse senza documento) e servono a intercettare disallineamenti tra il ciclo commessa e l'emissione dei documenti.
  • La colonna "Progressivo" nella stampa e' condizionata dalla personalizzazione della prescrizione (az-lod-presc <> "C"): quando le prescrizioni sono per commessa il progressivo non e' significativo.
  • La stampa e' in HP-GL/2 (emulazione HPLJ3): il programma genera direttamente i comandi vettoriali (PU/PD/EA/LB) e la cornice tabellare.