COGZ28 - Informazioni per modelli di progetto¶
Sorgente: cbl/cogz28.cbl | Program-ID: COGZ28 | Tipo: Programma interattivo di gestione anagrafica (richiamabile da chiamante)
Menu: Lab.Odont. > Archivi > Modelli Progetto > Informazioni
Scopo¶
Gestisce l'anagrafica delle "informazioni" che compongono i modelli di progetto del laboratorio (archivio LODINFPR). Ogni informazione ha un codice numerico a 4 cifre, un'etichetta, un tipo (alfanumerico, numerico, data, note, allegato, esterna, riferimento a tabella, a valori fissi, ecc.), lunghezza/decimali, l'eventuale tabella di dominio, e i flag di collegamento a dichiarazione di conformita' / istruzioni d'uso e di collegamento automatico.
L'operatore digita il codice informazione (F7 propone il primo libero, F8 apre l'aiuto via COGWZ11): se esiste passa in variazione e ricarica i valori (a1-carica), altrimenti resta in inserimento. In base al tipo si abilitano/disabilitano i campi (modello per tipo "L", lunghezza/decimali per numerici, tabella per tipo "T"). Con F3 si conferma inserimento/variazione (b-inserisci), con F4 in variazione si cancella (c-cancella).
Per le informazioni a valori fissi (tipo "V") gestisce l'elenco dei valori ammessi (record lta-tipo = 6 in LODTABEL) e, tramite il pulsante "valori prefissati", richiama COGU68 per editarli; se le informazioni prevedono collegamento a dichiarazione/istruzioni ("L4"/"L5") sincronizza le descrizioni tra LODDESCR e il temporaneo LODTMDES. Per le informazioni di tipo note ("E") mantiene un raccordo "NP" in LODRACCO che lega l'informazione al tipo descrizione utilizzato.
Il programma e' richiamabile da altri moduli tramite UTILZ28.CPY (z28-called = "COGZ28-CALLED"): in tal caso entra direttamente sul codice passato (z28-cod) rispettando il flag di abilitazione all'aggiornamento (z28-fl-agg).
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda (cogfiles.cpy) |
| LODINFPR | ISAM | I-O | Anagrafica informazioni di progetto (nfp-cod, nfp-etichetta, nfp-tip, nfp-lun, nfp-lun-dec, nfp-tab, nfp-lnk-dic, nfp-lnk-ist, nfp-link-automatico, nfp-tip-ext) |
| LODTABEL | ISAM | I-O | Tabelle di dominio (lta-tipo = 5, per lettura descrizione/lunghezza) e valori fissi (lta-tipo = 6, lta-n46-1/lta-n46-2, lta-06-des) |
| LODDESCR | ISAM | I-O | Descrizioni per allegato (tipi "L4"/"L5") lette/scritte per i valori fissi (lde-tip, lde-cod, lde-pro, lde-rec) |
| LODRACCO | ISAM (k02) | I-O | Raccordi tipo "NP" informazione->tipo descrizione note (lrc-tip, lrc-key-1, lrc-key-2, lrc-len) |
| LODTMDES | ISAM (temp) | I-O | Buffer temporaneo descrizioni per operatore (ltd-rec); nome #$COGZ28.<operatore>, aperto in output esclusivo come lock di funzione |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogz28.select, cogz28.fd, cogz28.wrk, cogz28-01.scr, cogz28.decla, cogz28.prc |
Screen Designer |
feurtab.fd, cogfiles.cpy |
FEURTAB |
lodtmdes.fd/.cpy/.k01 |
File temporaneo descrizioni |
costanti-labod.cpy |
Costanti tipi informazione/handle e stati commessa laboratorio |
wstato, wopenf, wgrave, wnscr, cogazien |
Working storage standard + dati azienda |
utils52 |
Linkage COGS52 |
utilwz09, utilwz10, utilwz11 |
Linkage COGWZ09/COGWZ10/COGWZ11 (aiuti/ricerche) |
utilu68 |
Linkage COGU68 (editor valori prefissati) |
utilz28 |
Linkage di chiamata dal programma chiamante (z28-called, z28-cod, z28-fl-agg) |
wcont, wcont1 |
Linkage di chiamata |
stato1, stato, winmsg, grave, mmmask, opengen |
Copybook di fine procedure |
sendwz09, sendwz11, sendwz10 |
Invocazione aiuti WZ |
lodracco.k02 |
Chiave secondaria LODRACCO (aggiunta a fine procedure) |
Logica¶
- apri / main: init, lettura eventuali dati di chiamata da
UTILZ28(w-dc-called,w-dc-cod,w-dc-fl-agg),open-files, tasti (F1 configura, F3 conferma/aggiorna, F4 cancella, F7 nuovo, F8 aiuto), titolo " Informazioni ",z-costruisci-controlli. - a4: reset maschera, costruzione nome temporaneo LODTMDES e lock (open output esclusivo + reopen i-o); default tipo "A"; se chiamato (
w-dc-called = "S") porta il codice passato e salta aa-controlla-tm-cod. - a-tm-cod: accept codice informazione; F7 ->
a2-cerca-numero(primo codice libero); F8 ->send-wz11;x-controlla-tm-codleggeLODINFPR(rd-lodinfpr-lk) e imposta inserimento/variazione, in variazione richiamaa1-carica. - a-tm-des / a-tm-tip / a-tm-modello / a-tm-lun / a-tm-lun-dec / a-tm-tab / a-tm-lnk-dic / a-tm-lnk-ist / a-tm-link-automatico / a-tm-bottone-val-pref: accept dei singoli campi con abilitazione condizionata al tipo; il tipo tabella "T" legge la testata da LODTABEL e ne eredita lunghezza;
x-after-tm-tipgestisce l'etichetta informazione esterna. - a1-carica: in variazione ricarica tutti i campi da
nfp-rec; per tipo "V" carica i valori fissi (a11-car-valdalta-tipo=6) e le descrizioni collegate (a5-carica-desper "L4"/"L5" in LODTMDES); per tipo "E" recupera il raccordo "NP" da LODRACCO. - a-richiesta-conferma: se non abilitato all'aggiornamento (
w-dc-fl-agg = "N") blocca; altrimenti F3 conferma inserimento (b-inserisci) o variazione (c-cancella+b-inserisci), F4 cancella (c-cancella). - b-inserisci: scrive
LODINFPR; per tipo "V" con flagcancella-valorireinserisce i valori fissi (b1-inserisci) e le descrizioni collegate (b2-inserisci-desda LODTMDES a LODDESCR); per tipo "E" calcola/scrive il raccordo "NP" in LODRACCO (con logica di attribuzione del codice tipo descrizione, anche via codifica ASCII del codice informazione). - c-cancella / c1-cancella-valori / c2-cancella-des: elimina l'informazione da LODINFPR, i valori fissi (
lta-tipo=6), le descrizioni collegate (LODDESCR "L4"/"L5") e i raccordi "NP". - z-99-exception-form: con
funzio = 22sul pulsante valori prefissati chiamaCOGU68passando codice, nome temporaneo LODTMDES, flag dic/ist e lunghezza (chiude e riapre LODTMDES attorno alla call). - fine / z-chiudi:
z-close-files, chiusura finestra,z-99-exit-program,exit program.
CALL¶
| Programma | Scopo |
|---|---|
COGU68 |
Editor dei valori prefissati / descrizioni collegate dell'informazione |
COGWZ09 |
Aiuto (tramite send-wz09) |
COGWZ10 |
Aiuto/ricerca tabella (campo tabella, send-wz10) |
COGWZ11 |
Aiuto/ricerca informazioni (F8, send-wz11) |
Note¶
- Le costanti dei tipi informazione ("A","D","E","I","L","N","R","T","V", ecc.) e degli stati commessa sono in
costanti-labod.cpy. - Per tipo "E" (note) il programma mantiene un raccordo "NP" in LODRACCO che collega l'informazione al tipo descrizione: il codice tipo descrizione a 2 caratteri viene attribuito progressivamente (
00..99) e, se saturo, codificato in ASCII a partire dal codice informazione (codice-ascii-num). - Il temporaneo LODTMDES fa da lock di funzione: se l'open output fallisce (
stato <> "00") la funzione e' considerata gia' in uso e il programma termina. - Chiave secondaria
lodracco.k02aggiunta manualmente in coda alla procedure division (usata dast-lodracco-notmay-chia2per la ricerca del progressivo tipo descrizione). - Richiamabile da chiamante via
z28-called = "COGZ28-CALLED": l'abilitazione all'aggiornamento e' governata dal flagz28-fl-aggpassato dal chiamante.