Vai al contenuto

COGZ88 - Modulo per controllo utente

Sorgente: cbl/cogz88.cbl | Program-ID: COGZ88 | Tipo: Programma lanciatore (dispatcher di stampa)

Menu: Lab.Odont. > Operativo > Stampe > Modulo x Controllo Utente (anche quinta voce di Lab.Odont. > Archivi > Stampe; richiamabile dallo Stato commessa)


Scopo

Lanciatore che seleziona e richiama il sottoprogramma di stampa del "modulo per controllo utente" (controllo del dispositivo medico sul paziente, direttiva CEE 93/42). Non stampa direttamente: in base alla personalizzazione aziendale e a due chiavi di configurazione ODONTO, costruisce dinamicamente il nome del programma di stampa e lo esegue.


File e tabelle

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

Il programma apre i file standard (open-files, rd-azi) ma la logica applicativa e' delegata ai sottoprogrammi chiamati.

Copybook utilizzate

Copybook Descrizione
cogz88.select, cogz88.fd, cogz88.wrk, cogz88-01.scr, cogz88.prc, cogz88.decla Screen Designer
cogfiles.cpy Layout FEURTAB
wstato, wopenf, wgrave, wnscr, cogazien Working storage standard + dati azienda
utilncnf.cpy Linkage RNEWCONF
wcont, wcont1 Contesto chiamata (linkage section)
stato, stato1, winmsg, grave, mmmask, opengen Copybook fine procedure

Logica (flusso, paragrafi principali)

  • apri: init programma, ctr-abil, rd-azi, open-files, poi x99-confi per leggere la configurazione.
  • Priorita' di selezione del programma di stampa:
  • Personalizzazione aziendale - se az-personal not = spaces, costruisce name-prog = "COGZ88" + az-personal e lo chiama (call name-prog); su on overflow ripiega su a-10-standard, altrimenti va a a10-cancel.
  • Modalita' WORD (a-10-standard) - se tm-cfg-wordmdl = "WORD" chiama COGZ88M (generazione da modello Word).
  • Tipo modulo standard - se tm-cfg-formatta not = spaces, costruisce name-prog = "COGZ88" + tm-cfg-formatta (es. COGZ88A/B/C) e lo chiama.
  • a10-cancel: cancel name-prog.
  • fine/z-chiudi: chiude file/finestra, exit program.

Configurazione (RNEWCONF)

x99-confi legge (pacchetto "C", 2 chiavi) dal gruppo ODONTO:

Chiave Working Uso
TIPO-MODULO-CONTROLLO-UTENTE tm-cfg-formatta x(80) Suffisso del tipo modulo standard (concatenato a "COGZ88")
modo-stampa-allegati tm-cfg-wordmdl x(10) Se "WORD" attiva il ramo COGZ88M

CALL

Programma Scopo
COGZ88 + az-personal Variante personalizzata aziendale (nome costruito a runtime)
COGZ88M Stampa via modello Word (modo-stampa-allegati = WORD)
COGZ88 + tipo modulo Sottoprogramma standard di stampa; esistono COGZ88A, COGZ88B, COGZ88C (nome costruito a runtime da tm-cfg-formatta)
RNEWCONF Lettura configurazioni ODONTO

Note

  • I nomi dei sottoprogrammi sono costruiti dinamicamente (string) e chiamati con call name-prog ... on overflow: qualunque suffisso configurato in TIPO-MODULO-CONTROLLO-UTENTE viene tentato, purche' il programma esista a runtime.
  • Il programma non produce messaggi di errore propri: eventuali messaggi provengono dai sottoprogrammi.
  • Il ramo az-personal ha priorita' assoluta sugli altri due; la modalita' WORD ha priorita' sul tipo modulo standard.
  • Il titolo fisso del modulo puo' essere personalizzato lato sottoprogramma tramite la configurazione titolo-modulo-controllo-utente (non letta da COGZ88 ma dai moduli stampati).