Vai al contenuto

COGZ82 - Stampa Dichiarazione di Conformita'

Sorgente: cbl/cogz82.cbl | Program-ID: COGZ82 | Tipo: Lanciatore (dispatcher) di stampa allegato

Menu: Lab.Odont. > Operativo > Stampe > Allegati > Dichiarazione di Conformita' (anche Lab.Odont. > Archivi > Stampe)


Scopo

Wrapper sottile che seleziona e richiama il modulo effettivo di stampa della Dichiarazione di Conformita' del dispositivo medico. Non contiene logica di stampa propria: legge la configurazione MODO-STAMPA-ALLEGATI e instrada la richiesta.

  • Se MODO-STAMPA-ALLEGATI = "WORD": chiama COGZ82M con z82-allegato = "DC" (dichiarazione di conformita' su modello Word) e termina.
  • Altrimenti (modalita' standard): compone dinamicamente il nome del programma personalizzato per azienda "COGZ82" + az-personal e lo chiama; se az-personal e' vuoto o la CALL va in overflow, ricade su COGZ82NO (versione standard). Se nemmeno COGZ82NO esiste, mostra "Manca programma !!".

File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB ISAM Input Parametri generali azienda (cogfiles.cpy)

Il programma non apre file di stampa: e' il modulo chiamato (COGZ82M / COGZ82xx / COGZ82NO) a gestire dati e output. az-personal (da azien-area/az-rec) determina la personalizzazione azienda.

Copybook utilizzate

Copybook Descrizione
cogz82.select, cogz82.fd, cogz82.wrk, cogz82.prc, cogz82.decla Screen Designer (screen .scr non usata, commentata)
feurtab.fd, cogfiles.cpy FEURTAB
wgrave, wnscr, wopenf, wstato, cogazien Working storage standard + dati azienda
utilncnf Linkage RNEWCONF
wcont, wcont1, utilz82 Linkage di chiamata (stringhe, parametri Z82)

Logica

Programma breve, senza motore di stampa:

  • apri / main: init programma (z-99-init-program), rd-azi, open-files, lettura config (x99-src-cfg).
  • x99-src-cfg: RNEWCONF (pacchetto "C", gruppo ODONTO, chiave MODO-STAMPA-ALLEGATI) -> tm-cfg-modo-allegati.
  • Se tm-cfg-modo-allegati = "WORD": move "DC" to z82-allegato, call "COGZ82M" using stringhe, cancel, va a fine.
  • Altrimenti (a partire da move azien-area to az-rec): se az-personal = spaces va a a05-standard; altrimenti compone w-cogz82 = "COGZ82" + az-personal e lo chiama on overflow go a05-standard, poi va a a10-cancel.
  • a05-standard: move 'COGZ82NO' to w-cogz82, call w-cogz82 ... on overflow ... "Manca programma !!".
  • a10-cancel: cancel w-cogz82.
  • fine / z-chiudi: chiusura file, exit program.

Nota: nel ramo WORD viene passato solo stringhe a COGZ82M (senza impostare z82-called); l'allegato "DC" e' l'unico parametro discriminante.

Configurazioni (RNEWCONF)

Gruppo / Chiave Uso
ODONTO / MODO-STAMPA-ALLEGATI "WORD" -> COGZ82M, altrimenti dispatcher standard (tm-cfg-modo-allegati)

CALL

Programma Scopo
COGZ82M Stampa dichiarazione su modello Word (allegato "DC")
COGZ82<az-personal> Modulo di stampa personalizzato per azienda (nome dinamico)
COGZ82NO Modulo di stampa standard (fallback)
RNEWCONF Lettura configurazione MODO-STAMPA-ALLEGATI

Note

  • E' un lanciatore: tutta la logica di composizione ed emissione della dichiarazione risiede nel modulo effettivo (COGZ82M per Word, COGZ82xx/COGZ82NO per la stampa standard).
  • La CALL con nome variabile e on overflow implementa il fallback: mancanza del modulo personalizzato -> standard; mancanza dello standard -> messaggio d'errore.
  • source-computer/object-computer sono acu-cobol (non pc-sperry come i moduli di stampa fratelli), coerente con la natura di solo dispatcher.