COGZ95 - Stampa Documento per Avvenuta Consegna¶
Sorgente: cbl/cogz95.cbl | Program-ID: COGZ95 | Tipo: Programma interattivo con stampa (allegato commessa laboratorio)
Menu: Lab.Odont. > Operativo > Stampe > Allegati > Doc. x Avvenuta Consegna
Scopo¶
Stampa il documento di avvenuta consegna del dispositivo medico ultimato allo studio committente. 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 HP-GL/2 su file di stampa (COGS54).
Struttura di stampa analoga a COGZ81 (pagina intera, testata con Paziente/N.Presc./Commessa/Descrizione). Il tipo allegato per la lettura descrizioni e' "N" + zs3-allegato (variabile w-allegato). Se dopo l'impaginazione non c'e' testo (tab-des(1) = spaces), la stampa viene annullata (w-all-exs = "Y").
Se la configurazione MODO-STAMPA-ALLEGATI = "WORD", il programma delega la stampa a COGZ82M (allegato "AC") e termina.
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) |
| LODTMDES | ISAM | I-O (temp) | Buffer temporaneo descrizioni per operatore (ltd-rec) |
| LODTRDES | ISAM | Input | Descrizioni impaginate a misura da COGZDEW (ltr-pro, ltr-des) |
| LODPRESC | ISAM | Input | Prescrizione (lpm-med, lpm-paz, lpm-pro) |
| LODCMTES | ISAM | Input (k02) | Testata commessa via chiave 2 (lct-chia2, lct-piano, lct-coeff, lct-paz, lct-rec) |
| LODPNTES | ISAM | Input | Testata piano/dispositivo (lpt-cod, lpt-tip, lpt-des) |
| LODTABEL | ISAM | Input | Titoli allegato tipo 10, chiave <all>T1/<all>T2 (lta-cod, lta-tipo, lta-10-des) |
| FLSTA | seq | Output | File di stampa HP-GL/2 (record riga) |
LODTMDES e' un temporaneo per operatore (w-ltd-nome = ext-tmp-dir + #$COGZ95.<operatore>), aperto in output esclusivo come lock di funzione.
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogz95.select, cogz95.fd, cogz95.wrk, cogz95-01.scr, cogz95.prc, cogz95.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 (k-personal-lab-lori) |
wcont, wcont1, utilz82 |
Linkage di chiamata |
lodcmtes.k02 |
Chiave secondaria commessa (aggiunta a fine procedure) |
Logica¶
Struttura goto-driven analoga a COGZ81. Flusso principale:
- apri / main: init, costruzione nomi temporanei,
rd-azi,open-files, recupero eventuali dati di chiamata (z82-called = "COGZ95-CALLED"), config viax99-confi/x99-confi-operatore. SeMODO-STAMPA-ALLEGATI = "WORD"chiamaCOGZ82M(allegato "AC") e va afine. Altrimenti prepara tasti, bitmaplabodonto, pulsante custom "Commessa (F5)", maschera. - a4: reset maschera, lock del temporaneo LODTMDES,
z-carica-controlli; se chiamato salta aa-10-cerca. - a-tm-cli: accept prescrizione via
COGS98W; gestione exit/prev/next. - x-controlla-commessa:
find+displaysu COGS98W, legge testata commessa (rd-lodcmtes-lk-chia2), verifica clinica operatore, chiamaCOGZS3(zs3-tip-doc = "Consegna") e componew-allegato = "N" + zs3-allegato; sezs3-allegato = spacesblocca ("Documento non previsto per questo dispositivo"). Controllo stato commessa "C"/"E" saltato seaz-personal = k-personal-lab-lori(la stampa avviene comunque su richiesta, Mauro 12/05/08). Popolatab-npresc,tab-commessa,tab-paziente,tab-com-des(da LODPNTES). - a-20: apertura file stampa via
COGS54e conferma periferica (F3), saltata in archiviazione conw-dc-fl-cogz50 = "S". - a-30:
b-caricaprepara le righe; sew-all-exs = "Y"(nessun testo) termina; altrimenti loop sutm-cfg-n-copie: per ogni copiax41-init-page,x4-format-page,c-stampa,x41-close-page. - b-carica: copia da LODDESCR a LODTMDES le descrizioni del tipo
w-allegato, chiamaCOGZDEW(impaginazione, lunghezza 170), carica intab-all-desle righe rese in LODTRDES; se la prima riga e' vuota impostaw-all-exs = "Y". - c-stampa / d-rect: emette righe HP-GL/2 con titoli T1/T2 da LODTABEL centrati via
COGFNT; salto pagina viax4-format-page. - fine / z-chiudi: chiusura,
cancelCOGZS3/COGS98W,exit program.
Configurazioni (RNEWCONF)¶
Percorso ODONTO.CNF (pacchetto "C"):
| Chiave | Uso |
|---|---|
Formattazione-portrait |
Sequenza formattazione stampante (tm-cfg-formatta) |
copie-documento-avvenuta-consegna |
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 |
COGZDEW |
Impaginazione righe descrizione a misura |
COGFNT |
Calcolo lunghezza frase per centratura titoli |
COGZS3 |
Determina il modello di allegato (zs3-tip-doc = "Consegna") |
COGZ82M |
Stampa allegato in modalita' Word (allegato "AC") |
RNEWCONF |
Lettura configurazioni ODONTO / operatore |
ENCRYPT |
(Presente ma disabilitato, PBUG-1925) |
Note¶
- La gestione azienda criptata e' rimossa con PBUG-1925; resta
move az-int to tm-int. - Il tipo descrizione e'
"N" + <modello allegato>. - Personalizzazione "lab-lori" (
k-personal-lab-lori): salta il controllo di completezza commessa per consentire la stampa comunque su richiesta. - PCASE-2145 (28/05/21): rimossa la richiesta di conferma prima di procedere in modalita' chiamata.
- In archiviazione (
w-dc-archivia = "Archivia",w-dc-fl-cogz50 <> "S") le copie sono forzate a 1. - Output HP-GL/2 (emulazione
HPLJ3) a pagina intera.