COGZ83 - Stampa Istruzioni per l'Uso¶
Sorgente: cbl/cogz83.cbl | Program-ID: COGZ83 | Tipo: Programma interattivo con stampa (allegato commessa laboratorio)
Menu: Lab.Odont. > Operativo > Stampe > Allegati > Istruzioni d'Uso (anche Lab.Odont. > Archivi > Stampe)
Scopo¶
Stampa l'allegato "Istruzioni per l'Uso" del dispositivo medico associato a una commessa di laboratorio. L'operatore identifica la commessa tramite la ricerca generica (studio/paziente/progressivo o numero commessa), il programma verifica prescrizione, stato commessa e appartenenza clinica, poi genera il documento in linguaggio HP-GL/2 su file di stampa via COGS54.
Il testo delle istruzioni e' impaginato su tre colonne, ripetendo per 10 blocchi titolo/testo alternati (conta 0..9), ciascuno con un tipo descrizione w-titolo/w-testo derivato dal modello di allegato (A..E) restituito da COGZS3.
Se la configurazione MODO-STAMPA-ALLEGATI = "WORD", il programma delega l'intera stampa a COGZ82M (allegato "IS") e termina senza usare il motore HP-GL/2 interno.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda (cogfiles.cpy) |
| LODDESCR | ISAM | Input | Descrizioni allegato per tipo (lde-tip, lde-cod, lde-pro, lde-rec, lde-des) |
| LODTMDES | ISAM | I-O (temp) | File temporaneo per operatore: buffer descrizioni caricate (ltd-rec) |
| LODTRDES | ISAM | Input | Descrizioni "renderizzate" a misura da COGZDEW (ltr-pro, ltr-des) |
| LODPRESC | ISAM | Input | Prescrizione (lpm-med, lpm-paz, lpm-pro, lpm-num) |
| LODCMTES | ISAM | Input (k02) | Testata commessa via chiave 2 (lct-chia2, lct-piano, lct-coeff, lct-rec) |
| LODPNTES | ISAM | Input | Testata piano/dispositivo (lpt-cod, lpt-tip, lpt-des) |
| LODTABEL | ISAM | Input | Tabelle: titoli allegato tipo 10, chiave I<all>T1/I<all>T2 (lta-cod, lta-tipo, lta-10-des) |
| LODCMAGG | ISAM | Input | Dati aggiuntivi commessa (lcg-cod, lcg-data-stampa) |
| FLSTA | seq | Output | File di stampa HP-GL/2 (record riga) |
LODTMDES e' un file temporaneo per operatore: il nome viene costruito in w-ltd-nome con ext-tmp-dir + #$COGZ83.<operatore>; e' aperto in output esclusivo a inizio elaborazione come lock di funzione ("Funzione gia' in uso dall'operatore").
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogz83.select, cogz83.fd, cogz83.wrk, cogz83-01.scr, cogz83.prc, cogz83.decla |
Screen Designer |
feurtab.fd, cogfiles.cpy |
FEURTAB |
lodtmdes.fd/.cpy/.k01, lodtrdes.fd/.cpy/.k01 |
File temporanei descrizioni |
flsta.fd/.cpy |
File di stampa |
wstato, wopenf, wgrave, wnscr, cogazien |
Working storage standard + dati azienda |
utils54, utils52, utils98, utilzde, utilfnt, utilzs3 |
Linkage subroutine COGS54/COGS52/COGS98W/COGZDEW/COGFNT/COGZS3 |
utilncnf |
Linkage RNEWCONF |
k-personal |
Costanti personalizzazioni azienda |
wcont, wcont1, utilz82 |
Linkage di chiamata (stringhe, parametri Z82) |
lodcmtes.k02 |
Chiave secondaria commessa (aggiunta a fine procedure) |
Logica¶
Struttura a "goto-driven" con paragrafi etichettati (stile legacy dei moduli di stampa allegati). Flusso principale:
- apri / main: init programma, costruzione nomi file temporanei,
rd-azi,open-files. Se chiamato da altro modulo (z82-called = "COGZ83-CALLED") recupera dati archiviazione/prescrizione. Carica config conx99-confiex99-confi-operatore. SeMODO-STAMPA-ALLEGATI = "WORD"chiamaCOGZ82M(allegato "IS") e va afine. Altrimenti prepara i tasti funzione, la bitmaplabodonto, il pulsante custom "Commessa (F5)", visualizza la maschera. - a4: reset maschera, apertura esclusiva/lock del temporaneo LODTMDES,
z-carica-controlli. Sew-dc-called = "S"salta direttamente aa-10-cerca. - a-tm-cli: accept della prescrizione via
COGS98W(routinez-s98-tm-presc); gestisce exit/prev/next. - x-controlla-commessa: cerca prescrizione (
find+displaysu COGS98W), legge testata commessa (rd-lodcmtes-lk-chia2), controlla stato commessa "C"/"E", verifica clinica operatore (tm-cfg-clinica-ope), chiamaCOGZS3per ottenere il modello di allegato (zs3-allegato), impostaw-titolo/w-testoin base al modello (A..E), legge LODCMAGG. - a-20: apre il file di stampa via
COGS54e chiede conferma periferica (F3); in modalita' archiviazione conw-dc-fl-cogz50 = "S"salta aa-30senza richiesta. - a-30 / crea-stampa: loop su
tm-cfg-n-copie; per ogni copiacrea-stampacostruisce le 10 sezioni titolo/testo (cs-30-loop), poi chiude la pagina. - b-carica / carica-trans:
carica-transcopia da LODDESCR a LODTMDES (temp) i testi del tipo corrente;COGZDEWgenera in LODTRDES le righe impaginate aw-lunghezza83; il testo reso viene caricato intab-all-des-1. - c-stampa: emette comandi HP-GL/2
PU.../LB...#;per ogni riga, con cambio colonna/pagina viad-rect. - testa / x4-format-page / x41-init-page / x41-close-page: impaginazione HP-GL/2 (rettangoli, font
SD..., logo seISTRUZIONI-USO-LOGO="SI", data stampa dalcg-data-stampao data sistema, titoli T1/T2 letti da LODTABEL e centrati viaCOGFNT). - fine / z-chiudi: chiusura file,
canceldi COGZS3 e COGS98W,exit program.
Configurazioni (RNEWCONF)¶
Gruppo/percorso ODONTO.CNF (pacchetto "C"):
| Chiave | Uso |
|---|---|
Formattazione-COGZ83 |
Sequenza di formattazione stampante (tm-cfg-formatta) |
ISTRUZIONI-USO-LOGO |
"SI" per stampare il logo azienda (w-logo) |
copie-istruzioni-uso |
Numero copie (tm-cfg-n-copie) |
MODO-STAMPA-ALLEGATI |
"WORD" delega a COGZ82M |
apo / operatore-clinica-su-lab (sud = operatore) |
Clinica dell'operatore (tm-cfg-clinica-ope) |
CALL¶
| Programma | Scopo |
|---|---|
COGS54 |
Apertura/chiusura file di stampa e richiesta periferica |
COGS98W |
Ricerca/accept generico prescrizione-commessa in maschera |
COGZDEW |
Rendering righe descrizione a misura (impaginazione testo) |
COGFNT |
Calcolo lunghezza frase per centratura titoli |
COGZS3 |
Determina il modello di allegato previsto (zs3-tip-doc = "Istruzioni") |
COGZ82M |
Stampa allegato in modalita' Word (allegato "IS") |
RNEWCONF |
Lettura configurazioni ODONTO / operatore |
ENCRYPT |
(Presente ma disabilitato: gestione azienda criptata rimossa, PBUG-1925) |
Note¶
- La gestione dell'azienda criptata (confronto
az-int) e' stata rimossa con PBUG-1925 (02/07/2024); resta solomove az-int to tm-int. - Il modello di allegato (A..E) mappa a coppie di caratteri
w-titolo/w-testo(caratteri extended ISO-8859-1) usati come chiave di tipo su LODDESCR. - L'output e' HP-GL/2 (emulazione
HPLJ3), impaginato su tre colonne (col1/col2/col3) con salti pagina governati dalla posizione verticalew-v-pos.