Vai al contenuto

Programmi di inizializzazione / controllo stato archivi (famiglia ASN003 / COGQ03 / COGZ03 / CRM003 / NUT003 / TGL003)

Menu: Sistema > Archivi > Inizializzazioni > (Archivi del modulo) — e Sistema > Archivi > Controllo Stato > (Archivi del modulo)

Famiglia di programmi interattivi, generati con lo Screen Designer, che permettono di creare fisicamente (inizializzare) i file (archivi) di un modulo oppure di verificarne lo stato (esistenza/accessibilita'). Ogni programma gestisce un diverso insieme di archivi, identificato da un tipo tabella univoco, e condivide la stessa struttura e la stessa logica (compresa la modalita' automatica "AUTO" descritta sotto). Sono i programmi "gemelli" della famiglia di configurazione percorsi archivi (*001): i *001 impostano i percorsi degli archivi, i *003 creano/controllano i file.

Programmi della famiglia

Programma Sorgente Tipo tabella (k-tipo-tabella) Modulo Configurazione percorsi
ASN003 cbl/asn003.cbl AN Assist 2.0 ASN001
COGQ03 cbl/cogq03.cbl CL Cicli di Lavorazione COGQ01
COGZ03 cbl/cogz03.cbl LO Laboratori Odontotecnici COGZ01
CRM003 cbl/crm003.cbl CP CRM / Clienti Potenziali CRM001
NUT003 cbl/nut003.cbl RI Ri.Ba. / RID NUT001
TGL003 cbl/tgl003.cbl TL Taglio Lamiere TGL001

Programma di riferimento della categoria: COGE03 (inizializzazione/controllo archivi primari; help contestuali COGE03I per l'inizializzazione e COGE03S per il controllo stato).

Modalita' d'uso

La modalita' e' determinata dal parametro di chiamata wo-parametro (mappato su tm-ope in apri; se diverso da "I" viene forzato a "S"):

tm-ope Modalita' Voce di menu Comportamento
"I" Inizializzazione Sistema > Archivi > Inizializzazioni La griglia consente di selezionare/creare gli archivi (tasto F3 = inizializza)
"S" Controllo stato Sistema > Archivi > Controllo Stato La griglia mostra lo stato di ogni archivio (F7 = verifica, F3 = conferma); di default tm-stato e' visibile

Struttura dati

  • FEURTAB (feurtab.fd, chiave cogfiles.cpy) — file dove e' memorizzato il percorso di ogni archivio. Lettura in leggi-tab: chiave fil-tip = k-tipo-tabella, fil-num = <numero archivio>; dato fil-nome copiato in tm-file/nf-name-2. Il file guida GENFILES.ARC e' aperto da ext-arc-dir.
  • tab-path / tf-ele — tabella (working storage) con la descrizione standard (tf-desc) di ciascun archivio; k-num-files-2 e' il numero di archivi gestiti.
  • tm-* (grid transito) — riga per archivio mostrata in griglia: tm-desc (descrizione), tm-file (percorso), tm-stato (stato I/O dell'apertura), tm-ini (flag "I" = da inizializzare).
  • Variabile della modalita' automatica: w-auto ("A" = attiva).

Logica di caricamento e inizializzazione

  1. carica-dati — per ciascun archivio (k-num-files-2 volte): legge il percorso da FEURTAB (leggi-tab) e tenta l'apertura (opn-depending-a). Se l'apertura riesce ne registra lo stato in tm-stato; se l'apertura restituisce stato "35" (file inesistente) marca tm-ini (i) = "I", cioe' l'archivio e' mancante e da creare.
  2. inizial-file — conta gli archivi con tm-ini = "I", chiede conferma all'operatore ("Richiesta l'inizializzazione di N tabelle, Confermi ?" via acc-conf-custom); se confermato, per ogni archivio flaggato esegue la creazione fisica del file (ini-depending-a).
  3. verifica-dati (solo modalita' "S", tasto F7) — verifica di dettaglio sullo stato/struttura dell'archivio selezionato.

Modalita' automatica "AUTO" (marcatore sorgente 020726)

Se il programma viene avviato con il parametro di chiamata wo-parametro = "AUTO", in apri viene impostato w-auto = "A" (e tm-ope risulta "S"). Subito dopo il caricamento dei controlli e della griglia (in a-inizio-dati), il programma:

if w-auto = "A"
   perform inizial-file  thru ex-inizial-file
   go to fine
end-if

cioe' esegue direttamente l'inizializzazione senza passare dalla griglia interattiva e termina. Poiche' in carica-dati sono stati flaggati con tm-ini = "I" solo gli archivi mancanti (apertura con stato "35"), la modalita' AUTO crea solo i file non ancora esistenti, lasciando invariati quelli gia' presenti. Resta la singola conferma di inizial-file ("Richiesta l'inizializzazione di N tabelle, Confermi ?").

Questo rende la modalita' AUTO idonea a essere invocata da procedure di installazione o di allineamento ambiente senza rischio di sovrascrivere archivi gia' popolati.

Orchestrazione da TMPLNC

Il lanciatore di setup TMPLNC usa questa modalita' per l'inizializzazione massiva degli archivi: alla richiesta "Lancio Gest.Archivi?" chiama in sequenza, con wo-parametro = "AUTO", prima il programma di configurazione percorsi (*001) e poi quello di inizializzazione (*003) di ogni famiglia (COGE01/COGE03 per i file primari, poi NUT, CRM, COGZ, ASN, COGQ, TGL). Cosi' un ambiente nuovo riceve percorsi standard e file vuoti in un unico passaggio.

Note

  • Programmi generati dallo Screen Designer: la maggior parte della struttura (SELECT, FD, working, procedure I/O) proviene dai file .wrk/.fd/.prc associati.
  • La modalita' AUTO e' stata introdotta in modo identico su tutti e sei i programmi della famiglia (marcatore sorgente 020726).
  • In crm003.cbl la stessa modifica e' accompagnata da un riordino delle COPY di fine procedure division (spostamento di grave.cpy/mmmask.cpy prima di stato.cpy e di crm003.prc dopo utilgrid.cpy), senza impatto funzionale.