Vai al contenuto

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 a a-controlla-tm-cod.
  • a-tm-cod: accept codice informazione; F7 -> a2-cerca-numero (primo codice libero); F8 -> send-wz11; x-controlla-tm-cod legge LODINFPR (rd-lodinfpr-lk) e imposta inserimento/variazione, in variazione richiama a1-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-tip gestisce l'etichetta informazione esterna.
  • a1-carica: in variazione ricarica tutti i campi da nfp-rec; per tipo "V" carica i valori fissi (a11-car-val da lta-tipo=6) e le descrizioni collegate (a5-carica-des per "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 flag cancella-valori reinserisce i valori fissi (b1-inserisci) e le descrizioni collegate (b2-inserisci-des da 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 = 22 sul pulsante valori prefissati chiama COGU68 passando 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.k02 aggiunta manualmente in coda alla procedure division (usata da st-lodracco-notmay-chia2 per la ricerca del progressivo tipo descrizione).
  • Richiamabile da chiamante via z28-called = "COGZ28-CALLED": l'abilitazione all'aggiornamento e' governata dal flag z28-fl-agg passato dal chiamante.