Vai al contenuto

COGZO1 -- Stampa codici speciali di comando ortodonzia

Sorgente: cbl/cogzo1.cbl | Tipo: Programma di menu / stampa | Program-ID: COGZO1

Menu: Lab.Odont. > Ortodonzia > Tabelle > Stampe [Codici Speciali]


Scopo

COGZO1 stampa il tabulato dei "codici speciali di comando" usati nella compilazione delle lettere/cartelle ortodontiche. A differenza di COGZO0 e COGZO2, non legge le voci da LODTABEL: i codici sono cablati nel programma e nelle tabelle interne, e comprendono:

  • le descrizioni "Fase 'n'" (5 fasi);
  • i numeri corrispondenti ai denti (denti definitivi e denti decidui), posizionati graficamente secondo uno schema odontogramma tramite le tabelle interne tab-denti / tab-denti-decidui;
  • il codice per la simulazione del tasto F7 ("Modifica testo");
  • la punteggiatura (virgola);
  • alcune parole/frasi particolari (" sui ", " sul ", " dei ", " del ", " i ", " il ", " con ", " e ").

Ogni comando e' rappresentato da un codice a barre a 6 cifre; la stampa avviene su stampante laser Kyocera in emulazione PRESCRIBE, tramite il file di spool FLSTA. La maschera richiede il solo numero di copie (tm-cop); la scelta stampante e' delegata a COGS54.

Struttura del codice a barre

Il codice e' composto da 6 cifre:

  • pos. 1-2: sempre 99 (identifica un codice di comando, aggiunto come + 990000);
  • pos. 3-4: identificativo dell'argomento del comando (01=Fasi, 02=Denti, 03=simulazione tasto funzione, 04=punteggiatura, 05=parole/frasi);
  • pos. 5-6: sottocodice del comando (numero fase, numero dente, 07=F7, 01=virgola, 01..08 per le parole).

File e tabelle principali

File/Tabella Copybook Uso
FEURTAB feurtab.fd, cogfiles.cpy Parametri generali azienda (lettura, rd-azi)
FLSTA flsta.fd, flsta.cpy File di spool di stampa: scrittura dei comandi PRESCRIBE (write riga)

Nota: LODTABEL e' referenziata nel SELECT/FD generati da Screens (cogzo1.select / cogzo1.fd) ma non viene letta al momento della stampa: tutti i codici sono costanti interne al programma.

I dati di posizionamento dei denti sono nelle tabelle interne tab-denti (28 denti definitivi) e tab-denti-decidui (20 denti decidui), che per ogni dente memorizzano numero, coordinate del bar code e coordinate del testo.

Programmi chiamati

Programma Ruolo
COGS54 Selettore stampante / gestione parametri di stampa (chiamato prima con s54-emu = "PRESCRIBE" e dopo la stampa con s54-after-print = "S")

Flusso principale

  1. main / apri -- init programma, abilitazioni, lettura azienda, apertura file; impostazione tasti funzione, titolo maschera "Stampa codici speciali", rd-msk-pop e costruzione controlli.
  2. a4 / a-tm-cop -- accept del numero copie (e-tm-cop); x-controlla-tm-cop verifica che sia maggiore di zero. F3 porta a a-richiesta-conferma.
  3. a-90 -- chiama COGS54 per la scelta stampante; con F3 conferma esegue b-stampa, poi richiama COGS54 in coda e ne fa il cancel.
  4. b-stampa -- inizializza i parametri Kyocera, imposta la stampante (b1-set-printer/b1-set-page), esegue b2-stampa per tm-cop volte e chiude la stampante (b3-reset-printer).
  5. b2-stampa -- compone l'intera pagina: intestazione, blocco "FASI" (5 codici), blocco "DENTI" (cicli sulle tabelle tab-denti e tab-denti-decidui con posizionamento a odontogramma), codice F7 "Modifica testo", codice virgola e i codici delle parole/frasi particolari.
  6. b21-set-map / b21-set-dap -- inviano i comandi di posizionamento assoluto PRESCRIBE (conversione della virgola decimale in punto).
  7. fine / z-chiudi -- chiusura file, chiusura finestra, z-99-exit-program, exit program.

Note

  • Programma di sola stampa: non accede in lettura ai dati (LODTABEL non letta); l'intero contenuto e' cablato.
  • Il posizionamento dei denti riproduce graficamente un odontogramma: le coordinate di ciascun dente sono nelle tabelle interne, con offset verticale distinto per l'arcata definitiva e per quella decidua.
  • Le frasi/parole con apici (es. " sui ") sono composte con delimitatori doppi apici per rispettare la sintassi PRESCRIBE.

Documentazione tecnica -- 2026-08-05