Vai al contenuto

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.