Parametrizzazione e sviluppo specifico 

Introduzione

Durante l'installazione dei prodotti in tecnologia Sage X3, sono possibili due livelli di intervento sul prodotto.

Il primo livello è quello delle parametrizzazioni, che possono giocare un ruolo importante sull'ergonomia del software e sulle sue funzionalità; il secondo è il livello degli sviluppi specifici. Il fatto che i software sviluppati in tecnologia X3 integrino un AGL ed un motore di esecuzione permette infatti di realizzare degli sviluppi.

La caratterizzazione delle funzioni rilevanti di ciascun livello, non è quindi legata alla loro complessità relativa, ma si fa nel seguente modo:

  • La parametrizzazione si caratterizza per il fatto che in principio non è influenzata in caso di versione minore o di patch applicativa. Ciò significa che non ci sono metodi protettivi atti a renderla definitiva. Le operazioni di parametrizzazione sono accessibili per un utente che ha il profilo ADMIN dell'administrator, nei menù denominati Parametrizzazione, Utilizzo e nei sotto-menù che ne dipendono.
  • Lo sviluppo deve essere reso definitivo dall'utilizzo di misure particolari (regole di denominazione, utilizzo di codici attività dedicati) che necessita in tal modo di sforzi supplementari. Le regole da rispettare affinchè gli sviluppi siano definitivi sono definite in un documento allegato. Le operazioni di sviluppo sono accessibili, per un utente che ha il profilo ADMIN dell'administrator, nei menù denominati Sviluppo e nei sotto-menù che ne dipendono.

La conseguenza di ciò è che le soluzioni alla base della parametrizzazione sono in principio meno vincolanti, dal punto di vista della manutenzione, e vanno preferite, quando è possibile, agli sviluppi specifici.

D'altronde, una classificazione delle operazioni di parametrizzazione, può essere fatta secondo il loro grado di difficoltà e la loro accessibilità ad utenti avanzati. Lo stesso vale per le operazioni di sviluppo. Questa classificazione è fatta nel prosieguo di questo documento.

La parametrizzazione può portare ad una generazione automatizzata di codice, ma ciò è trasparente per l'utente. In alcuni casi suppone una conoscenza limitata del linguaggio, nella misura in cui è possibile utilizzare delle formule di calcolo (un po' l'equivalente di formule Excel™); ma un assistente permette di semplificare la loro creazione. Di fatto, è possibile considerare che esista un livello semplice di parametrizzazione ed un livello più complesso. Alcune operazioni di parametrizzazione necessitano infatti di competenze di sviluppo.

Lo sviluppo può implicare o no la scrittura di codici che utilizzano l'AGL adonix. Inoltre, è possibile delegare alcune operazioni di sviluppo che si fanno senza scrittura di codici a dei consulenti non programmatori, a condizione di essere cauti sulla loro durabilità.

La scrittura di stampe Crystal Reports™ può assomigliare ad una parametrizzazione, ma presuppone una buona conoscenza del database applicativo. La presenza di help on line sulla struttura del database (MCD, dizionario in linea) deve semplificare la conoscenza di questa struttura. Ne deriva che alcune stampe (quelle che aggiornano dei flag di stampa) implicano la scrittura di codice adonix e che l'aggiornamento del dizionario delle stampe è anche un atto di sviluppo (relativamente semplice).

Operazioni della parametrizzazione

Nel menù di parametrizzazione, si trovano dei sotto-menù funzionali che dipendono dal software X3. Questi menù corrispondono effettivamente ad una parametrizzazione generalmente semplice. I sotto-menù Utenti, Parametri generali, Utilizzo avranno una caratterizzazione delle funzioni che vi si trovano. Il menù Struttura generale corrisponde ad una parametrizzazione semplice, è il caso anche del menù Workflow, la cui unica parametrizzazione complessa è quella delle regole di Workflow.

Aggiornamento di parametri semplici

Queste funzioni aggiornano semplicemente dei parametri o dei dati nel database. La loro errata attuazione può avere delle conseguenze funzionali, ma nulla di solito è irreversibile. Queste funzioni sono le seguenti:

Funzione

Definizione

GESAUS

Gestione degli utenti

GESACS

Definizione dei codici accesso

GESADI2

Tabelle diverse

GESANM

Contatori documenti

GESTCA

Assegnazione dei contatori

APARHIS

Parametri di cancellazione

GIMPEXPPAR

Parametri import/export

GESAEN

Concatenamenti import/export

ABATPAR

Parametri del server batch

La funzione di aggiornamento dei parametri generali (ADPVAL) è un caso particolare: è chiaramente una funzione di parametrizzazione, ma la modifica avventata di alcuni parametri del supervisore (capitolo SUP) e sopratutto del motore (capitolo ADX) può essere estremamente pericolosa.

Parametrizzazioni di secondo livello

Queste parametrizzazioni possono essere considerate come più complesse per diverse ragioni:

Possono implicare, per essere operanti, una fase di validazione o di generazione di codice. Ciò implica una rivalidazione in caso di copia da dossier a dossier. Anche se in queste parametrizzazioni sono fatti dei controlli di validità, una errata parametrizzazione può, in casi limite, provocare degli errori nell'esecuzione del software.

Fanno parte di questa categoria le seguenti funzioni:

Funzione

Definizione

GESGTC

Videate di consultazione

GESAFT

Profili funzione

GESAFP

Abilitazione funzionale

GESAPM

Profili Menù 

Tutte le parametrizzazioni di transazione di inserimento (in tutti i moduli) fanno parte anche di questa categoria (si creano della videate e dei sorgenti di programmi a partire dalla parametrizzazione).

Un altra ragione di complessità è che alcune parametrizzazioni possono supporre da parte dell'utente una conoscenza del database, poichè si definiranno come criteri dei campi di tale database. Questa categoria, che può essere un po' più complessa da parametrizzare, può anche implicare una generazione di codice associata.

Sono comprese in questa categoria le seguenti funzioni:

Funzione

Definizione

GESARL

Gestione dei ruoli

GESCDE

Parametrizzazione delle sezioni di default

Infine, alcune parametrizzazioni possono richiedere il ricorso a formule di calcolo (che possono essere guidate da degli assistenti di parametrizzazione) o richiedere la conoscenza di un contesto (nome della videata da parametrizzare). La conoscenza della struttura del database, del linguaggio delle formule di calcolo e del contesto tecnico in modo più generale, è spesso utile e persino necessario per realizzare queste parametrizzazioni.

Sono comprese in questa categoria le seguenti funzioni:

Funzione

Definizione

GESAWA

Regole di Workflow

GESACL

Tabelle di controllo

CODCTL

Assegnazione dei controlli

CODACC

Assegnazione dei codici di accesso

GESAOP

Proprietà oggetti

GESAOC

Personalizzazione degli oggetti

GESPS1

Attivatori statistiche

GESPS2

Parametri statistiche

GESAOE

Modelli import/export

GESAEV

Parametrizzazione import V3

GESALH

Creazione di consultazioni

GESANX

Ottimizzazione database

E' importante notare che tra queste operazioni di parametrizzazione, alcune, quando sono malfatte, possono provocare dei malfunzionamenti degli oggetti relativi:

  • La personalizzazione degli oggetti può portare ad un malfunzionamento dell'oggetto, per esempio se non si posizionano nella lista di selezione dell'oggetto, tutti i campi che compongono la chiave principale di tale oggetto.
  • Una definizione errata delle statistiche, soprattutto se sono definite in tempo reale, può provocare degli errori all'esecuzione delle creazioni e degli aggiornamenti, impedendo così il funzionamento dell'oggetto di partenza.
  • La creazione di consultazioni, che crea contemporaneamente una videata e dei programmi, può in alcuni casi portare a consultazioni errate quando i collegamenti sono forniti in forma esplicita.

D'altro canto, l'ottimizzazione database (GESANX) suppone buone conoscenze tecniche nella gestione dei database; un'errata parametrizzazione può andare contro l'obiettivo voluto, bisogna saper migliorare le performance in gestione.

Parametrizzazioni particolari

Due serie di funzioni costituiscono dei casi particolari, ma sono parte della parametrizzazione:

La gestione dei dossier (GESADS), che ha delle incidenze importanti sulla gestione e che necessita, per lo meno quando si crea il dossier di gestione, una certa preparazione tecnica.

La gestione dei movimenti automatici (GESGAU) che richiedono una buona conoscenza contemporaneamente del linguaggio e del contesto, che portano ad una generazione di codice e che, se mal parametrizzati, portano alla creazione di documenti contabili non pareggiati che non saranno integrati.

Sviluppi specifici

In parole povere, nei menù standard del profilo ADMIN, è sviluppo specifico tutto ciò che rileva delle voci di menù Sviluppo. L'altro modo di caratterizzare lo specifico è dire che necessita il ricorso ad almeno un codice attività che comincia per X, Y o Z per essere definitivo. A seconda che il ricorso al linguaggio di sviluppo sia o meno necessario, si può considerare che ci sono due livelli di difficoltà.

Specifici semplici

Questi specifici non suppongono un livello di esperienza maggiore di quello delle funzioni precedenti (in alcuni casi, sono persino più semplici di alcune funzioni complesse qui sopra). Non si tratta forzatamente di funzioni, ma in alcuni casi dell'utilizzo limitato di alcune funzioni.

L’assistente di parametrizzazione Toolbox descrive questi specifici semplici e il modo di realizzarli.

In tutti i casi, la prima regola da osservare è la perpetuazione di questi sviluppi. Se ciò non viene fatto, una rivalidazione qualsiasi di dossier porterà alla loro perdita. Ciò suppone la definizione e l'attivazione di almeno un codice attività che comincia per X, Y o Z, e l'adozione di una normalizzazione dei nomi sugli elementi creati.

Le operazioni che si possono considerare come comprese in questa categoria sono le seguenti:

Funzione

Definizione

GESACV

Codici attività

GESATB (*)

Gestione delle tabelle

COMBOS

Menù locali

GESATY

Tipi di dati

GESAMK (*)

Videate

GESAWI (*)

Finestre 

GESAOB (*)

Oggetti

GESAFC (*)

Funzioni

GESAHI

Formule di cancellazione / storicizzazione

Le funzioni evidenziate da un asterisco possono essere considerate come facili da attivare in certe condizioni. L'aggiunta di campi supplementari a tabelle e videate esistenti, la crezione di oggetti semplici, di videate semplici, di finestre e di funzioni mediante creazione di oggetti sono condizioni semplificatrici di attivazione.

Alcune funzioni di sviluppo somigliano, per la loro facilità di attivazione, a delle parametrizzazioni, ma possono essere estremamente pericolole, poichè aggiornano dei dati con un controllo minimo e a volte in modo massivo. Sono le funzioni seguenti:

Funzione

Definizione

GESAMI

Transazioni sistema

GMAINT

Manutenzione

GSTDCOL

Manutenzione in colonne

Infatti, la definizione di transazioni sistema (GESAMI) per aggiornare dei campi in massa, è molto pericolosa se fatta su dei campi calcolati o che hanno dei vincoli di integrità che possono essere danneggiati da questa funzione. Le funzioni di manutenzione permettono anche di ignorare i vincoli di integrità.

Si può inoltre considerare che ciò che si trova negli strumenti necessita di un livello di conoscenza di tipo « specifico leggero », anche se alcune funzioni sono potenzialmente pericolose e devono essere ben comprese nel loro utilizzo. Ciò include:

Gli strumenti di verifica (UTIBASE, ETAFIC, VERSYMB, AVERSION)

Gli strumenti di validazione (VALDICO, ACOPDIC, ACOPTRS, ACOMPOBJ, AVALAFC, VALMENU, GENMSKTRT, COPTRT, GENMENULOC)

Gli strumenti di manutenzione di dossier (CHDOS, DEVERROU, RAZDOS, IMPDOS)

Gli strumenti di ricerca (RECHACT, RECHTYP, RECHACI, RECHMESS, RECHTXT)

Gli strumenti di salvataggio (DOSEXTRA, DOSINTEG)

Gli strumenti di gestione delle patch (PATCH, APATCH, GESAPT, APATCHA)

Gli strumenti diversi (AMIEXE, SYSTEME, LECTRACE, EXETRTVISULIC, PSADX, ADXD, GENTXTTRA, MODCPT, ADELETE, RECUPLNK, ACTIVLNK).

Specifici complessi

Questi specifici suppongono una conoscenza approfondita del linguaggio di sviluppo, e quindi un profilo sviluppatore esperto. Sono generalmente interessate tutte le funzioni di sviluppo precedenti, quando agiscono su delle videate generate, tutte le funzioni in cui è utilizzato un entry point, tutte le funzioni in cui è necessario scrivere il codice 4GL adonix (per esempio in una videata complessa). Le operazioni che possono essere complesse sono:

  • La definizione dei tipi di dati (GESATY), le videate (GESAMK), le finestre(GESAWI), le funzioni (GESAFC), gli oggetti (GESAOB), non appena queste funzioni vengono utilizzate in casi complessi
  • Le consultazioni (GESACN), le azioni e funzioni collegate (GESACT, GESASU, ADOTRT) perchè il ricorso al codice adonix è necessario in tutti i casi.
  • Le stampe dal momento in cui si devono realizzare dei programmi preliminari.