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..08per 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¶
main / apri-- init programma, abilitazioni, lettura azienda, apertura file; impostazione tasti funzione, titolo maschera "Stampa codici speciali",rd-msk-pope costruzione controlli.a4 / a-tm-cop-- accept del numero copie (e-tm-cop);x-controlla-tm-copverifica che sia maggiore di zero. F3 porta aa-richiesta-conferma.a-90-- chiamaCOGS54per la scelta stampante; con F3 conferma esegueb-stampa, poi richiamaCOGS54in coda e ne fa ilcancel.b-stampa-- inizializza i parametri Kyocera, imposta la stampante (b1-set-printer/b1-set-page), esegueb2-stampapertm-copvolte e chiude la stampante (b3-reset-printer).b2-stampa-- compone l'intera pagina: intestazione, blocco "FASI" (5 codici), blocco "DENTI" (cicli sulle tabelletab-dentietab-denti-deciduicon posizionamento a odontogramma), codice F7 "Modifica testo", codice virgola e i codici delle parole/frasi particolari.b21-set-map/b21-set-dap-- inviano i comandi di posizionamento assoluto PRESCRIBE (conversione della virgola decimale in punto).fine / z-chiudi-- chiusura file, chiusura finestra,z-99-exit-program,exit program.
Note¶
- Programma di sola stampa: non accede in lettura ai dati (
LODTABELnon 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