COGZO0 -- Stampa tabelle ortodonzia per compilazione lettere¶
Sorgente: cbl/cogzo0.cbl | Tipo: Programma di menu / stampa | Program-ID: COGZO0
Menu: Lab.Odont. > Ortodonzia > Tabelle > Stampe [Tabelle x Lettere]
Scopo¶
COGZO0 produce il tabulato dei codici a barre usati per compilare le "lettere" dell'ortodonzia. Scandisce le voci di dominio ortodontiche memorizzate in LODTABEL di tipo 12, limitatamente alle tabelle di tipo "lettera" (prefisso 1), e per ogni voce stampa una riga con:
- il codice a barre a 6 cifre che identifica la voce;
- il livello (
lta-11222-4); - la descrizione testuale (
lta-12-des).
Le voci sono raggruppate per codice tabella (lta-11222-2), con un'intestazione ad ogni cambio tabella, e separate da linee di divisione ad ogni cambio fascia (lta-11222-3). La stampa avviene su stampante laser Kyocera in emulazione PRESCRIBE (linguaggio di comandi MAP/TEXT/BARC), inviata attraverso il file di spool FLSTA.
La maschera richiede un solo dato, il numero di copie da stampare (tm-cop); la scelta effettiva della stampante e delle sue opzioni e' delegata al selettore stampante COGS54.
Struttura del codice a barre¶
Il codice e' composto da 6 cifre:
- pos. 1-2: codifica numerica del codice tabella (
w-prima-parte): tabelle numeriche 0..9 mappate su 10..; tabelle a lettera A..Z mappate su 10 + posizione nella tabellatab-lettere; - pos. 3-4: codice fascia (
lta-11222-3); - pos. 5-6: codice livello (
lta-11222-4).
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| FEURTAB | feurtab.fd, cogfiles.cpy |
Parametri generali azienda (lettura, rd-azi) |
| LODTABEL | lodtabel.fd (cogzo0.select), lodtabel.cpy (cogzo0.fd) |
Voci tabelle ortodonzia tipo 12: filtro lta-tipo=12 e lta-11222-1='1' (lettera); campi letti lta-11222-2/3/4 (tabella/fascia/livello) e lta-12-des (descrizione) |
| FLSTA | flsta.fd, flsta.cpy |
File di spool di stampa: scrittura dei comandi PRESCRIBE (write riga) |
LODTABEL e' scandita in sola lettura tramite i gestori generati st-lodtabel-notmin (posizionamento) e rdnxt-lodtabel (lettura sequenziale), con rottura sui campi chiave lta-tipo/lta-11222-1.
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 (z-99-init-program), abilitazioni (ctr-abil), lettura azienda (rd-azi), apertura file (open-files); impostazione tasti funzione, titolo maschera "Stampa tabelle x lettera",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 (s54-after-print="S") 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-- posiziona suLODTABEL(tipo 12, prefisso1) e cicla surdnxt-lodtabel: ad ogni cambio tabella stampa l'intestazione (b21-testa), ad ogni cambio fascia la linea di separazione (b22-separazione); per ogni voce calcola il codice a barre (w-codice), lo stampa (BARC), poi stampa fascia, livello e descrizione. Se supera la posizione verticale limite forza una nuova intestazione/pagina.b21-testa-- calcola la codifica numerica della tabella (numerica o a lettera viatab-lettere) e stampa l'intestazione di colonna (Bar Code / Livello / Testo).b23-st-des-- stampa la descrizione gestendo l'eventuale presenza di apici nel testo (usa delimitatori alternati'/").fine / z-chiudi-- chiusura file, chiusura finestra,z-99-exit-program,exit program.
Note¶
- Programma di sola stampa: non aggiorna
LODTABEL, la legge soltanto. - Le righe di stampa sono comandi PRESCRIBE per Kyocera; il posizionamento assoluto e' inviato da
b21-set-map/b21-set-dap, che convertono la virgola decimale in punto prima di comporreMAP/DAP. - Se il codice tabella e' una lettera non presente nell'alfabeto A..Z il programma segnala " La tabella X non e' prevista!!" e azzera la prima parte del codice.
- La gestione tabelle ortodonzia tipo 12 e' condivisa con COGZO2 (stampa per cartelle), che usa lo stesso
LODTABELcon prefisso2.
Documentazione tecnica -- 2026-08-05