Vai al contenuto

CFG02 - Gestione Parametri di Configurazione

Sorgente: cbl/cfg02.cbl | Tipo: Programma interattivo GUI con griglia | Autore: Gianluca Tonti

Menu: Sistema > Gestione configurazioni > Selezione e gestione parametri di configurazione


Scopo

Gestisce i parametri di configurazione dei programmi dell'applicativo. Opera in due modalita':

  • Amministrazione (default): CRUD completo sui parametri di configurazione di un programma. L'operatore seleziona un pacchetto e un programma, visualizza la griglia dei parametri esistenti, e puo' aggiungere, modificare o eliminare parametri.
  • Selezione (chiamata esterna con cfg02-called = k-program-id e operazione "S"): l'operatore sceglie un parametro dalla griglia e il programma restituisce la chiave selezionata al chiamante.

Come viene chiamato

Standalone (da menu)

Avviato direttamente, opera in modalita' amministrazione (a-modalita = "A"). L'operatore sceglie pacchetto e programma, poi gestisce i parametri.

Chiamata da altri programmi (linkage)

PROCEDURE DIVISION USING stringhe util-cfg02.

Copybook linkage: utilcfg02.cpy

Parametri di input:

Campo Tipo Descrizione
cfg02-called x(6) Deve valere k-program-id ("CFG02")
cfg02-caller x(10) Programma chiamante
cfg02-operazione x(1) "S" = selezione, "A" = amministrazione
cfg02-in-pack x(1) Pacchetto pre-impostato (se valorizzato, il campo pacchetto viene disabilitato)
cfg02-in-prog x(10) Programma pre-impostato (se valorizzato, il campo programma viene disabilitato)

Parametri di output (modalita' selezione):

Campo Tipo Descrizione
cfg02-out-pack x(1) Pacchetto del parametro selezionato
cfg02-out-prog x(10) Programma del parametro selezionato
cfg02-out-param-key x(60) Chiave del parametro selezionato

Struttura della maschera

La form e' composta da:

  1. Testata — Selezione pacchetto (tm-pack) e programma (tm-prog) con descrizione
  2. Griglia (e-tm-tab) — Elenco parametri del programma selezionato (max 800 righe)
  3. Frame dettaglio (e-frame-dettaglio) — Campi di dettaglio del parametro selezionato/in modifica, con il campo "Valore di Default" che cambia dinamicamente in base al formato

Colonne della griglia

Colonna Campo Tipo Descrizione
Chiave parametro grd-param-key x(60) Identificativo univoco del parametro
Ordine grd-param-ord 9(4) Ordine di visualizzazione
Descrizione grd-param-des x(60) Descrizione leggibile
Dip. operatore grd-uses-ope x(1) S/N - il valore dipende dall'operatore
Dip. postazione grd-uses-post x(1) S/N - il valore dipende dalla postazione
Valida grd-causes-validation x(1) S/N - il parametro causa validazione
Obbligatorio grd-required x(1) S/N - il parametro e' obbligatorio
Formato grd-format x(20) Formato del valore (vedi sotto)
Num. indici grd-fl-indice 9(4) Numero di indici del parametro
Tipo suddivisione grd-tip-sud x(1) Tipo di suddivisione (N = nessuna)
Codice password grd-cod-pwd 9(2) Codice abilitazione password
Valore default grd-default x(80) Valore di default

Campi di dettaglio del parametro

Quando si entra in modifica o inserimento di una riga, il frame dettaglio presenta i seguenti campi in sequenza di navigazione:

# Campo Variabile Tipo Descrizione
1 Chiave parametro tm-param-key(i) x(60) Chiave univoca (editabile solo in inserimento)
2 Ordine tm-param-ord(i) 9(4) Ordine visualizzazione (deve essere univoco)
3 Descrizione tm-param-des(i) x(60) Descrizione del parametro (obbligatoria)
4 Note tm-note(i) x(1000) Informazioni estese
5 Gruppi tm-gruppi(i) x(400) Gruppi di ricerca (almeno uno obbligatorio, separati da spazio)
6 Dipende da operatore tm-uses-ope(i) x(1) S/N
7 Dipende da postazione tm-uses-post(i) x(1) S/N
8 Campo da validare tm-causes-validation(i) x(1) S/N - se "S" e formato stringa/numerico, abilita gestione valori ammessi (CFG04)
9 Obbligatorio tm-required(i) x(1) S/N
10 Formato tm-format(i) x(20) Tipo/formato del valore (F8 chiama CFG05)
11 Numero indici tm-fl-indice(i) 9(4) Quanti indici ha il parametro (default 1)
12 Tipo suddivisione tm-tip-sud(i) x(1) Tipo suddivisione
13 Codice password tm-cod-pwd(i) 9(5) Codice abilitazione
14 Valore di default (dinamico) (varia) Cambia in base al formato — vedi sezione successiva

Formati supportati e campo default dinamico

Il campo "Valore di Default" cambia aspetto e comportamento in base al formato del parametro. La routine assegna-default nasconde tutti i controlli di default e rende visibile solo quello appropriato:

Formato Controllo visibile Tipo campo Aiuto F8 / F5
x(nn) / X(nn) e-tm-default (stringa) Testo libero, max-text = nn
9(nn) / 9(nn)v9(mm) e-tm-numero Numerico intero/decimale
s9(nn) / S9(nn) e-tm-numero Numerico con segno
k-format-path e-tm-path Percorso file F5 = dialogo apri file (C$OPENSAVEBOX)
k-format-magazzino e-tm-mag + e-tm-mag-des Codice magazzino F8 = COGW36 (lista magazzini)
k-format-esa e-tm-esa Esadecimale x(80)
k-format-tipo-att e-tm-tipo-att + descrizione Tipo attivita' CRM F8 = CRM017
k-format-classe e-tm-classe + descrizione Classe merci F8 = COGG37 (tipo "C")
k-format-causale e-tm-cau + descrizione Causale (tipo 15 COGTABEL) F8 = WCA001/COGW01
k-format-info-crm e-tm-info + descrizione Info CRM F8 = CRM013
k-format-merce e-tm-merce-* (7 sottocampi) Codice merce composito Gestito via COGS68W
k-format-contropartita e-tm-controp Contropartita vendita F8 = COGV04
k-format-pianoconti e-tm-pianoco-mas/con/sot + descrizione Piano dei conti Gestito via COGS67W
k-format-to e-tm-to + descrizione Tipo operazione (tipo 65) F8 = COGE65
k-format-art-ese e-tm-art-ese + descrizione Articolo esenzione (tipo 69) F8 = COGE69
k-format-cliente e-tm-ana-cod + nome Codice cliente Gestito via COGS65W (tipo "C")
k-format-fornitore e-tm-ana-cod + nome Codice fornitore Gestito via COGS65W (tipo "F")
k-format-numeric-data e-tm-data Data Gestito via COGS52W (con calendario F8)
k-format-color e-tm-numero Colore (numerico 8 cifre)
k-format-psw e-tm-default Password

Validazione formato

La routine ctrl-format verifica la correttezza sintattica del formato inserito:

  • Stringhe x(nn): nn massimo 80
  • Numeri interi 9(nn): nn massimo 12
  • Numeri decimali 9(nn)v9(mm): nn max 12, mm max 6
  • Numeri con segno s9(nn): stesse regole dei numeri
  • Formati speciali: devono corrispondere esattamente a una delle costanti k-format-*

Operazioni

Inserimento (Ctrl-A)

  1. Aggiunge una nuova riga alla fine della griglia (a-operazione = "I")
  2. Il campo chiave e' editabile
  3. Verifica che la chiave non esista gia' su CNFPAR
  4. Alla conferma (F3) scrive: CNFPAR (definizione parametro), CNFDEF (valore default), CNFDES (note/descrizione estesa), CNFGRC (gruppi collegati)
  5. Se il parametro ha causes-validation = "S" e formato stringa/numerico, chiama automaticamente CFG04 in modalita' amministrazione per definire i valori ammessi

Modifica (Invio/doppio click su riga)

  1. Blocca il record su CNFPAR (lock)
  2. Il campo chiave non e' editabile
  3. Alla conferma riscrive (rewrite) CNFPAR, CNFDEF, CNFDES; rigenera i gruppi CNFGRC (cancella e reinserisce)

Cancellazione (Ctrl-E)

  1. Verifica abilitazione dell'operatore
  2. Chiede conferma
  3. Cancella: CNFPAR, tutti i CNFDEF collegati, tutti i CNFDES collegati, tutti i CNFVAL collegati (valori effettivi per operatore/postazione)

Selezione (Invio in modalita' selezione)

Restituisce cfg02-out-pack, cfg02-out-prog, cfg02-out-param-key e chiude il programma.


Tasti funzione

Tasto Contesto Azione
ESC Testata Se chiamato: chiude. Altrimenti: torna a selezione pacchetto
ESC Griglia Se chiamato: chiude. Altrimenti: torna a selezione pacchetto/programma
ESC Dettaglio Chiede conferma annullamento modifiche e torna alla griglia
F1 Testata/Griglia (solo admin) Modifica configurazione di CFG02 stesso (RNEWCONF su CONFIG.CNF)
F2 Ovunque Torna al campo precedente (navigazione indietro)
F3 Testata Conferma selezione pacchetto/programma e carica la griglia
F3 Dettaglio Conferma inserimento/modifica del parametro
F5 Campo path Apre dialogo selezione file (C$OPENSAVEBOX)
F8 Campo programma Chiama CFG01 (lista programmi configurati)
F8 Griglia (se validazione attiva) Chiama CFG04 (dettaglio valori ammessi del parametro)
F8 Campo formato Chiama CFG05 (selezione formato)
F8 Campo gruppi Chiama CFG10 (selezione gruppo)
F8 Campi default tipizzati Chiama il programma di aiuto specifico del formato (vedi tabella formati)
Shift-F4 Griglia Chiama GRIDADMN (amministrazione colonne griglia)
Ctrl-A Griglia (solo admin) Inserisce un nuovo parametro
Ctrl-E Griglia (solo admin) Elimina il parametro selezionato
Invio/Doppio click Griglia admin Modifica il parametro selezionato
Invio/Doppio click Griglia selezione Seleziona il parametro e restituisce al chiamante

File e tabelle acceduti

File logico Copybook/FD Accesso Descrizione
FEURTAB feurtab.fd / cogfiles.cpy Read Tabella generale del sistema
CNFPAR cfg02.select / cfg02.fd Read/Write/Rewrite/Delete/Start Parametri di configurazione (definizioni)
CNFDEF (incluso in cfg02) Read/Write/Rewrite/Start Valori di default dei parametri
CNFDES (incluso in cfg02) Read/Write/Rewrite/Delete/Start Descrizioni estese (note) dei parametri
CNFGRC (incluso in cfg02) Read/Write/Delete/Start Gruppi collegati ai parametri
CNFGRU (incluso in cfg02) Read Anagrafica gruppi di configurazione
CNFTES (incluso in cfg02) Read Testata configurazione programma (per validare pack+prog)
CNFVAL (incluso in cfg02) Read/Delete/Start Valori effettivi dei parametri (per operatore/postazione)
COGMAGAZ (via copybook) Read Magazzini (validazione default magazzino)
COGTABEL (via copybook) Read Tabelle generiche (causali tipo 15, contropartite tipo 16, tipi operazione tipo 65, articoli esenzione tipo 69)
COGMERCI (via copybook) Read Merci (validazione default merce)
COGGEANA (via copybook) Read Anagrafiche generiche (clienti/fornitori)
COGPNCON (via copybook) Read Piano dei conti (validazione default piano conti)
COGCLASM (via copybook) Read Classi merci (validazione default classe)
CRMTPATT (via copybook) Read Tipi attivita' CRM (validazione default tipo attivita')
CRMINFOR (via copybook) Read Info CRM (validazione default info CRM)

Programmi chiamati

Programma Contesto Descrizione
CFG01 F8 su campo programma Lista programmi configurati — restituisce il codice programma
CFG04 F8 su griglia (se validazione attiva); automaticamente dopo salvataggio parametro con validazione Dettaglio valori ammessi di un parametro
CFG05 F8 su campo formato Selezione formato — restituisce la stringa formato
CFG10 F8 su campo gruppi Selezione gruppo di configurazione
GRIDADMN Shift-F4; operazioni griglia (Add-Record, Modify-Record, Svuota-Tutto, Prepara) Amministrazione griglia generica
RNEWCONF F1 e inizializzazione Lettura/modifica configurazione di CFG02 stesso
CRM017 F8 su default tipo attivita' Selezione tipo attivita' CRM
CRM013 F8 su default info CRM Selezione info CRM
COGG37 F8 su default classe Selezione classe merci (funzione "win-aiuto", tipo "C")
COGE65 F8 su default tipo operazione Selezione tipo operazione contabile
COGE69 F8 su default articolo esenzione Selezione articolo esenzione IVA
COGV04 F8 su default contropartita Selezione contropartita vendita
COGS52W Campo data Subroutine gestione data con calendario
COGS65W Campo anagrafica (cliente/fornitore) Subroutine ricerca anagrafica
COGS67W Campo piano dei conti Subroutine ricerca piano dei conti
COGS68W Campo merce Subroutine ricerca merce
COGW01 / WCA001 F8 su default causale Selezione causale (WCA001 per consorzi)
COGW36 F8 su default magazzino Selezione magazzino

Copybook incluse

Working-Storage

Copybook Descrizione
cfg02.wrk Variabili di working specifiche del programma (campi screen, costanti)
wgrave.cpy Gestione errori gravi
wnscr.cpy Numero screen
wopenf.cpy Gestione apertura file
wstato.cpy Stato programma
cogazien.cpy Dati azienda corrente
wgrid.cpy Supporto griglia
utilgdad.cpy Utility GRIDADMN
opensave.def Definizioni dialogo apri/salva file
w-open-cnf.cpy Apertura file configurazione
utilcfg01.cpy Linkage CFG01
utilcfg04.cpy Linkage CFG04
utilcfg05.cpy Linkage CFG05
utilcfg10.cpy Linkage CFG10
utilncnf.cpy Linkage RNEWCONF
utile65.cpy Linkage COGE65
utile09.cpy Linkage COGE69
utils52.cpy Linkage COGS52W
utils65.cpy Linkage COGS65W
utils67.cpy Linkage COGS67W
utils68.cpy Linkage COGS68W
utilv04.cpy Linkage COGV04
utilw01.cpy Linkage COGW01
utilw36.cpy Linkage COGW36
linkg37.cpy Linkage COGG37
utilcrm013.cpy Linkage CRM013
utilcrm017.cpy Linkage CRM017

Linkage

Copybook Descrizione
wcont.cpy Variabili stringhe (contesto standard)
wcont1.cpy Variabili stringhe aggiuntive
utilcfg02.cpy Record di interscambio util-cfg02
utilg37.cpy Record interscambio COGG37

Screen / Procedure

Copybook Descrizione
cfg02.select SELECT dei file indicizzati
cfg02.fd FD dei file indicizzati
cfg02-01.scr Definizione screen (maschera GUI)
cfg02.decla Declaratives
cfg02.prc Procedure di I/O su file (rd-cnfpar, wr-cnfpar, ecc.)
cnfpar.k02 Chiave alternativa CNFPAR (ordinamento per param-ord)

Procedure standard

Copybook Descrizione
grave.cpy Gestione errore grave
mmmask.cpy Init/exit programma standalone
opengen.cpy Apertura file generici
stato.cpy Gestione stato
stato1.cpy Gestione stato aggiuntiva
winmsg.cpy Messaggi a video
sendw01.cpy Invio richiesta a COGW01
sendw36.cpy Invio richiesta a COGW36
utilgrid.cpy Utility per griglia

Configurazione RNEWCONF del programma

Il programma legge la propria configurazione tramite RNEWCONF all'avvio e quando si preme F1:

Percorso Chiave Variabile Descrizione
CONFIG.CNF ORDINAMENTO tm-cfg-ord "A" = ordina per chiave alfabetica (st-cnfpar-notmin), altro = ordina per param-ord (st-cnfpar-notmin-chia2)

Il pacchetto di configurazione usato e' "C" (ncnf-pac-gen = "C").


Pacchetti supportati

Il campo pacchetto (tm-pack) accetta i seguenti valori:

Costante Descrizione
k-pack-coge Gestionale COGE (default)
k-pack-tess Tesseramenti
k-pack-form Formule
k-pack-pers Personalizzazioni
k-pack-grandine Grandine
k-pack-cap CAP (Consorzi)

Note implementative

  • La griglia supporta fino a 800 elementi (k-max-ele-tab = 800).
  • Ogni parametro puo' avere fino a 100 gruppi collegati (k-max-gruppi = 100), con stringa gruppi fino a 400 caratteri.
  • Le note di un parametro possono essere lunghe fino a 1000 caratteri (k-size-note = 1000).
  • Il valore di default e' sempre memorizzato in un campo x(80) (tm-default), con un redefines numerico 9(12)v9(06) (tm-default-n) per i formati numerici.
  • Quando si inserisce un parametro con causes-validation = "S" e formato stringa o numerico, dopo il salvataggio viene automaticamente aperto CFG04 in modalita' amministrazione per definire i valori ammessi.
  • L'ordinamento della griglia dipende dalla configurazione RNEWCONF ORDINAMENTO: per chiave alfabetica ("A") o per ordine numerico.
  • La finestra e' ridimensionabile: l'evento ntf-resized ricalcola la griglia (x-ricalcola-griglia).