, sia entrando nella funzione di interrogazione e richiesta di refresh dei dati).
La definizione delle consultazione si fa fornendo un elenco di campi derivanti dalle tabelle del database, delle espressioni che fanno intervenire dei campi del database, delle costanti e delle espressioni. Le join tra tabelle sono determinate automaticamente a partire dal dizionario, ma è possibile definirle in modo esplicito grazie al folder Avanzato.
Si noti che esistono due strumenti complementari. Una consultazione equivalente a quella di cui sopra ma basata su un editor visivo ed una consultazione SQL che presenta dalle videate di interrogazione simili ma il cui scopo è quello di concepire le richieste basate sul linguaggio SQL.
Riferirsi alla documentazione di Implementazione
La definizione di una consultazione si effettua su diversi folder, di cui solo il primo è obbligatorio.
Presentazione
In testata, si trovano delle informazioni che permettono di identificare la consultazione ed alcuni parametri di carattere generale.
Chiudi
Campi
I seguenti campi sono presenti in questo folder :
Blocco numero 1
| Questo codice permette d'identificare una consultazione. |
| Permette di definire una descrizione associata ad ogni scheda. |
| Questa descrizione permette di fornire una descrizione alla scheda. |
Caratteristiche
| Questa casella da contrassegnare permette di attivare o disattivare la scheda corrente senza tuttavia perderne il contenuto. |
|   |
| Questo flag definisce il modo in cui la rappresentazione dei dati sarà fatta a video. Le possibilità offerte sono le seguenti:
|
| Permette di organizzare la coabitazione tra carattere e grafico, quando la modalità di presentazione dei dati permette entrambi. A seconda dei casi:
|
Chiudi
Presentazione
Questo folder permette di definire le informazioni da visualizzare, sottoforma di un riquadro che definisce le tabelle del database da cui sono derivate le informazioni, i campi o le espressioni da estrarre ed anche dei criteri di totale e di raggruppamento.
A partire da tutte le informazioni definite in questo riquadro, la consultazione determina una query su delle tabelle collegate dalle condizioni di join determinate di default. Così, nei casi semplici, non è necessario compilare i folder successivi.
Chiudi
Campi
I seguenti campi sono presenti in questo folder :
| Definire la tabella dalla quale estrarre il campo da visualizzare. E' possibile visualizzare dei campi appartenenti a più tabelle a condizione che esista un legame logico tra di loro. Questo legame può essere determinato automaticamente a partire dai legami descritti nel dizionario dati, oppure definito nel folder successivo. | |
| Definisce il nome del campo che si desidera visualizzare. Questo campo proviene dalla tabella precedente. Se questo campo non viene indicato, si indicherà un'espressione nella colonna corrispondente. Il campo può essere scritto nel formato CAMPO(indice), dove indice è una costante che varia da 0 a N, se si ha di fronte un campo che ha più occorrenze. E' per esempio il caso del campo CHEF nella tabella AUTILIS ; si potrà scrivere CHEF(2) nel riquadro dei campi. | |
| Permette di definire una descrizione della colonna che sarà visualizzata all'esecuzione della consultazione. Di default, quando è utilizzato un campo della tabella, viene proposta la sua descrizione (così come è memorizzata nel dizionario). In un contesto multilingue, questa descrizione è visualizzata all'esecuzione nella lingua di connessione dell'utente, essendo i testi del dizionario gestiti in tutte le lingue di connessione. Ciò suppone che si possano definire delle traduzioni per una descrizione modificata, o corrispondente ad una espressione calcolata per cui non può essere definita nessuna traduzione. La definizione di una descrizione in una lingua diversa da quella della connessione corrente è possibile su dei campi traducibili come questo grazie alla funzione Traduzioni in linea,accessibile con un clic destro sul campo. Si apre allora una finestra che permette questo inserimento. | |
| Permette di definire un'espressione calcolata che verrà visualizzata all'esecuzione della consultazione. Questo campo può essere inserito soltanto se non è stato fornito alcun nome di campo. L'espressione puo integrare qualunque campo di una delle tabelle in linea nella consultazione, delle costanti, delle funzioni, delle variabili globali... L'editor di formule è disponibile per facilitare la definizione della formula. | |
| Questo tipo di dati permette di precisare come deve essere fatta la presentazione del dato. Nel caso di un campo, il tipo associato al campo viene proposto di default (ma è modificabile). Nel caso di un'espressione, deve essere precisato (può essere un tipo generico come una stringa di caratteri A, un menù locale M, un intero corto C, una data D, un decimale DCB, un intero lungo L...). Nel caso di una stringa di caratteri, verrà precisata la sua lunghezza massima sul campo Lunghezza che segue; nel caso di un menù locale, verranno precisati allo stesso tempo la lunghezza di visualizzazione e il numero di menù locale utilizzato. Se il tipo di dati utilizzato è collegato ad un oggetto, sarà possibile passare tramite tunnel nella gestione dell’oggetto al momento della consultazione. | |
| Permette di definire la lunghezza di un campo quando quest'ultimo utilizza un tipo di dati generico la cui lunghezza non è fissata. E' il caso soprattutto dei tipi A e DCB. Per i blob, come per i clob, occorre indicare la lunghezza che sarà quella massima di memorizzazione. La codifica è la seguente:
| |
| Definisce il numero di menu locale associato al campo definito sulla riga. Quando un campo è di tipo menu locale, viene memorizzato sotto forma di un valore numerico (da 1 a 255) corrispondente ad un range di un'intestazione nella tabella chiamataMenù locali, salvata nella tabella dei messaggiAPLSTD. In inserimento o in visualizzazione, si vede, secondo le scelte fatte sull'interfaccia utente:
L'interesse di questo tipo di inserimento è che la lista delle scelte è presentata nella lingua di connessione dell'utente. Ogni numero di menu locale caratterizza la lista delle intestazioni possibili. Per esempio, il menu locale 1 corrisponde alla sceltaNo / Sì in questo ordine. In questo caso particolare, l'interfaccia utente può anche essere la casella da contrassegnare. | |
| Sono possibili tre scelte in questo campo:
| |
| Questo campo può essere alimentato solo se il campo è numerico. Se è uguale a Sì, verrà visualizzato un insieme di valore per i diversi livelli di rottura indotti dai criteri di raggruppamento. | |
| I dati provenienti dalla consultazione possono essere ordinati a seconda di uno o più campi, vale a dire presentati in ordine crescente (per un ordinamento ascendente) o descrescente (per un ordinamento discendente) dei valori del campo. L'ordinamento è l'ordine numerico per i campi numerici, cronologico per le date e l'ordine di codifica utilizzato per i caratteri nei campi alfanumerici (sui codici alfabetici, è l'ordine lessicografico). Se sono richiesti molteplici criteri di ordinamento, l'ordinamento si effettuerà prioritariamente sul campo che appare come primo nel riquadro poi, a parità di valore, sul secondo criterio e così via. | |
| Questo campo permette di realizzare un livello di rottura. Se si alimenta questo campo con Si, potrà essere fatto un raggruppamento dei campi successivi per mezzo della rottura sul campo corrente e gli eventuali valori totalizzati saranno visualizzati a livello del raggruppamento. Questo campo può essere inserito solo se si è definito un ordinamento sulla riga corrente (Ascendenteo Discendente a scelta). Per esempio, se si definisce un'elenco di utenti ordinati per profilo, una rottura per profilo permetterà di raggruppare su una sola riga tutti gli utenti collegati ad un profilo, e di far apparire dei dati totalizzati collegati al raggruppamento (per esempio il loro numero se si ha un campo uguale a 1 che viene sommato). | |
| Corrisponde al livello di dettaglio desiderato per la visualizzazione dell'informazione. Il livello 1 significa che l'informazione è visualizzata al livello 1 di aggregazione (il più elevato) ed a tutti i livelli successivi, il livello 2 significa che l'informazione non sarà visualizzata al livello 1, ma al livello 2 e a tutti i livelli più dettagliati, ecc. Il livello più elevato corrisponde al dettaglio più preciso della consultazione, che è quello visualizzato di default quando si entra nella consultazione. Questo livello viene assegnato di default a 1 sulla prima riga e incrementato ogni volta che viene richiesta una rottura (Gruppo=si) sul campo precedente. Può essere modificato se si vuole visualizzare un importo ad un livello di aggregazione diverso. Per esempio, quando si ordinano e si raggruppano le informazioni su un codice come il codice utente, e quando si desidera visualizzare il nome dell'utente nella colonna successiva, è evidente che questo nome debba essere visualizzato allo stesso livello del codice a lui corrispondente e non solo su dei livelli più dettagliati. | |
|   | |
| Questo campo può essere inserito solo se il modo di rappresentazione scelto in testata non è Carattere. Permette di specificare il modo in cui verrà attuata la rappresentazione grafica. Può assumere i seguenti valori:
| |
| Questo campo può essere inserito solo se:
Permette di gestire le combinazioni dei grafici se il tipo di grafico definito nei parametri grafici permette di far apparire più serie indipendenti di tipo differente (è ignorato negli altri casi). In pratica, le combinazioni utilizzabili sono le seguenti:
La regola à allora la seguente:
| |
| Si inserisce qui il valore del parametro, sotto forma di una espressione calcolata che fa intervenire delle variabili collegate al contesto di lancio. Se il parametro è un intervallo di inizio/fine, si inseriscono due valori. | |
|   |
Chiudi
Presentazione
Questo folder, il cui inserimento è opzionale, permette di precisare:
Le condizioni di join sono utili nei due casi seguenti:
Chiudi
Campi
I seguenti campi sono presenti in questo folder :
Blocco numero 1
|
| Il numero massimo di righe corrisponde ad un parametro della consultazione (maxrows) che arresta la ricerca quando è stato trovato nel database un numero di righe che soddisfa le condizioni (queste righe saranno in seguito ordinate, ma il database non garantisce che le N righe trovate siano le N prime nell'ordinamento). Si tratta di un'ottimizzazione che permette di limitare il carico per il database. |
| Permette di fissare le prime x colonne di un riquadro in caso di paginazione orizzontale. |
| Permette di fermare la ricerca dopo questo tempo (espresso in secondi). Ciò permette di evitare di aspettare troppo a lungo soprattutto nel caso di una parametrizzazione di una nuova consultazione. Nota: Contrariamente al n° massimo di righe, tale informazione non viene trasmessa al database. Quindi il tempo massimo può essere superato se la durata della consultazione è troppo lunga. |
| Definisce il codice di una stampa che verrà associata alla funzione File/Elenco a partire dalla consultazione delle richieste. Se non si indica nulla, si utilizza la stampa ALISTE che proporrà un'impaginazione di default. E' possibile duplicare tale stampa generica (basterà soltanto modificare l'impaginazione) per creare delle stampe che si adattano perfettamente alla consultazione così definita. Il codice stampa qui inserito può essere associato ad un insieme di codici stampa attraverso la funzione dedicata. |
Riquadro Selezioni
| Permette di inserire dei criteri di selezione che sono delle espressioni logiche relative ai campi delle tabelle, che possono includere delle costanti, delle funzioni, degli operatori. Saranno estratte solo le righe delle tabelle che soddisfano queste condizioni. L'editor di formule permette di semplificare la scrittura di queste espressioni. |
Riquadro Collegam.
| Occorre qui definire i collegamenti che non sono definiti nel dizionario o che devono essere considerati in modo prioritario. La struttura del legame deve corrispondere alla chiave del file da collegare. Ci devono essere tanti campi separati da dei punti e virgola quante parti di chiave. Infatti, la sintassi corretta è: [F:ABV1]CHIAVE=espressione1 ; espressione2..., dove:
Dal punto di vista del database, questa sintassi definisce delle join esterne a sinistra. S noti che una seconda sintassi permette di definire delle joint di sistema (cosa che può essere interessante sul piano delle performance). Si aggiunge una tilde (~) alla sintassi che diventa: [F:ABV1]CHIAVE~=espressione1 ; espressione2... |
Chiudi
Presentazione
Questo folder permette di definire le condizioni di accesso alla consultazione e ai dati estratti.
Chiudi
Campi
I seguenti campi sono presenti in questo folder :
| Permette di gestire la visualizzazione di una consultazione, con i comportamenti seguenti:
|
| Permette di disporre di un criterio di classificazione delle consultazioni. |
| Questo codice di accesso permette di limitare l'accesso alla scheda corrente ad alcuni utenti. Il diritto di esecuzione controlla il fatto che si possa eseguire la consultazione in oggetto (facendo il refresh della consultazione o modificandone i parametri e rieseguendola). |
| Permette di determinare dei filtri di abilitazione applicati alla costituzione della consultazione. Questi filtri sono quelli per sito, per ruolo e per codice accesso. I principi del filtro sono i seguenti:
Ciò suppone che la tabella sulla quale vengono eseguiti i filtri faccia parte della query generata. Si intende la tabella in cui si trovano i campi codice accesso, codice sito e all'occorrenza il campo definito dai ruoli accordati all'utente. Non si tratta obbligatoriamente della tabella principale della consultazione: ad esempio, una consultazione su righe di documenti può essere filtrata rispetto a delle autorizzazioni fornite su campi di tabelle collegate alla testata del documento. Attenzione, questi filtri sono applicati esclusivamente durante il calcolo della query e mai durante la consultazione. Ciò può essere sensibile se la consultazione è condivisa, per esempio, o se i filtri per sito di un utente sono cambiati tra il momento in cui la consultazione è stata calcolata ed il momento in cui la si visualizza. |
| Permette di collegare le autorizzazioni d'accesso alla consultazione alle autorizzazioni fornite sulla funzione. Il principio è il seguente: si verifica, all'entrata nella consultazione, che la funzione collegata sia autorizzata all'utente (per almeno un sito, se l'abilitazione su questa funzione si effettua per sito). Ma questa verifica si effettua esclusivamente nel caso in cui tale consultazione non sia condivisa. Infatti, se la consultazione è condivisa, si parte dal principio che le abilitazioni della persona che ha calcolato la consultazione si applicano e si propagano a tutti quelli che hanno il diritto di visualizzarla. Quindi occorre definire in modo molto accurato le abilitazioni alle richieste condivise, quando queste riguardano dei dati sensibili. Ciò viene effettuato mediante il codice di accesso situato in questo folder. |
Chiudi
Presentazione
Questo folder può essere compilato solo se è possibile rappresentare graficamente la consultazione. Si definisce allora il modo in cui vengono rappresentati i dati sul grafico.
Chiudi
Campi
I seguenti campi sono presenti in questo folder :
Grafico
| Questo campo è utile dal momento in cui si ha più di un valore numerico nel riquadro in grado di essere presentato in forma grafica. Può assumere due valori:
|
| Quando nel grafico vengono rappresentate più serie (a condizione che la rappresentazione di tutte le serie sia identica e non sia di tipo settore), è possibile specificare come si combinano le serie di valori alla visualizzazione, inserendo il seguente valore:
|
| Definisce la rappresentazione grafica utilizzata per i dati da presentare (tra le scelte Barre, Linee, Aree, Settori). Una immagine visualizzata in funzione della scelta fatta illustra il tipo di rappresentazione ottenuto. Se si presenta una sola serie di valori, la rappresentazione grafica di default è stabilita da questo parametro. Se si presentano più serie di valori, è possibile miscelare i modi di rappresentazione (una serie in forma di barre, un'altra in forma di linee, ad esempio). In questo caso, ogni serie di valori viene rappresentata in funzione del campo Rappresentazionesituato nel riquadro dei campi:
All'utilizzo, se la rappresentazione delle serie è omogenea (a maggior ragione se vi è una sola serie nel grafico), si dispone di un selettore dei grafici per passare in un'altra modalità di rappresentazione. |
Blocco numero 3
| Immagine esplicativa delle informazioni inserite in precedenza. |
Blocco numero 2
Blocco numero 4
Chiudi
I seguenti campi sono presenti sulla finestra aperta da questo bottone : Blocco numero 1
Blocco numero 2
Chiudi Questo bottone permette di copiare la definizione della scheda da o verso un altro dossier. |
Permette il lancio della consultazione corrente. L'esecuzione viene attivata aggiornando una tabella temporanea e si concatena sulla funzione di visualizzazione delle consultazioni, che permette di visualizzare il dettaglio dei movimenti, ma anche di aggregare successivamente sui vari livelli di rottura definiti. |
Questa funzione permette di specificare quale logica di percorso delle tabelle verrà utilizzata tenendo conto delle tabelle inserite e dei legami impliciti del dizionario. Si vede apparire, in un box di informazioni, il nome della tabella principale e l'elenco dei legami utilizzati per accedere alle altre tabelle definite nella consultazione.
Oltre ai messaggi generici, i seguenti messaggi d'errore possono apparire al momento dell'inserimento :
Non vi sono righe nel riquadro delle consultazioni
Sono stati superati dei limiti nella complessità della consultazione. Si limita infatti il numero di criteri di ordinamento ad 8 ed il numero di intervalli e totali a 10.
In un'espressione è stata inserita una formula di calcolo che include campi di una tabella non in linea.
La tabella o il campo non esistono nel dizionario
Un campo è indicizzato con un valore che supera la dimensione del campo
Non è stato possibile stabilire i legami tra tabelle a partire dal dizionario. O è presente un errore nella consultazione, oppure occorrerà specificare in modo dettagliato i legami nel folder Avanzato.