Sviluppo > Dizionario dati > Apertura alla parametrizzazione > Definizione parametri 

Questa funzione permette di definire un base di parametri utilizzati dal software. Ogni parametro è identificato dal suo nome; è collegato ad un modulo funzionale e all'interno di ogni modulo è classificato per gruppo. Dispone di caratteristiche come il tipo, il livello di definizione, valori possibili. Si ha la possibilità di associargli una variabile globale; ciò permette al supervisore di alimentare questa variabile globale con il valore del parametro, durante la connessione al dossier, o durante un cambio utente.

Nel caso di un cambio di contesto (società, sito) o quando una variabile non è associata al parametro, il valore di un parametro può essere letto in qualsiasi programma da uno o da un'altro dei seguenti richiami:

Call PARAM(SITO,PARAM,VALORE) From ADOVAL

Call PARAMUTIL(PARAM,VALORE,UTENTE,"") From SUBAUS

E' importante notare che il sotto-programma corrispondente utilizza un tipo di dati che è sempre di tipo stringa di caratteri; quando il parametro di origine è di tipo data o numerico, occorre pensare a trascodificare se necessario il valore restituito. Quando si tratta di una data, basta una semplice assegnazione: il motore adonix gestisce infatti l'assegnazione di una variabile di tipo data per un valore di tipo stringa di caratteri. Nel caso numerico, occorre scrivere VALNUM=val(VALORE).

Prerequisiti

SEEREFERTTO Riferirsi alla documentazione di Implementazione

Gestione videata

Videata di inserimento

Presentazione

L'inserimento dei parametri si effettua su un folder, la finestra di selezione è una finestra con delle chiavi strutturate in 3 parti (il capitolo, il gruppo, poi il codice del parametro).

E' possibile aggiungere nuovi parametri nell'ambito di sviluppi specifici. Attenzione, per conservare questi parametri in caso di evoluzione di versione o di rivalidazione di dossier, è essenziale proteggerli con un codice attività specifico (che inizi con X, Y o Z). Per evitare dei conflitti con eventuali parametri aggiunti, è necessario utilizzare la regola di denominazione abituale (far iniziare i nomi di questi parametri con X, Y o Z).

Si ha la possibilità di aggiungere questi parametri specifici nei capitoli standard esistenti o ancora in un capitolo specifico che sarà stato precedentemente creato. L'aggiunta di un capitolo specifico si effettua con l'aggiunta di un codice che inizia con X, Y o Z nella tabella diversa 901.

I diversi parametri esistenti per tutti i moduli 'funzionali' sono spiegati nei capitoli Prerequisiti delle documentazioni delle funzioni che li utilizzano. Ogni parametro ha la sua scheda descrittiva richiamabile dalla definizione del parametro o dall'inserimento del valore di parametro.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Blocco numero 1

Il capitolo, definito nella tabella diversa numero 901, identifica il settore funzionale al quale il parametro è collegato.

  • Parametro (campo PARAM)

Un parametro è caratterizzato da:

  • Un capitolo (tabella diversa n° 901)
  • Un codice (10 alfanumerici)
  • Descrizione (campo NAME)

Destiné à figurer sur les états et les écrans dans lesquels le code de la fiche peut être saisi ou sélectionné. Ce texte permet de donner une description de la fiche concernée.

Blocco numero 2

Il codice gruppo, definito dalla tabella diversa numero 903, permette di raggruppare tra loro dei parametri di uno stesso capitolo, allo scopo di organizzarli e di facilitare la loro parametrizzazione. Infatti, si ha la possibilità di definire dei set di valori per gruppo di parametri.

Caratteristiche

  • Livello definizione (campo NIVDEF)

Il livello di definizione permette di caratterizzare il livello di dettaglio più fine possibile per associare un valore ad ogni parametro. Se, in un dato contesto, non esiste valore al livello definito, si risale successivamente ai livelli superiori fino a trovare un valore. Così è sempre possibile definire un valore di default ai livelli superiori del livello più basso di definizione, per gestire solamente i casi particolari al livello più basso.

I livelli di definizione possibili, definiti dal menù locale 987, sono, nell'ordine decrescente:

  • Dossier: viene allora definito un solo valore globale per tutto il dossier.
  • Legislazione:viene definito un valore per legislazione. Cio presuppone che, nel contesto di utilizzo del parametro, si possa definire una legislazione corrente (lo è in pratica utilizzando la società corrente nel contesto di utilizzo).
  • Società: viene definito un valore per società. Cio presuppone che, nel contesto di utilizzo del parametro, si possa definire una società corrente.
  • Sito: viene definito un valore per sito. Cio presuppone che, nel contesto di utilizzo del parametro, si possa definire un sito.
  • Utente: un valore per ogni utente (e definito al momento della connessione, sapendo che se non esiste, si cerca il valore associato al sito di default dell'utente per il modulo al quale il parametro è collegato).
  • Tipo valore (campo TYPVAL)

Si definisce qui il tipo interno del valore ed il numero di menù locale quando occorre.

Un codice attività permette:

  • di rendere opzionale un elemento del dizionario se il valore associato al codice attività è nullo.
  • di approvare gli elementi specifici da quando sono evidenziati da un codice che inizia per X, Y o Z.
  • di dimensionare un numero di righe massimo quando il codice attività evidenzia degli elementi di un riquadro.

Così, se il codice attività non è attivo, l'elemento evidenziato non sarà utilizzabile, e il codice associato (se ne ha) non verrà generato né sarà attivabile.

  • N.menù locale (campo NOLIB)

Si definisce qui il tipo interno del valore ed il numero di menù locale quando occorre.

Un parametro può essere la chiave di una scheda gestita da un oggetto (per esempio, un codice paese, un codice cliente, un contatore, una famiglia articolo, un utente ecc.…). Se questo è il caso, si indica qui il codice dell’oggetto; ciò permette di disporre automaticamente di tutti i controlli associati in fase di inserimento del parametro.

Inoltre, si può precisare il parametro da passare alla gestione d’oggetto, quando questo gestisce una tabella con una chiave di due componenti. Il parametro CCEDSP1 "Sezione asse 1 per ripartizione" utilizza questo campo per indicare il numero dell’asse analitico.

In più, è possibile precisare una o più opzioni di selezione per filtrare i valori possibili per il parametro. Queste opzioni sono definite nell'oggetto, nel folder "Selezione". Il parametro CPTRES utilizza l'opzione di filtro sull'oggetto dei conti per autorizzare solo i conti generali.

  • Parametro (campo PAROBJ)

 

  • Opzioni di selezione (campo SELOPT)

 

  • Programma di controllo (campo TRAIT)

Il campo programma permette di definire il nome di un programma che sarà chiamato per effettuare dei controlli complementari di validità all'inserimento dei parametri. Se questo programma è definito, allora deve esistere un sottoprogramma definito come segue nel programma:

Subprog VERF_PARAM(PARAM,VALEUR,OK)
Value Char PARAM     # Nome del parametro in corso di inserimento
Value Char VALEUR    # Valore inserito da controllare
Variable Integer OK    # 1 se controllo ok, 0 se inserimento errato
                                 # Se OK=0, alimentare la variabile GMESSAGE con il messaggio di errore

End

Un esempio di utilizzo viene fornito per le variabili di tipo contatori di documenti. Quando non si vuole che superino una lunghezza di 15 caratteri, si può fare la call al programma SUBANM.

Per ragioni di facilità di utilizzo, può essere utile memorizzare il valore del parametro in una variabile globale. Per ragioni di normalizzazione, il nome di questa variabile inizia con la lettera "G" per lo standard, con una delle lettere "X", "Y" o "Z" per lo specifico. Questa variabile appartiene alla classe [V].

Il fatto di dare il nome ad una variabile provoca la generazione automatica di un programma di dichiarazione:

  • WWAGLOBVAR per parametro dossier, società, sito o legislazione
  • WWAGLOBUSR per parametro utente

Così, quando ci si collega al dossier, la variabile globale viene alimentata dal valore del parametro.

Se la variabile è definita ad un livello inferiore (sito, società, legislazione), è suscettibile di cambiare valore nel momento in cui il sito,la società o la legislazione cambiano; è in questo caso responsabilità dello sviluppatore rileggere i valori dei parametri e modificare i valori delle variabili corrispondenti. Dispone per questo di un sottoprogramma per ogni modulo che può essere richiamato con:

           Call GLOBVAR(SITO) From WWGLOBXXX

In creazione di parametro, nel caso in cui la variabile non sia ancora creata nel dizionario idoneo, il supervisore propone di crearla.

In aggiornamento di parametro, la variabile non è modificabile. Tuttavia si ha la possibilità di intervenire su questo campo dal dizionario delle variabili, con la possibilità:

  • di assegnare una variabile al parametro, alimentando il codice parametro, nella scheda variabile globale.
  • di cancellare la variabile associata al parametro, cancellando il codice parametro, nella scheda variabile globale.

Osservazione: la cancellazione di una variabile globale associata ad un parametro è possibile. In tal caso, il parametro non è più collegato ad una variabile globale. 

  • di assegnare una variabile al parametro, alimentando il codice parametro, nella scheda variabile globale.

Riquadro Lista dei valori

  • Valori (campo VALUES)

È possibile definire un elenco di valori possibili che saranno proposti al momento dell'inserimento del parametro con l'aiuto della funzione di selezione, accessibile cliccando il tasto destro del mouse.

Proprietà

  • Modificabile (campo MODIF)

Permette di definire se un valore può essere modificato manualmente dall’utente tramite la funzione Valori parametri. Se non lo è, solo un programma può modificarlo; ad esempio, il parametro TYPDBA che definisce il database utilizzato, è solamente un riflesso di ciò che è stato definito al momento della creazione o dell' aggiornamento di un dossier: non può dunque essere modificato manualmente.

  • Fuori valore (campo VALFLG)

La casella da contrassegnare Fuori valore permette, se è contrassegnata, di autorizzare l'inserimento di valori fuori dall'elenco (che diventa allora semplicemente un insieme di "valori consigliati ") o, al contrario, di imporre una selezione puntuale.

  • Modif Utente (campo AUSMODIF)

Questo flag, modificabile solo se la variabile è stata definita a livello Utente, permette di sapere se un utente può modificare il valore (tramite la funzione di gestione delle sceltepersonali) o se un utente diverso dall'amministratore di sistema può modificare questo parametro in gestione degli utenti.

  • Valore di default dossier (campo VALDEF)

Questo flag, modificabile solo se la variabile è stata definita a livello Utente, permette di sapere se un'eredità è autorizzata da un livello superiore, o se si impone che il valore non possa essere inserito che a livello utente (in questo caso, il fatto di non essere alimentato nella scheda utente verrà interpretato come un'assenza di valore).

Questo codice di accesso permette di limitare l'accesso alla scheda corrente ad alcuni utenti.
Se il campo viene indicato, solo gli utenti che dispongono di questo codice di accesso nel loro profilo possono visualizzare e modificare questa scheda.

Condizione

  • Condizione modifica (campo CNDMOD)

Permette di inserire une formula che viene interpretata al momento dell'inserimento dei valori dei parametri.
Se il risultato della formula è nullo, il parametro non può essere modificato.

Si troverà in allegato la definizione delle variabili disponibili con degli esempi di parametrizzazione.

Chiudi

 

Bottoni specifici

Questo bottone permette di completare e compilare 2 programmi: AGLOBVAR e AGLOB+capitolo

Questo bottone permette di copiare la definizione del codice attività verso un altro dossier. Attenzione, non c'è copia del codice attività collegato.

Barra di menù

Documentazione / Paragrafi

Questa funzione permette di accedere alla gestione della documentazione, sul primo paragrafo della documentazione (se esiste) associato alla scheda corrente.

Documentazione / Legami

Questa funzione permette di accedere alla gestione dei legami. Questa permette di definire dei collegamenti tra la scheda corrente ed altre schede (ad esempio dei collegamenti tra funzioni e parametri). Questi collegamenti, puramente informativi, permettono di alimentare il meccanismo di generazione degli scheletri di documentazione.

Documentazione / Generazione

Questo menù permette di lanciare una generazione di documentazione. La generazione può essere lanciata anche partendo dal bottone [Generazione] nella parte inferiore della finestra.

Possono essere lanciati tre tipi di generazione, separatamente o simultaneamente:

  • la generazione dello scheletro di documentazione partendo dal dizionario (tabelle ADOCUMENT, ADOCBLB, ADOCCLB).
  • la generazione della documentazione partendo dalle tabelle precedenti.
  • la generazione della documentazione su campo.

Gli intervalli proposti di default tengono conto della scheda in corso, ma possono essere modificati in fase di lancio.

Messaggi di errore

Oltre ai messaggi generici, i seguenti messaggi d'errore possono apparire al momento dell'inserimento :

Parametro già esistente

Si tenta di creare un parametro che esiste già con lo stesso nome in un altro capitolo.

La variabile deve cominciare con G

Le variabili globali sono normalizzate e devono cominciare con la lettera G.

Variabile già esistente

La variabile globale è già inizializzata da un altro parametro.

Valore errato

Un valore incompatibile col tipo di dati è stato inserito nella tabella dei valori.

Programma inesistente

E' stato inserito il nome di un programma di controllo inesistente.

Tabelle utilizzate

SEEREFERTTO Riferirsi alla documentazione di Implementazione

Allegato tecnico : formule utilizzabili per bloccare l'inserimento

La formula inserita nel campo che permette di controllare la modifica è particolarmente importante quando si vogliono bloccare dei valori di parametri ad un dato livello, anche se altrove sarebbe possibile modificarli.

Tale condizione è particolarmente interessante per alcune legislazioni che impongono dei vincoli ai parametri possibili.

A questo stadio, si hanno a dispozione le seguenti variabili:

  • LEG è la legislazione corrente. Questo valore è vuoto se si inserisce un valore di parametro a livello generale; in tutto gli altri casi, viene determinato (sia perche si inserisce il parametro a livello della legislazione, sia perche lo si definisce a livello società (une società è collegata ad una legislazione), o sito (un sito è collegato ad una società che è collegata ad una legislazione), utente (collegato ad un sito di default per il modulo corrispondente)).
  • SOC è la società corrente. Questo valore è vuoto se si inserisce un valore di parametro a livello generale o a livello legislazione, viceversa viene alimentato secondo lo stesso principio di prima
  • SIT è il sito corrente. Questo valore è vuoto se si inserisce un valore di parametro a livello generale, legislazione o società, viceversa viene alimentato secondo lo stesso principio di prima.
  • USR è l'utente per il quale si inseriscono le abilitazioni (da non confondere con GUSER, che è l'utente corrente - colui che inserisce tali abilitazioni).

Si dispone inoltre della variabile GNBLEG, che fornisce il numero di legislazioni attive sul dossier. Queste legislazioni attive sono fornite dal riquadro GDOSLEG (indice che varia da 1 a GNBLEG).

Si prenda qualche esempio di condizioni per meglio capire come bloccare l'inserimento dei parametri:

Se si desidera inibire l'inserimento di un valore di parametro, indipendentemente dal livello di definizione, se si utilizza la legislazione tedesca nel dossier, la formula sarà:
find("GER",GDOSLEG(1..GNBLEG))=0
Infatti, se si trova "GER" nel riquadro delle legislazioni, la funzione find restituirà una valore non nullo; la condizione sarà quindi falsa, e l'inserimento non sarà possibile.

Se si desidera che, per le legislazioni italiana e spagnola, un parametro definito normalmente a livello di ogni sito non possa avere valori differenti per sito, si utilizzerà la formula seguente:
find(LEG,"ITA","SPA")=0 or SIT=""
Se LEG è definito e vale "ITA" o "SPA", la prima parte della condizione è falsa; occore allora che SIT sia vuoto (ovvero che ci trovi a livello società o al di sopra) affinché si possa modificare il parametro.

Se si desidera che un parametro definibile a livello degli utenti possa venire modificato solo a livello generale, o per l'amministratore, si utilizzerà la formula seguente:
LEG="" or USR=GSUPER
Se LEG è vuoto, ci si trova a livello generale; se USR è definito e vale GSUPER (il super-utente) si inserisce il valore dell'amministratore generale; nei due casi, la formula è vera ed è possibile inserire il parametro.

Se solo l'amministratore è abilitato a modificare un valore utente, si utilizzerà la formula seguente:
GUSER=GSUPER