COGZ06 — Tabella Numerazioni
| Campo |
Valore |
| Sorgente |
cbl/cogz06.cbl |
| Program-ID |
cogz06 |
| Tipo |
Maschera GUI interattiva (griglia) |
| Posizione menu |
Lab.Odont. > Archivi > Tabelle > Numerazioni |
Scopo
Gestisce i contatori di numerazione progressiva usati dal laboratorio odontotecnico. Presenta una griglia con un insieme fisso di voci ("Prescrizioni interne", "Fascicolo ortodontico", "Rapporto di non conformita'") e permette all'operatore di impostare, per ciascuna riga, il valore numerico corrente del contatore. I valori vengono persistiti nella tabella parametrica LODTABEL, di tipo 01.
Struttura e flusso
- Le descrizioni delle righe sono cablate nel sorgente nella tabella
tab-des (td-des, 10 slot da 35 caratteri, di cui i primi 3 valorizzati); non provengono da archivio.
- La struttura in memoria
tab-maschera (tm-righe occurs 900) ospita descrizione (tm-des), valore (tm-num) e progressivo riga (tm-rig).
- apri:
z-99-init-program, ctr-abil, open-files, rd-azi; attiva i tasti funzione (S-F4 griglia, invio-modifica, F3 conferma); prepara la griglia (z-prepara-tm-grid) e i controlli (z-costruisci-controlli).
- a4: azzera e ricostruisce la griglia; chiama
carica-tab che per ogni descrizione non vuota legge il valore dal contatore su LODTABEL (rd-lodtabel, tipo 01, codice = indice riga) e riempie la struttura maschera; z-costruisci-grid popola la griglia.
- a-grid / a-accept-grid: accept della griglia; S-F4 apre l'amministrazione colonne (
GRIDADMN con util-gdad), invio/doppio-click su una riga entra in dettaglio.
- a-riga-dettaglio / a-tm-num: accept del solo campo valore (
tm-num); controlli in x-controlla-tm-num / x-controlla-dettaglio.
- a-fine-dettaglio: alla conferma (F3) chiede "Confermi l'inserimento?" (
acc-conf-custom), aggiorna la riga nella griglia via GRIDADMN ("Modify-Record") e scrive il valore su LODTABEL: wr-lodtabel e, se il record esiste gia', rwr-lodtabel.
- fine / z-chiudi:
z-close-files, chiude la window, z-99-exit-program, exit program.
Tabelle utilizzate
| Tabella |
Accesso |
Descrizione |
LODTABEL (lta-) |
Lettura/Scrittura |
Tabella parametrica generica; qui usata con lta-tipo = 01 e lta-codr = indice riga per memorizzare il valore del contatore (lta-num) |
| FEURTAB |
Lettura |
Parametri/anagrafica azienda (cogfiles.cpy) |
Programmi chiamati
| Programma |
Interfaccia |
Scopo |
| GRIDADMN |
utilgdad.cpy (util-gdad) |
Gestore della griglia (preparazione colonne, add/modify record, svuotamento, amministrazione S-F4) |
Copybook principali
| Copybook |
Ruolo |
cogz06.select / cogz06.fd / cogz06.wrk / cogz06.prc / cogz06.decla / cogz06-01.scr |
Componenti generati da Screen Designer |
feurtab.fd, cogfiles.cpy |
FD FEURTAB |
wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy |
Working storage standard + dati azienda |
wgrid.cpy, utilgdad.cpy, utilgrid.cpy |
Gestione griglia e linkage GRIDADMN |
wcont.cpy, wcont1.cpy |
Linkage di chiamata (stringhe) |
grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy |
Copybook di fine procedure |
Note
- Le voci di numerazione sono un insieme fisso definito nel sorgente (
tab-des): per aggiungere una numerazione occorre valorizzare un ulteriore slot di td-des e ricompilare. Massimo teorico 900 righe (k-max-ele-tab), ma il limite pratico e' k-td-des-size = 10.
- La logica originale di inserimento riga (operazione "I") e' commentata: il programma opera di fatto in sola modifica del valore delle righe predefinite ("M").
- Il valore contatore e' un intero a 8 cifre (
tm-num pic 9(08)), persistito su lta-num.