COGZ94 - Stampa Dichiarazione di Reperibilita'¶
Sorgente: cbl/cogz94.cbl | Program-ID: COGZ94 | Tipo: Stampa (programma interattivo con stampa diretta)
Menu: - Lab.Odont. > Operativo > Stampe > Dichiarazione di Reperibilita' - Lab.Odont. > Operativo > Stampe > Allegati > Dichiarazione di Reperibilita'
(stesso programma raggiungibile da entrambe le voci)
Scopo¶
Stampa il modulo "Dichiarazione di Reperibilita'" previsto dalla certificazione direttiva 93/42 CEE per dispositivi medici. Puo' funzionare in modalita' stand-alone, oppure come programma chiamato da stampa allegati o archiviazione ottica (linkage utilz82).
Quando la configurazione odonto.MODO-STAMPA-ALLEGATI = "WORD" delega la stampa a COGZ82M con tipo allegato "DR" (Reperibilita').
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda |
| LODTMDES | ISAM (temp) | I-O | Transito descrizioni master (lock per "funzione in uso") |
| LODTRDES | ISAM (temp) | I-O | Transito righe descrizione |
| FLSTA | binary seq. | Output | File di stampa |
| COGTABEL | ISAM | Input | Tabelle generiche |
| LODTABEL | ISAM | Input | Tabelle laboratorio (tipo dispositivo, ecc.) |
| LODDESCR | ISAM | Input | Descrizioni libere |
| LODPNTES | ISAM | Input | Testata piano fabbricazione |
| LODPNMAT | ISAM | Input | Materiali piano |
| LODPRESC | ISAM | Input | Prescrizione |
| LODCMTES | ISAM | Input | Testata commessa |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogz94.select, cogz94.fd, cogz94.wrk, cogz94-01.scr, cogz94.prc, cogz94.decla |
Screen Designer: select, FD, working, screen, procedure, declaratives |
flsta.fd, flsta.cpy, cogfiles.cpy |
File stampa, FEURTAB |
wstato, wopenf, wgrave, wnscr, cogazien |
Working storage standard + dati azienda |
utils54.cpy |
Linkage COGS54 (stampa) |
utils52.cpy |
Linkage COGS52 (calendario) |
utils98.cpy |
Linkage COGS98W (ricerca prescrizione) |
utilzde.cpy |
Linkage COGZDEW (descrizioni estese) |
utilfnt.cpy |
Linkage COGFNT (font) |
utilzs3.cpy |
Linkage COGZS3 (ricerca allegato per tipo dispositivo) |
k-personal.cpy, utilncnf.cpy |
Costanti, linkage RNEWCONF |
utilz82.cpy |
Linkage del programma quando chiamato (allegati / archiviazione) |
wcont.cpy, wcont1.cpy |
Linkage standard |
Logica di elaborazione¶
Apertura (apri): init programma, apertura file, costruzione percorsi #$cogz94.<oper> (LODTMDES) e #$cogzde.<oper> (LODTRDES) in ext-tmp-dir. Lettura linkage utilz82: se z82-called = "COGZ94-CALLED" il programma e' in modalita' chiamata (archiviazione o stampa allegati). Carica configurazioni: numero copie, formato portrait/landscape, modalita' allegati (vedi sotto).
Delega Word: se tm-cfg-modo-allegati = "WORD" chiama COGZ82M passando allegato "DR" ed esce.
Selezione commessa (a4 / a-tm-cli): accept campi prescrizione tramite COGS98W (gestione standard ricerca prescrizione/commessa). Se chiamato da esterno (w-dc-called = "S") salta direttamente alla verifica.
Validazione (x-controlla-commessa):
- Verifica esistenza prescrizione (s98-fun = "find+display") -> errore "Prescrizione non esistente!!" se non trovata.
- Lettura testata commessa lodcmtes -> errore "Commessa non ancora aperta!!" se non presente.
- Verifica clinica operatore (tm-cfg-clinica-ope): se valorizzata, confronto con lpm-num (1:2). Se non corrisponde -> errore "Commessa non appartenente alla clinica!!".
- Chiama COGZS3 con tip-doc = "Reperibilita" per ottenere il codice allegato; se vuoto -> "La dichiarazione di reperibilita' non e' prevista per questo dispositivo!!".
Stampa (a-20 / a-30): richiesta stampante via COGS54 (saltata se chiamata in archiviazione con flag specifico), poi loop per tm-cfg-n-copie copie con b-carica thru ex-carica (caricamento testo allegato) e c-stampa thru ex-stampa (rendering). Font gestiti da COGFNT, formattazione descrizioni estese tramite COGZDEW.
Chiusura (fine / z-chiudi): chiude file, cancel di COGZS3, COGS98W.
Chiamate a sottoprogrammi¶
| Programma | Utilizzo |
|---|---|
COGS54 |
Selezione stampante e gestione stampa laser |
COGS98W |
Ricerca/dialogo prescrizione |
COGZS3 |
Ricerca allegato per tipo dispositivo (tipo doc = "Reperibilita") |
COGZDEW |
Formattazione descrizioni estese / wrap testo |
COGFNT |
Gestione font in stampa |
COGZ82M |
Delega stampa allegato in modalita' Word (passando "DR") |
RNEWCONF |
Lettura configurazioni |
Configurazioni RNEWCONF¶
| Gruppo | Chiave | Descrizione |
|---|---|---|
| ODONTO | Formattazione-portrait | Formato di stampa (portrait/landscape) |
| ODONTO | copie-dichiarazione-reperibilita | Numero di copie da stampare |
| ODONTO | MODO-STAMPA-ALLEGATI | Se "WORD" delega a COGZ82M; altrimenti stampa interna |
| APO | operatore-clinica-su-lab | Per operatore: clinica di appartenenza (gestione gruppo cliniche) |
Linkage di chiamata (z82)¶
Quando chiamato da esterno (z82-called = "COGZ94-CALLED"):
- z82-archivia — se "Archivia" il programma e' in archiviazione ottica
- z82-prescrizione — chiave prescrizione su cui operare
- z82-chr-stampa — parametro caratteri stampa
- z82-fl-cogz50 — flag che indica chiamata da COGZ50 (gestione archiviazione)
Note implementative¶
- Apertura/chiusura LODTMDES in modalita' "output then I-O" serve come lock fittizio: se non riesce ad aprire in output -> "Funzione gia' in uso dall'operatore" e termina.
- L'azienda criptata e' stata rimossa con PBUG-1925 (codice commentato).
- Il programma supporta tre modalita' di invocazione: stand-alone (dal menu), da stampa allegati, da archiviazione ottica (
Archivia). - Il flag
w-dc-fl-cogz50cambia il comportamento del COGS54: in archiviazione solo apertura file senza richiesta interattiva. - Lo stesso programma e' richiamato da due voci di menu diverse (
Stampe > Dichiarazione di Reperibilita'eStampe > Allegati > Dichiarazione di Reperibilita').