COGZ00 — Unione di azioni
| Campo |
Valore |
| Sorgente |
cbl/cogz00.cbl |
| Program-ID |
cogz00 |
| Tipo |
Maschera GUI interattiva (griglia) |
| Posizione menu |
Lab.Odont. > Archivi > Varie > Unione di Azioni |
Scopo
Utility del laboratorio odontotecnico che crea una nuova azione (LODAZION) "accorpando" piu' azioni esistenti in una sola. L'operatore indica il codice, la descrizione e l'operatore preferenziale della nuova azione, poi elenca in una griglia le azioni da unire; alla conferma il programma genera l'azione di destinazione e vi copia note (LODDESCR) e raccordi (LODRACCO) di tutte le azioni elencate. E' pensata per consolidare azioni ripetitive in un'unica azione riepilogativa senza reinserirne manualmente descrizioni e collegamenti.
Struttura e flusso
apri: inizializzazione standard (z-99-init-program, ctr-abil, open-files, rd-azi), predisposizione tasti funzione (F8 aiuto, S-F4 griglia, C-E elimina, F3 conferma), calcolo del nome del file temporaneo di lavoro LODTMDES (#$cogz00. + operatore), costruzione controlli e griglia.
a-tm-azion / a-tm-azion-des / a-tm-ope: accept dell'intestazione (codice nuova azione, descrizione, operatore). Il codice deve NON esistere gia' in LODAZION; l'operatore viene validato su COGTABEL tipo 36 e su PRNTOPER.
a-fine-intestazione: chiude la testata (x-controlla-intestazione) e passa alla griglia di dettaglio.
a-grid / a-accept-grid: gestione della griglia e-tm-tab dove si inseriscono i codici delle azioni da accorpare (colonna tm-el-azion); ogni codice viene validato su LODAZION (x-controlla-tm-el-azion) e non deve essere gia' presente nell'elenco.
- Alla pressione di F3 con almeno un elemento presente (
controlla-tab), viene eseguito registra: crea l'azione di destinazione e ne popola note e raccordi.
registra: scrive il record LODAZION (wr-lodazion), poi per ciascuna azione elencata copia le note tipo A1 (registra-des, tramite tabella temporanea LODTMDES e la routine COGZDEW) e i raccordi tipo AC/AR/AI/AM (registra-rac). Le note testuali vengono concatenate e riscritte a blocchi da 2000 caratteri (LODDESCR, campo lde-des).
fine/z-chiudi: chiusura file, cancellazione del file temporaneo LODTMDES.
Tabelle utilizzate
| Tabella |
Accesso |
Descrizione |
LODAZION (laz) |
lettura/scrittura |
Anagrafica azioni: verifica esistenza del nuovo codice, scrittura azione di destinazione |
LODDESCR (lde) |
lettura/scrittura |
Note/descrizioni testuali (tipo A1) legate all'azione |
LODRACCO (lrc) |
lettura/scrittura |
Raccordi azione↔piani di controllo/rischi/istruzioni/macchine (tipi AC,AR,AI,AM) |
LODTMDES (ltd) |
I-O temporaneo |
File di lavoro per il trasferimento delle note tramite COGZDEW |
COGTABEL (euta) |
lettura |
Tabella operatori (tipo 36, mag O) per la descrizione operatore |
PRNTOPER (ptop) |
lettura |
Verifica validita' operatore (flag cancellazione logica ptop-fl-val) |
Programmi chiamati
| Programma |
Interfaccia |
Scopo |
| WINZ03 |
util-wz03 |
Finestra di aiuto/ricerca azioni (per codice e descrizione) |
| WIN073 |
util-w73 |
Finestra di aiuto operatori (w73-in-tab = "O") |
| COGZDEW |
util-zde |
Gestione note testuali: trasferimento tra file di lavoro e struttura note in memoria |
| GRIDADMN |
util-gdad |
Gestore standard della griglia (prepara, add/modify record, svuota) |
Copybook principali
| Copybook |
Ruolo |
cogz00.select / cogz00.fd / cogz00.prc / cogz00-01.scr |
Definizioni generate da Screen Designer (file, screen, procedure) |
cogz00.wrk |
Costanti e ID controlli della maschera |
lodtmdes.fd / lodtmdes.cpy / lodtmdes.k01 |
File temporaneo delle descrizioni |
wgrid.cpy / utilgdad.cpy / utilgrid.cpy |
Gestione griglia GUI |
utilwz03.cpy / utilw73.cpy / utilzde.cpy |
Interfacce verso WINZ03, WIN073, COGZDEW |
cogazien.cpy / wstato.cpy / wopenf.cpy / wgrave.cpy / wnscr.cpy |
Working-storage standard |
Note
- La griglia contiene un solo campo editabile (
tm-el-azion, codice azione); la descrizione (tm-el-azion-des) e' derivata dall'anagrafica e mostrata a fianco.
- Il numero massimo di azioni accorpabili in un'unica operazione e' 80 (
k-max-ele-tab).
- Il file LODTMDES e' aperto/chiuso in
output e poi i-o per verificare che la funzione non sia gia' in uso da parte dello stesso operatore (lock implicito sul nome temporaneo per operatore).