Vai al contenuto

ARC030 - Gestione sezioni (archiviazione documentale)

Sorgente: cbl/arc030.cbl | Tipo: Programma interattivo GUI a griglia editabile (aggiornamento/selezione) | Program-ID: ARC030

Menu:

  • Sistema > Archiviazione documentale

Scopo

Gestisce la tabella delle "sezioni" dell'archiviazione ottica integrata (COGARSEC): ciascuna sezione rappresenta una locazione fisica di archivio (un percorso su disco/server) dove sono conservati i documenti archiviati, con i relativi flag di stato. Il programma presenta l'elenco delle sezioni in una griglia editabile e ne permette la manutenzione riga per riga.

Per ogni sezione sono gestiti: identificativo, location, percorso, e i flag online, modificabile, inseribile, diretto e "spostata", oltre alla dimensione. Le sezioni definite qui costituiscono le locazioni che altri programmi della famiglia di archiviazione (es. ARC005, che verifica lo stato online delle sezioni) usano per collocare e ritrovare i file dei documenti.

Il programma opera in due modalita': aggiornamento (A, standalone, manutenzione completa della tabella) e selezione (S, richiamato da altro programma, per restituire una sezione scelta).


Struttura del programma

Inizializzazione (apri)

ctr-abil, z-99-init-program, open-files, rd-azi; determinazione modalita' da w-dati-called (w-dc-called = "S" -> modalita' selezione, altrimenti aggiornamento); attivazione dei tasti funzione coerenti con la modalita' (F3 selezione/modifica in selezione, F3 aggiorna in aggiornamento; Shift-F4 personalizzazione griglia; Ctrl+A/Ctrl+E previsti ma attualmente commentati); caricamento lingua; bitmap e pulsante custom "Trova e Sostituisci" (F6); preparazione griglia (z-prepara-tm-grid).

Caricamento griglia (a4 -> a10-loop)

Svuota la griglia, poi scandisce COGARSEC dall'inizio (st-cogarsec-notmin + rdnxt-cogarsec) caricando ogni sezione in una riga della tabella di lavoro (tm-grid-dati-ele): id (in tm-id e tm-cod-prec, per il confronto in fase di salvataggio), location, percorso, flag online/mod/ins/diretto/spostata, dimensione. Limite k-max-ele-tab = 2000 righe. Al termine (a30) costruisce la griglia visiva (z-costruisci-tm-tab) e attiva i tasti funzione.

Gestione griglia (a-grid / a-accept-grid)

z-99-accept-tm-tab gestisce l'interazione sulla griglia editabile:

  • ESC: uscita (con test-wesc sulle modifiche pendenti);
  • doppio click/Invio: in modalita' selezione restituisce la riga scelta (fine);
  • Shift-F4: personalizzazione colonne (GRIDADMN);
  • F3: in aggiornamento salva (a1-aggiorna) e - se chiamato - torna in selezione; in selezione standalone commuta in aggiornamento; con controllo delle abilitazioni w-abi-ins/w-abi-agg;
  • F6 sulla colonna percorso (z-usa-tf-tm-tab-ep): richiama ARC031 (trova e sostituisci sui percorsi); se ARC031 restituisce reload, la griglia viene ricaricata (go to a4).

Il paragrafo z-event-tm-tab-ep inibisce la modifica delle celle in modalita' selezione e blocca la modifica di righe esistenti se l'utente non e' abilitato (w-abi-agg = "N").

Salvataggio (a1-aggiorna -> b-aggiorna)

x-controlla-tm-tab-tutto valida tutte le righe; poi b-aggiorna confronta, riga per riga, tm-id con tm-cod-prec per decidere l'operazione:

  • tm-id = 0 e tm-cod-prec <> 0 -> cancellazione (b3-cancella, attualmente disattivata/commentata);
  • tm-id = tm-cod-prec -> modifica (b2-modifica);
  • tm-cod-prec = 0 -> inserimento (b1-inserisci, corpo attualmente commentato);
  • tm-id <> tm-cod-prec -> cancella + inserisci.

b2-modifica rilegge la sezione in COGARSEC per id, la ricrea con conferma se non piu' esistente, quindi aggiorna location, percorso, flag e dimensione con rwr-cogarsec.

Validazioni (x-controlla-tm-*)

x-controlla-tm-id verifica la non-duplicazione dell'id in inserimento (lettura con rd-cogarsec-lk); x-controlla-tm-percorso rende il percorso obbligatorio per le righe valorizzate; le altre celle (location, flag) non hanno vincoli specifici.

Chiusura (fine / z-chiudi)

z-close-files, chiusura finestra, z-99-exit-program.


Tabelle e file

File logico Chiave / accesso Descrizione
FEURTAB - Tabella di sistema / parametri azienda
COGARSEC ars-id (accesso anche in lock, rd-cogarsec-lk) Sezioni dell'archiviazione ottica integrata: id, location, percorso, flag online/mod/ins/diretto/spostata, dimensione

COPY incluse

Working-Storage

arc030.wrk, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, utilu20.cpy, utils52.cpy, utils65.cpy, cogazien.cpy, wgrid.cpy, utilgdad.cpy, utilgrp011.cpy

Linkage

wcont.cpy, utilarc031.cpy (interfaccia verso ARC031: u-arc031-caller, u-arc031-called, u-arc031-esito), wcont1.cpy

Procedure Division

arc030.decla, arc030-01.scr (screen), grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, arc030.prc

Il programma usa un'unica tabella (COGARSEC) con la sola chiave primaria: non sono incluse chiavi secondarie aggiuntive.


CALL a sottoprogrammi

Programma Scopo
ARC031 Trova e sostituisci sui percorsi delle sezioni (F6 sulla colonna percorso); puo' richiedere il reload della griglia
GRIDADMN Preparazione/personalizzazione colonne della griglia (Prepara, Shift-F4)

I paragrafi standard delle sottoscreen (COGS52, COGS65, COGS68, COGS95, COGU10, COGU20) sono richiamati tramite le rispettive copybook.


Configurazioni RNEWCONF

Il programma non contiene un paragrafo di lettura delle configurazioni (x99-confi/x-configurazione): non legge chiavi RNEWCONF applicative.


Note tecniche

  • Pattern griglia con chiave precedente: ogni riga porta tm-id (valore corrente) e tm-cod-prec (valore all'ultimo caricamento); il confronto tra i due in b-aggiorna determina se la riga va inserita, modificata, cancellata o rimappata. E' lo stesso schema usato da altri gestori tabella a griglia (cfr. ARC005).
  • Inserimento e cancellazione parzialmente disattivati: i corpi di b1-inserisci e b3-cancella, e i tasti Ctrl+A/Ctrl+E, sono presenti ma commentati; nell'uso corrente il programma gestisce principalmente la modifica delle sezioni gia' presenti (percorso, flag, dimensione) via b2-modifica.
  • Dual-mode: la modalita' (selezione/aggiornamento, a-modalita "S"/"A") governa i tasti funzione attivi, l'abilitazione delle celle e il comportamento di F3; la commutazione da selezione ad aggiornamento avviene con F3 in standalone.
  • Integrazione con ARC031: la funzione "Trova e Sostituisci" sui percorsi e' delegata ad ARC031, utile per aggiornare in blocco le locazioni fisiche in caso di spostamento dell'archivio; l'esito reload forza il ricaricamento della tabella.
  • Il codice usa ancora PERFORM ... THRU e GO TO (stile legacy del programma), non conformi alle convenzioni per il nuovo codice; la documentazione ne riflette il flusso senza proporne il refactoring.