Vai al contenuto

COGZ97 -- Stampa Dichiarazione di Riparazione (allegato)

Sorgente: cbl/cogz97.cbl | Tipo: Programma di menu / stampa allegato (richiamabile) | Program-ID: COGZ97

Menu: Lab.Odont. > Operativo > Stampe > Allegati [Dichiarazione di Riparazione]


Scopo

COGZ97 stampa la "Dichiarazione di Riparazione", uno degli allegati documentali che accompagnano la consegna di un dispositivo del laboratorio odontotecnico. A partire da una commessa/prescrizione selezionata, il programma determina il tipo di allegato applicabile, carica il testo descrittivo dell'allegato e lo impagina su un modulo prestampato (cornice, intestazioni e corpo testo) inviato alla stampante in linguaggio HP-GL/2 + PCL.

Il programma ha due modalita' di stampa allegato, decise dalla configurazione:

  • Modalita' interna (default): COGZ97 impagina e stampa direttamente l'allegato.
  • Modalita' WORD: se la configurazione MODO-STAMPA-ALLEGATI = "WORD", COGZ97 delega la produzione a COGZ82M (documento su modello Word / Area Report), passandogli il tipo allegato RP e uscendo subito.

Puo' essere lanciato dal menu (selezione interattiva della prescrizione) oppure richiamato da altri programmi in modalita' "silent" (linkage util-z82 con z82-called = "COGZ97-CALLED"), per esempio nell'ambito dell'archiviazione o della stampa allegati di fine commessa.

Configurazione (RNEWCONF)

Letta da ODONTO.CNF via RNEWCONF in x99-confi / x99-confi-operatore (pacchetto C):

Chiave Uso
Formattazione-portrait Stringa di formattazione pagina (tm-cfg-formatta)
copie-dichiarazione-riparazione Numero copie da stampare (forzato a 1 in archiviazione senza COGZ50)
MODO-STAMPA-ALLEGATI WORD -> delega a COGZ82M; altrimenti stampa interna
operatore-clinica-su-lab (gruppo apo, suddivisione = operatore attivo) Clinica dell'operatore (tm-cfg-clinica-ope): filtra le commesse per prefisso clinica (lpm-num (1:2))

File e tabelle principali

File/Tabella Copybook Uso
LODPRESC cogfiles.cpy (lpm-rec) Prescrizione/commessa: lettura dati (lpm-num, lpm-med, lpm-paz, lpm-pro) e controllo appartenenza clinica
LODCMTES cogfiles.cpy (lct-rec) + lodcmtes.k02 Testata commessa: verifica commessa aperta e stato completo (chiave .k02 per prescrizione tm-presc)
LODPNTES cogfiles.cpy (lpt-rec, tipo T) Testata piano di lavorazione: descrizione commessa (lpt-des)
LODDESCR cogfiles.cpy (lde-rec) Descrizioni allegato: righe di testo dell'allegato (lde-tip = tipo allegato), copiate nel temporaneo
LODTABEL cogfiles.cpy (lta-rec, tipo 10) Testi/titoli del modulo allegato ({allegato}T1, {allegato}T2) usati come intestazioni
LODTMDES lodtmdes.fd / .cpy / .k01 File temporaneo testate descrizioni (di lavoro per l'editor testo)
LODTRDES lodtrdes.fd / .cpy / .k01 File temporaneo righe descrizioni: righe impaginate da stampare (tab-des)

Programmi chiamati

Programma Scopo
COGZ82M Modalita' MODO-STAMPA-ALLEGATI = "WORD": genera l'allegato su modello Word / Area Report (allegato RP), a cui COGZ97 delega interamente la stampa
COGZS3 Determina il tipo di allegato applicabile alla commessa per il documento "Riparazione" (zs3-allegato); se vuoto l'allegato non e' previsto
COGZDEW Editor/estrattore del testo descrittivo dell'allegato (operazione P): calcola e restituisce le righe da stampare (zde-n-rig) nel file di lavoro
COGFNT Calcolo della lunghezza in stampa di una frase (Ritorna-Lunghezza-Frase) per centrare i titoli del modulo
COGS98W (z-s98-* / fill-s98-* / flow-s98-*) Gestione interattiva della selezione prescrizione (cliente/studio, paziente, progressivo, numero)
COGS54 Selezione/apertura della periferica di stampa (s54-emu = HPLJ3) e chiusura post-stampa
RNEWCONF Lettura configurazione ODONTO.CNF
COGS52 (z-carica-*) Gestione controlli maschera (Y*)

Flusso principale

  1. apri / main -- init standalone (mmmask.cpy); compone i nomi dei file temporanei di lavoro (#$COGZ97.{operatore}, #$COGZDE.{operatore}); se richiamato (z82-called = "COGZ97-CALLED") recupera dal linkage util-z82 archiviazione, prescrizione e flag COGZ50.
  2. x99-confi / x99-confi-operatore -- lettura configurazione (formattazione, copie, modo allegati, clinica operatore). Se MODO-STAMPA-ALLEGATI = "WORD" chiama COGZ82M e termina.
  3. a4 / a-tm-cli -- (modalita' interattiva) apertura del temporaneo LODTMDES in uso esclusivo per operatore e selezione della prescrizione via COGS98W; in modalita' richiamata salta la selezione (a-10-cerca).
  4. x-controlla-commessa -- valida la prescrizione: legge LODCMTES (commessa aperta), verifica stato completo (s98-lpm-stato = C/E), controlla l'appartenenza alla clinica dell'operatore, ricava descrizione commessa da LODPNTES e determina il tipo allegato via COGZS3 (w-allegato = P + zs3-allegato).
  5. a-20 -- selezione periferica via COGS54 (emulazione HPLJ3); in archiviazione senza COGZ50 la richiesta periferica viene soppressa.
  6. a-30 / b-carica -- carica le righe descrittive dell'allegato: copia le righe di LODDESCR (tipo = w-allegato) nel temporaneo LODTMDES, invoca COGZDEW per l'impaginazione del testo e rilegge le righe da LODTRDES in tabella (tab-des). Se l'allegato non ha testo, esce.
  7. Ciclo copie (ctr-copie fino a tm-cfg-n-copie) -- per ogni copia: x41-init-page, x4-format-page/d-rect (cornice del modulo, titoli centrati con COGFNT), c-stampa (corpo testo riga per riga in HP-GL/2: PU/LB), gestione salto pagina, x41-close-page.
  8. fine / z-chiudi -- disattivazione periferica, chiusura file/finestra, cancel di COGZS3/COGS98W/COGZDEW.

Note

  • Il testo del corpo e la cornice sono prodotti in HP-GL/2 (SD1,..., PU, LB, EA, %0B/%0A, IN;SP1;PW0;TR0) su periferica PCL (E, &l...); non e' usato Jasper.
  • Le chiavi secondarie lodcmtes.k02, lodtrdes.k01, lodtmdes.k01 sono incluse manualmente in coda alla procedure division.
  • All'apertura, LODTMDES viene aperto in output come lock esclusivo per operatore: se occupato la funzione avvisa che e' gia' in uso.
  • Con PBUG-1925 la verifica dell'azienda criptata (ENCRYPT su az-int) e' stata rimossa: ora az-int viene semplicemente copiato in tm-int.
  • In modalita' richiamata (w-dc-called = "S") gli errori di validazione commessa (non aperta, non completa, clinica non corrispondente, allegato non previsto) chiudono direttamente il programma anziche' tornare alla maschera.

Documentazione tecnica -- 2026-08-05