Vai al contenuto

COGZ90 -- Stampa etichetta dispositivo (dispatcher)

Sorgente: cbl/cogz90.cbl | Tipo: Programma di menu / dispatcher stampa | Program-ID: COGZ90

Menu: Lab.Odont. > Operativo > Stampe [Etichette Dispositivo]


Scopo

COGZ90 e' il programma di lancio della stampa dell'etichetta di un dispositivo odontotecnico. E' un dispatcher minimale: in base alla personalizzazione dell'azienda in uso (az-personal letto dall'area azien-area in azi-rec) sceglie quale worker richiamare per la stampa effettiva:

  • se l'azienda e' personalizzata, prova a chiamare il programma personalizzato COGZ90<az-personal>.cob;
  • se non e' personalizzata, oppure la personalizzazione non esiste (overflow sulla CALL), ripiega sul programma standard COGZ90NO.

Il worker chiamato (tipicamente COGZ90NO) genera l'etichetta vera e propria sostituendo i placeholder sul modello di stampa configurato (WORDMDL / Clever / Kyocera).

Programmi chiamati

Programma Scopo
COGZ90<az-personal>.cob Variante personalizzata di stampa etichetta dispositivo, se esiste per l'azienda in uso
COGZ90NO Motore standard di stampa etichetta dispositivo (fallback). Compone l'etichetta sostituendo i placeholder sul modello configurato
C$CALLERR Routine di servizio AcuCOBOL: recupera stato/descrizione errore se anche il worker standard non e' eseguibile

Flusso principale

  1. main / a000 -- copia azien-area in az-rec per accedere ai dati azienda (in particolare az-personal).
  2. Se az-personal non e' vuoto, compone il nome del worker personalizzato in name-call (string 'COGZ90' az-personal '.cob') e lo chiama passando stringhe; in caso di on overflow (personalizzazione assente) salta a st-80-standard.
  3. st-80-standard -- imposta name-call = "COGZ90NO" e chiama il worker standard; se anche questo va in on overflow, recupera l'errore con C$CALLERR e mostra un messaggio diagnostico all'operatore (box-msg).
  4. st-90-ok -- esegue il cancel name-call del worker.
  5. fine -- exit program.

Note

  • Il programma non apre file ne' legge configurazioni RNEWCONF direttamente: e' un puro dispatcher per personalizzazione. Tutta la logica di composizione dell'etichetta (placeholder, lettura commesse/prescrizioni, scelta del motore di stampa) risiede nel worker chiamato.
  • Per il dettaglio dei placeholder gestiti, dei file letti e del motore di stampa vedere COGZ90NO.
  • Include mmsubw.cpy (gestione finestra come sottoprogramma) e il linkage standard wcont.cpy / wcont1.cpy (stringhe).

Documentazione tecnica -- 2026-08-05