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.