Gestione configurazioni¶
Panoramica¶
Il sistema di configurazione di Eurocoge consente di parametrizzare il comportamento di tutti i programmi del gestionale senza modificare i sorgenti. Le configurazioni sono organizzate per pacchetto, gruppo (funzione/programma) e chiave (parametro), con possibilita' di personalizzazione per operatore e postazione.
Il framework si articola su tre livelli:
- Struttura -- definizione dei parametri, formati, valori consentiti e default (CNFTES, CNFPAR, CNFDEF, CNFVAL, CNFDES)
- Valori -- valori effettivi memorizzati per ogni parametro (COGCNF)
- Accesso runtime -- lettura/scrittura dei parametri dai programmi chiamanti (RNEWCONF, READCONF)
| Programma | Righe | Funzione |
|---|---|---|
| CFG03 | 4.677 | Gestione configurazioni per gruppo (interfaccia griglia) |
| CFG06 | -- | Configurazioni richiamate direttamente dalla funzione (F1) |
| CFG08 | 1.602 | Ordinamento toolbar |
| COGT40 | 1.128 | Configurazione tipologie segnalazioni |
| RNEWCONF | 620 | Sottoprogramma lettura/scrittura configurazioni |
| READCONF | -- | Sottoprogramma lettura configurazioni (legacy, file .CNF / registro / COGTABEL) |
Architettura dei file¶
Schema dei file di configurazione¶
CNFTES (Testata) 1 record per gruppo
|
+-- CNFPAR (Parametri) 1 record per parametro del gruppo
| |
| +-- CNFDEF (Default) 1 record per default di parametro
| |
| +-- CNFVAL (Valori consentiti) N record per parametro
| |
| +-- CNFDES (Descrizioni) testo esteso di aiuto
|
+-- COGCNF (Valori effettivi) 1+ record per parametro
(eventualmente per operatore/postazione)
CNFTES -- Testata configurazioni¶
File: CNFTES.ARC
| Campo | Formato | Descrizione |
|---|---|---|
| cft-pack | x(01) | Pacchetto: C=Comune, A=Agenzia, F=Forma, P=Personalizzate, G=Generali |
| cft-prog | x(10) | Codice gruppo/programma |
| cft-prog-des | x(60) | Descrizione del gruppo |
Chiave primaria: cft-pack + cft-prog.
CNFPAR -- Parametri configurazioni¶
File: CNFPAR.ARC
| Campo | Formato | Descrizione |
|---|---|---|
| cfp-pack | x(01) | Pacchetto |
| cfp-prog | x(10) | Gruppo |
| cfp-param-key | x(60) | Nome chiave del parametro |
| cfp-param-ord | 9(04) | Ordine di visualizzazione in griglia |
| cfp-param-des | x(60) | Descrizione breve |
| cfp-uses-ope | x(01) | Personalizzabile per operatore (S/N) |
| cfp-uses-post | x(01) | Personalizzabile per postazione (S/N) |
| cfp-causes-validation | x(01) | Valore obbligatorio non nullo (S/N) |
| cfp-required | x(01) | Parametro obbligatorio (S/N) |
| cfp-format | x(20) | Formato del valore (vedi k-cfg.cpy) |
| cfp-fl-indice | 9(04) | Numero di indici (per parametri array) |
| cfp-tip-sud | x(01) | Suddivisione: M=Magazzino, spazio=nessuna |
| cfp-cod-pwd | 9(02) | Codice password da associare al parametro |
Chiave primaria: cfp-pack + cfp-prog + cfp-param-key.
CNFDEF -- Default configurazioni¶
File: CNFDEF.ARC
| Campo | Formato | Descrizione |
|---|---|---|
| cfd-pack | x(01) | Pacchetto |
| cfd-prog | x(10) | Gruppo |
| cfd-param-key | x(60) | Chiave parametro |
| cfd-param-sub | x(10) | Sotto-chiave di suddivisione |
| cfd-param-idx | 9(04) | Indice (1 per parametri singoli, progressivo per array) |
| cfd-default | x(80) | Valore di default |
Chiave primaria: cfd-pack + cfd-prog + cfd-param-key + cfd-param-sub + cfd-param-idx.
CNFVAL -- Valori consentiti¶
File: CNFVAL.ARC
| Campo | Formato | Descrizione |
|---|---|---|
| cfv-pack | x(01) | Pacchetto |
| cfv-prog | x(10) | Gruppo |
| cfv-param-key | x(60) | Chiave parametro |
| cfv-idx | 9(04) | Progressivo valore |
| cfv-value | x(80) | Valore consentito |
| cfv-value-des | x(80) | Descrizione del valore |
Accessibile da CFG03 con tasto F8 (tabella valori fissi).
CNFDES -- Descrizioni estese¶
File: CNFDES.ARC
| Campo | Formato | Descrizione |
|---|---|---|
| cfs-pack | x(01) | Pacchetto |
| cfs-prog | x(10) | Gruppo |
| cfs-param-key | x(60) | Chiave parametro |
| cfs-idx | 9(04) | Progressivo |
| cfs-des | x(n) | Testo esteso (fino a 32.568 byte, lunghezza variabile) |
Accessibile da CFG03 con tasto Shift-F6 (aiuto su configurazione).
COGCNF -- Valori effettivi¶
File: COGCNF.ARC
Contiene i valori configurati per ogni parametro. Supporta personalizzazione per operatore e postazione.
| Campo | Formato | Descrizione |
|---|---|---|
| cfg-pack | x(01) | Pacchetto |
| cfg-prog | x(10) | Gruppo |
| cfg-param-key | x(60) | Chiave parametro |
| cfg-param-sub | x(10) | Sotto-chiave di suddivisione |
| cfg-ope | 9(03) | Operatore (000 = default per tutti) |
| cfg-post | x(08) | Postazione (spazi = default per tutte) |
| cfg-param-idx | 9(04) | Indice (per parametri array) |
| cfg-value | x(80) | Valore configurato |
| cfg-fl-vista | x(01) | Configurazione gia' visitata (S/N) |
Chiave primaria: cfg-pack + cfg-prog + cfg-param-key + cfg-param-sub + cfg-ope + cfg-post + cfg-param-idx.
Uso speciale per toolbar: se cfg-pack = * e cfg-prog = TOOLBAR, il campo dati contiene un array di 50 valori cfg-tot-exception (ordine pulsanti).
Pacchetti configurazioni¶
Il sistema gestisce circa 3.950 configurazioni distribuite su 5 pacchetti:
| Pacchetto | Codice | Configurazioni | Gruppi | Descrizione |
|---|---|---|---|---|
| Comune | C | 3.091 | 241 | Configurazioni trasversali a tutte le aree |
| Agenzia/Sede | A | 683 | 18 | Configurazioni specifiche per agenzie |
| Forma | F | 111 | 15 | Configurazioni FORMA |
| Generali | G | 14 | 1 | Parametri generali di sistema |
| Personalizzate | P | 51 | 2 | Applicazioni verticali |
Il riferimento completo di tutte le chiavi e' in Configurazioni RNEWCONF.
CFG03 -- Gestione configurazioni per gruppo¶
Identificazione¶
- Programma: CFG03
- Menu: Sistema > Configurazione > Configurazioni
- Righe: 4.677
Funzionalita'¶
CFG03 e' l'interfaccia principale per la gestione dei parametri di configurazione. Presenta una griglia con tutti i parametri del gruppo selezionato, con il valore corrente di ciascuno.
Struttura maschera¶
La maschera e' suddivisa in tre aree:
- Barra strumenti -- tasti funzione per navigazione e modifica
- Area dettaglio -- campi descrittivi del parametro selezionato
- Griglia -- elenco parametri con valori
Campi area dettaglio¶
| Campo | Descrizione |
|---|---|
| Pacchetto | Nome del pacchetto (C, A, F, P, G) |
| Codice/programma | Gruppo di configurazioni selezionato |
| Descrizione | Descrizione del gruppo |
| Non visitate | Indicatore parametri non ancora visitati |
| Gruppi | Indicatore gruppi |
| Parametro | Nome del parametro selezionato |
| Tipo suddivisione | Eventuale suddivisione (es. per magazzino) |
| Indice | Progressivo per parametri array |
| Operatore | Operatore per cui vale la configurazione |
| Postazione | Postazione per cui vale la configurazione |
| Valore | Valore configurato |
| Descrizione | Descrizione del valore |
Tasti funzione¶
| Tasto | Funzione |
|---|---|
| Esc | Uscita |
| Invio | Modifica valore del parametro selezionato |
| F3 | Conferma variazioni |
| F8 | Valori fissi: tabella valori consentiti (CNFVAL) |
| Shift-F4 | Amministrazione griglia |
| Shift-F6 | Aiuto: descrizione estesa del parametro (CNFDES) |
| Ctrl-A | Inibito agli operatori |
| Ctrl-E | Inibito agli operatori |
Accesso protetto¶
L'accesso a CFG03 e' protetto dalla password della configurazione attiva-cfg06 (gruppo config). La modifica dei parametri richiede l'inserimento della password generale se attivata.
Configurazioni di tipo password¶
Le configurazioni con formato "password" seguono un protocollo specifico:
| Valore precedente | Valore attuale | Effetto |
|---|---|---|
| N | S | Apertura finestra per impostazione nuova password |
| S | S | Nessun effetto |
| N | N | Nessun effetto |
| S | N | Richiesta password corrente, poi disattivazione |
Se l'operatore e' amministratore, un tasto funzione aggiuntivo permette di visualizzare la password corrente in chiaro.
CFG06 -- Configurazioni da funzione¶
CFG06 e' una variante di CFG03 richiamata direttamente dai programmi applicativi tramite il tasto F1. Invece di mostrare tutti i gruppi, presenta solo i parametri pertinenti alla funzione corrente.
Condivide lo stesso archivio dati (COGCNF) e la stessa protezione password di CFG03.
Sottoprogrammi di accesso¶
RNEWCONF -- Lettura/scrittura configurazioni¶
Sottoprogramma principale per l'accesso ai parametri di configurazione da qualsiasi programma COBOL.
Interfaccia (copybook utilncnf.cpy):
| Campo | Formato | Descrizione |
|---|---|---|
| ncnf-ope | x(20) | Operazione: spazi = lettura, "Modifica" = scrittura |
| ncnf-pac-gen | x(01) | Pacchetto |
| ncnf-oper | 9(03) | Codice operatore |
| ncnf-percorso | x(80) | Percorso configurazione |
| ncnf-pnt | 9(04) | Numero di chiavi da cercare (max 100) |
| ncnf-tip-sud | x(01) | Tipo suddivisione |
| ncnf-sud | x(10) | Elemento di suddivisione |
| ncnf-statusfi | x(02) | Stato ultima operazione |
| ncnf-programma | x(20) | Nome programma chiamante |
Tabella risultati (array ncnf-tab, fino a 100 elementi):
| Campo | Formato | Descrizione |
|---|---|---|
| ncnf-pac | x(01) | Pacchetto |
| ncnf-gruppo | x(10) | Gruppo |
| ncnf-chiave | x(60) | Chiave parametro |
| ncnf-idx | 9(04) | Indice |
| ncnf-valore | x(80) | Valore restituito |
Pattern di utilizzo tipico:
initialize util-ncnf
move 100 to ncnf-pnt
move "C" to ncnf-pac-gen
...caricamento ncnf-gruppo/ncnf-chiave per ogni parametro...
call "RNEWCONF" using util-ncnf ncnf-tab
...lettura ncnf-valore per ogni elemento...
READCONF -- Lettura configurazioni (legacy)¶
Sottoprogramma piu' vecchio che supporta tre sorgenti di configurazione:
| Tipo (rcnf-tip) | Sorgente | Note |
|---|---|---|
| C | File .CNF | Formato chiave=valore |
| T | COGTABEL | Richiede COGTABEL.CPY in linkage |
| R | Registro di configurazione | Percorso con separatore \ |
Interfaccia: copybook utilrcnf.cpy. Include routine di supporto in readconf.cpy con metodi readconf-init, readconf-read-cogtabel, readconf-write-cogtabel, readconf-restore-default-cogtabel.
Aiuto su configurazione¶
Funzione attivabile con Shift-F6 dalla griglia di CFG03/CFG06.
Visualizza:
- Gruppo: gruppo di configurazione corrente
- Parametro: nome del parametro selezionato
- Descrizione informazione: testo descrittivo dal file CNFDES
Valori fissi su configurazione¶
Funzione attivabile con F8 in fase di modifica di un parametro.
Presenta una griglia con tutti i valori consentiti (da CNFVAL) per il parametro selezionato:
| Area | Contenuto |
|---|---|
| Barra strumenti | Esc (uscita), Shift-F4 (amministrazione griglia), Invio (selezione valore) |
| Area dettaglio | Pacchetto, Gruppo, Parametro, Valore, Descrizione |
| Griglia | Elenco valori con indice e descrizione |
La selezione avviene posizionandosi sul valore desiderato e premendo Invio.
COGT40 -- Segnalazioni¶
Identificazione¶
- Programma: COGT40
- Menu: Sistema > Configurazione > Segnalazioni
- Righe: 1.128
Funzionalita'¶
COGT40 gestisce la configurazione delle tipologie di segnalazione del gestionale. Le segnalazioni sono il meccanismo di alerting interno per notificare eventi di business agli operatori.
File utilizzati¶
| File | Copybook | Funzione |
|---|---|---|
| COGSGTIP | cogsgtip.cpy | Tipologie segnalazione |
| COGSGDST | cogsgdst.cpy | Destinatari segnalazione |
| COGSGNDT | cogsgndt.cpy | Dettaglio segnalazione per operatore |
| COGSGNNT | cogsgnnt.cpy | Note segnalazione |
Struttura COGSGTIP -- Tipologie¶
Ogni tipologia e' identificata da categoria + codice:
| Campo | Formato | Descrizione |
|---|---|---|
| sgt-cat | x(01) | Categoria: A=Avvisi, N=Notifiche |
| sgt-cod | x(02) | Codice tipologia |
| sgt-fl-attiva | x(01) | Tipologia attiva (S/N) |
| sgt-soglia-1 | s9(04) | Soglia giorni per segnalazione livello 1 |
| sgt-soglia-2 | s9(04) | Soglia giorni per segnalazione livello 2 |
| sgt-ope-amm | 9(03) | Operatore amministratore della tipologia |
| sgt-fl-ric-ope | x(01) | Richiesta nome operatore in esecuzione (solo notifiche) |
| sgt-fl-risp | x(01) | Invio risposta all'autore (solo notifiche) |
| sgt-fl-allarme | x(01) | Emissione allarme all'arrivo (solo notifiche) |
Struttura COGSGDST -- Destinatari¶
Per ogni tipologia si definiscono i destinatari, con supporto multilivello:
| Campo | Formato | Descrizione |
|---|---|---|
| sgd-cat | x(01) | Categoria |
| sgd-cod | x(02) | Codice tipologia |
| sgd-liv | 9(01) | Livello di attivazione: 1 o 2 |
| sgd-dst-tip | x(01) | Tipo destinatario: O=Operatore, G=Gruppo, P=Proprietario |
| sgd-dst-ope | 9(03) | Codice operatore (se tipo O) |
| sgd-dst-grp | x(04) | Codice gruppo operatori (se tipo G) |
I gruppi di operatori sono gestiti da COGT07/COGT08/COGT09 (vedi sistema-configurazione).
Flusso di una segnalazione¶
1. Programma generatore
|-- Ricerca tipologia su COGSGTIP (categoria + codice)
|-- Se sgt-fl-attiva = "S": prosegui
|
2. Ricerca destinatari su COGSGDST
|-- Tipo "O": operatore singolo
|-- Tipo "G": espansione gruppo via PRNTGROD
|
3. Creazione record COGSGNDT per ogni destinatario
|-- Data/ora emissione
|-- Flag allarme (da sgt-fl-allarme)
|
4. Visualizzazione all'operatore destinatario
|-- Se allarme attivo: popup immediato
|-- Evasione con flag sgo-fl-eva
Creazione bottoni¶
Funzione per la creazione, gestione e cancellazione di bottoni di scelta rapida. I bottoni sono disposti su una griglia 4x4 e associano un programma ad una posizione specifica.
Campi¶
| Campo | Descrizione |
|---|---|
| Programma | Codice programma da associare al bottone (non modificabile) |
| Opzioni | Campo opzionale per funzionalita' specifiche (es. tipologia nominativo CRM) |
| Riga | Posizione riga nella griglia (1-4) |
| Col | Posizione colonna nella griglia (1-4) |
| Descrizione | Etichetta del bottone |
Operazioni¶
| Operazione | Procedura |
|---|---|
| Creazione | Compilare riga, colonna e descrizione, poi F3 per conferma |
| Cancellazione | Indicare riga e colonna del bottone, poi F3 per eliminazione |
Relazioni con altri componenti¶
Utilizzo di RNEWCONF nei programmi¶
Ogni programma che necessita di parametri di configurazione effettua una CALL a RNEWCONF in fase di inizializzazione. Il pattern standard prevede:
- Inizializzazione della working
util-ncnf - Caricamento delle coppie gruppo/chiave nella tabella
ncnf-tab - CALL "RNEWCONF"
- Lettura dei valori restituiti in
ncnf-valore
Documentazione delle chiavi¶
Le 3.950 chiavi di configurazione sono documentate in:
- Configurazioni RNEWCONF -- Riferimento: elenco completo per pacchetto e gruppo
- Configurazioni collegate a password: parametri protetti da password
docs/dev/interno/configurazioni/: 280 file, uno per ogni gruppo funzionale