COGZ99 - Tabella Codici di non conformita'¶
Sorgente: cbl/cogz99.cbl | Program-ID: COGZ99 | Tipo: Programma interattivo di gestione tabella (griglia), richiamabile come selettore
Menu: Lab.Odont. > Archivi > Tabelle > Codici di non conformita'
Scopo¶
Gestisce la tabella dei codici di non conformita' del laboratorio odontotecnico (codice a 4 caratteri + descrizione a 40). I codici sono conservati su LODTABEL tipo 13 (record lta-tipo-13, chiave lta-cod, descrizione lta-13-des). La maschera e' una griglia editabile a due colonne (Codice, Descrizione) con dettaglio di riga per inserimento e modifica.
Il programma opera in due modalita' commutabili con F3: "Aggiornamento" (a-modalita = "A", editing libero della tabella) e "Selezione" (a-modalita = "S"). La modalita' Selezione e' rilevante solo quando il programma e' richiamato da un altro modulo: in tal caso funge da lista di scelta e restituisce al chiamante il codice selezionato tramite l'area di linkage util-z99 (z99-out-cod).
Il riconoscimento della chiamata avviene confrontando z99-called con il proprio program-id e verificando che z99-caller non sia vuoto (w-dc-called = "S"); in quel caso all'ingresso il programma si posiziona in modalita' Selezione e abilita i tasti F3-selezione/F3-modifica.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda (cogfiles.cpy) |
| LODTABEL | ISAM | I-O | Codici di non conformita' tipo 13 (lta-tipo=13, lta-cod, lta-13-des) |
Il numero massimo di righe caricabili in griglia e' 900 (k-max-ele-tab); oltre tale soglia gli ulteriori record vengono scartati con avviso.
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogz99.select, cogz99.fd, cogz99.wrk, cogz99-01.scr, cogz99.prc, cogz99.decla |
Screen Designer |
feurtab.fd, cogfiles.cpy |
FEURTAB |
wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy |
Working storage standard + dati azienda |
wgrid.cpy, utilgdad.cpy |
Gestione griglia GRIDADMN |
wcont.cpy, wcont1.cpy |
Linkage di contesto (stringhe) |
utilz99.cpy |
Area di linkage di chiamata/ritorno (z99-caller, z99-called, z99-out-cod, z99-out-des) |
grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, utilgrid.cpy |
Copybook di fine procedure |
Logica¶
- apri: init programma,
ctr-abil,rd-azi,open-files. Rileva se e' stato richiamato (z99-called = k-program-idez99-callernon vuoto →w-dc-called = "S"). Attiva i tasti funzione (SF4 griglia, Invio modifica/Invio, F3 conferma; se richiamato anche F3-selezione e F3-modifica). Imposta titolo "Codici di NON Conformita'",rd-msk-pop, modalita' iniziale ("S" se richiamato, "A" altrimenti), prepara la griglia. - a10 / a10-loop: carica in
tm-tabtutti i record LODTABEL tipo 13 (st-lodtabel-notmin+rdnxt-lodtabel), fino a rottura tipo o esaurimento; conta le righe intm-pnt. - a30 / a-grid / a-accept-grid: costruisce e visualizza la griglia (
z-costruisci-grid,z-99-accept-grid); gestisce ESC (fine), eventi mouse (x-test-mouse), SF4 (GRIDADMN colonne), F3 (commuta modalita' A/S), Invio (in Aggiornamento = modifica riga; in Selezione = restituiscez99-out-code termina), Ctrl+A (inserimento riga), Ctrl+E (eliminazione con conferma e compattamento tabella). - a-riga-dettaglio: entra nel dettaglio; in modifica legge/locka LODTABEL (
rd-lodtabel-lk), in inserimento inizializza la riga. - a-tm-cod / a-tm-cod-des: accept di codice e descrizione con
x-controlla-tm-cod(codice obbligatorio) ex-controlla-tm-cod-des(descrizione obbligatoria). - a-fine-dettaglio: valida il dettaglio, chiede conferma, aggiorna la griglia via GRIDADMN, verifica esistenza (se in inserimento il codice esiste gia' viene degradato a modifica) e scrive/riscrive LODTABEL (
wr-lodtabel/rwr-lodtabel). - c-cancella: rilegge/locka e cancella il record LODTABEL (
del-lodtabel). - fine / z-chiudi: chiusura file, chiusura finestra,
exit program.
CALL¶
| Programma | Scopo |
|---|---|
GRIDADMN |
Gestione, riempimento e amministrazione colonne della griglia |
Note¶
- Programma a doppio uso: sia gestione tabella da menu (modalita' Aggiornamento) sia selettore richiamato da altri moduli (modalita' Selezione, ritorno via
z99-out-cod). Il campoz99-out-desesiste nell'area di linkage ma non viene valorizzato al ritorno (viene restituito solo il codice). - Tabella limitata a 900 righe in memoria; oltre la soglia i record eccedenti non vengono caricati (avviso a video).
- Stile legacy con
GO TOePERFORM ... THRU: struttura non conforme alle convenzioni attuali, documentata come e'. - Non usa configurazioni RNEWCONF ne' altre CALL oltre a GRIDADMN.