Vai al contenuto

COGZ85 -- Stampa etichette per cassetta (dispatcher)

Sorgente: cbl/cogz85.cbl | Tipo: Programma di menu / dispatcher stampa | Program-ID: COGZ85

Menu: Lab.Odont. > Operativo > Stampe [Etichette x Cassetta]


Scopo

COGZ85 e' il programma di lancio della stampa delle etichette per cassetta del laboratorio odontotecnico. E' un dispatcher: apre i file, verifica l'abilitazione del modulo e, in base alla personalizzazione dell'azienda, richiama il worker che genera realmente le etichette. Nel caso standard delega al motore COGZ85NO.

La maschera di selezione (studio medico, paziente, progressivo, commessa, copie, fila/colonna di partenza) e la generazione delle etichette (con i vari motori di stampa: EPL, Kyocera, HPGL, ecc.) risiedono nel worker chiamato, non in COGZ85.

File e tabelle principali

File/Tabella Copybook Uso
FEURTAB cogfiles.cpy Parametri generali / path tabelle azienda (aperto in open-files, letto da rd-azi)
LODTABEL dichiarata in cogz85.select / cogz85.fd Tabella di laboratorio (file di appoggio del programma generato; chiusa in z-close-files)
FLSTA flsta.cpy (flsta.fd) Print spool / file di stampa (dichiarato per le routine condivise)

Programmi chiamati

Programma Scopo
COGZ85NO Motore standard di stampa etichette per cassetta (fallback e caso non personalizzato)
COGZ85<az-personal> Variante personalizzata di stampa etichette, se esiste per l'azienda in uso

Flusso principale

  1. main / apri -- inizializza (prog-err, w-nome-hlp), inizializza la finestra (z-99-init-program), esegue ctr-abil (controllo abilitazione modulo), legge l'azienda (rd-azi) e apre i file (open-files).
  2. Determina la personalizzazione: porta az-int in maiuscolo (w-az-int). Se az-personal non e' vuoto e l'azienda non e' "CAD CAM DENTAL" (w-az-int(1:14) <> "CAD CAM DENTAL"), compone name-call = 'COGZ85' az-personal e chiama il worker personalizzato; in caso di on overflow (worker assente) ripiega su call-standard.
  3. Altrimenti (azienda non personalizzata, oppure "CAD CAM DENTAL" che vuole l'etichetta standard pur condividendo la personalizzazione di "Bolognesi") esegue direttamente call-standard.
  4. call-standard -- imposta name-call = "COGZ85NO" e chiama il worker standard; se va in on overflow mostra il messaggio "IMPOSSIBILE ESEGUIRE STAMPA !!" (box-msg).
  5. fine / z-chiudi -- cancel name-call, chiude i file (z-close-files), chiude la finestra e exit program.

Note

  • Il linkage utilz85.cpy porta i parametri d'ingresso: z85-batch-mode (in chiamata esterna con "S" il programma si ferma solo alla richiesta di stampa -- gestito nei worker), z85-called e z85-presc (studio + paziente + progressivo).
  • Caso particolare documentato nel sorgente: "CAD CAM Dental" e "Bolognesi" condividono la stessa personalizzazione (az-personal), ma "CAD CAM Dental" richiede l'etichetta standard, percio' viene instradata al worker COGZ85NO.
  • Il programma include la sezione screen e i copybook di gestione controlli/config generati da Screens (cogz85.wrk, .prc, .decla, cogz85-01.scr in cbl/screens/), ma la sua procedure si limita ad aprire i file e a dispatchare: maschera, lettura configurazione di stampa (tm-cfg: tipo stampante, modello, dimensioni etichetta, ecc.) e composizione delle etichette sono a carico del worker chiamato.
  • La chiave primaria lodtabel.k01 e' inclusa a fine cogz85.prc.

Documentazione tecnica -- 2026-08-05