Sviluppo > Dizionario dati > Viste 

Questa funzione permette di creare e di modificare delle viste, descrivendone le caratteristiche nel dizionario dati del dossier. Sarà possibile creare delle viste su tabelle di differenti dossier.

La validazione di questa descrizione permette quindi di creare la vista nel database, o di modificarne le caratteristiche.

Una vista è successivamente utilizzabile soltanto in lettura. La programmazione di una vista è simile a quella di una tabella. Avrà la relativa classe [F]. Le seguenti istruzioni sono disponibili per le viste:

  • (local) File, close (local) File, Filter, For ... Next, Read, Columns, Link

Una vista è accessibile da Crystal Report e dall'editor di formule.

Il ripristino o la validazione di una tabella cancella le viste basate su tale tabella. Durante il ripristino, le viste e i triggers sono rigenerati automaticamente dal supervisore. Viceversa, a seguito della validazione forzata di una tabella, si deve lanciare la validazione delle viste del dossier corrente e degli altri dossier che vertono su questa tabella.

Una vista permette per esempio:

  • di evitare di aprire esplicitamente una tabella di un altro dossier, per esempio, per i dossier storicizzati. Una vista è creata per ogni tabella non storicizzata; in questo modo, le funzioni di consultazione e le stampe funzionano indifferentemente sul dossier principale o sul dossier storicizzato.
  • di sviluppare delle stampe che accedano a dei dati di più dossier
  • di accedere a delle funzionalità SQL fino ad ora non accessibili: union, group by, funzioni SQL

Prerequisiti

SEEREFERTTO Riferirsi alla documentazione di Implementazione

Gestione videata

La definizione di una vista si effettua tramite 3 folder: il folder di definizione della richiesta, il folder di definizione dei campi e il folder di definizione delle chiavi.

Testata

Campi

I seguenti campi sono presenti in questo folder :

Il codice della vista deve essere composto da 1 a 10 caratteri (lettere o cifre, ma deve iniziare obbligatoriamente con una lettera). E' un identificativo univoco per l'insieme delle viste del dizionario dei dati. Una vista non può avere lo stesso nome di una tabella del dizionario, poiché in validazione il supervisore genera i file *.srf e *.fde e le keyword sono vietate.

  • Abbreviazione (campo ABRVUE)

L'abbreviazione della vista deve essere composta da 1 a 3 caratteri (lettere o cifre, ma deve iniziare obbligatoriamente con una lettera). Questo identificativo può non essere univoco per l'insieme delle abbreviazioni delle viste del dizionario di dati. Le keyword riservate Adonix sono vietate.

  • Descrizione (campo INTITSAI)

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.

  • Attivo (campo ENAFLG)

 

Chiudi

 

Folder Richiesta

Presentazione

Questo folder permette di scrivere la query.

La query deve essere scritta come minimo nel linguaggio del database corrente del dossier. Per ogni vista standard rilasciata, viene rilasciato uno script per ogni database. E' alla validazione della vista che viene creato il file *.viw con lo script adeguato al database del dossier corrente; quest'ultimo viene creato nella directory FIL, sul server di dati.

Se si vogliono specificare nella query dei campi sottomessi ad un codice attività, o un nome dossier, si consiglia di utilizzare una formula. Infatti, è preferibile non inserire il dossier "nel codice" della query per permettere il funzionamento in un altro dossier, a fronte di una copia di tale vista.

Esempio, codice attività dimensionato da 1 a 3 per il campo LIEN, e formula sul dossier:

Select CLENUM1_0, CLENUM2_0, LIEN_0
%string$(find(func AFNC.ACTIV("ZZM"),2,3)<>0,", LIEN_1")%
%string$(find(func AFNC.ACTIV("ZZM"),3)<>0,", LIEN_2")%
From %nomap+"."%ZZMB

Per avere maggiori informazioni sulle regole di scrittura della query occorre andare sull'help del campo.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Caratteristiche

Il Codice Attività ed il Modulo permettono di sapere se la vista descritta nel dizionario deve essere creata effettivamente nel database del dossier. Lo è se le due condizioni sopra citate si verificano simultaneamente:

 il campo codice attività è vuoto, oppure il codice attività (definito nella vista corrispondente) è a tutti gli effetti attivato.

 il modulo al quale è collegata la vista è stato dichiarato attivo per il dossier.

Una vista protetta da un codice attività che inizi con X, Y, o Z, viene considerata come specifica e non sarà in nessun caso toccata da un cambio di versione (questi codici attività possono essere messi a livello delle righe).

  • Accesso non protetto (campo SECURE)

Questa casella da contrassegnare permette di limitare l'accesso alla tabella di dati al solo dossier proprietario della tabella ed ad alcuni dossier autorizzati. Questa nozione è identica per la vista. Una modifica di questo campo necessita di una rivalidazione della tabella per essere presa in considerazione nel database.

  • non protetto: tutti i dossier della soluzione potranno accedere alla tabella per leggere o scrivere dei dati di tale tabella. E' generalmente il caso:
    • delle tabelle di sistema,
    • delle tabelle dizionario,
    • di alcune tabelle supervisore,
  • protetto: l'accesso a questa tabella avviene in funzione dei diritti del dossier di chiamata. Un dossier può essere:
    • non abilitato,
    • abilitato in lettura,
    • abilitato in lettura scrtitura. E' il caso delle tabelle funzionali e della maggiorparte delle tabelle supervisore.

I dossier abilitati sono:

  • il dossier nel quale è definita la tabella (le tabelle di sistema sono nel dossier di riferimento della soluzione: nel caso di Sage X3, questo dossier si chiama X3),
  • i dossier parenti del dossier,
  • un dossier abilitato (tramite la funzione Gestione dei dossier, folder "Collegamenti", blocco "Dossier della soluzione").
  • i dossier di altre soluzioni hanno un accesso tramite legami (utilizzando la stessa funzione).

SEEINFOPoiché la politica di sicurezza per la tabella viene considerata come parametrizzazione, questa casella da contrassegnare non viene aggiornata tramite patch. Alla validazione della tabella, il fatto che questa casella sia contrassegnata provoca la creazione di un file di configurazione (con estensione .cfg) con il seguente codice:

$SECURITY
{  "LEVEL0" }
End

Se esistono altre direttive manuali nel file di configurazione, queste vengono ovviamente rispettate. Difatti è possibile aggiungere delle direttive aggiornando il blocco "File di configurazione"nel folder corrispondente della Gestione delle tabelle).

  • Modulo (campo MODULE)

Il Codice Attività ed il Modulo permettono di sapere se la vista descritta nel dizionario deve essere creata effettivamente nel database del dossier. Lo è se le due condizioni sopra citate si verificano simultaneamente:

 il campo codice attività è vuoto, oppure il codice attività (definito nella vista corrispondente) è a tutti gli effetti attivato.

 il modulo al quale è collegata la vista è stato dichiarato attivo per il dossier.

Una vista protetta da un codice attività che inizi con X, Y, o Z, viene considerata come specifica e non sarà in nessun caso toccata da un cambio di versione (questi codici attività possono essere messi a livello delle righe).

  • Gruppo di convalida (campo GRUCFM)

 

Riquadro Tabelle e viste utilizzate

  • Codice (campo OBCCOD)

 

 

Oracle

  • campo TEX1

 

Sql Server

  • campo TEX2

 

Chiudi

 

Folder Campi

Presentazione

Questo folder permette di definire l'insieme dei campi della vista in un riquadro. Deve esserci completa compatibilità tra la descrizione dei campi nella query e in questo folder (numero, ordine e tipo dei campi). Questo controllo viene effettuato alla validazione della vista. Questi campi possono esistere nel dizionario delle tabelle; non è tuttavia un obbligo.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Riquadro Campi

  • Campi (campo FLDVUE)

In questa colonna si definisce il nome del campo della vista così come sarà definito nel software (un campo di nome NOMECAMPO definito in una vista con abbreviazione ABB potrà essere letto con la sintassi [F:ABB]NOMECAMPO).

Per i campi specifici, il nome del campo deve cominciare con X_, Y_ o Z_.

Per un campo dimensionato (NOMECAMPO_0, NOMECAMPO_1, NOMECAMPO_2…), si definisce un solo campo NOMECAMPO.

Bisogna definire qui il tipo di campo. I tipi principali sono:

A: Alfanumerico
C: Intero corto
L: Intero lungo
DCB: Decimale
D: Data
M: Menù locale
MM : Menù locale con filtro
ACB : clob
ABB : blob

 Esistono altri tipi predefiniti. Generalmente si riferiscono ad una tabella allegata (valuta, sezione,...). Il tasto F12 permette di ottenerne l'elenco.

Qui non è possibile utilizzare i tipi di dati relativi ai testi tradotti: AX1, AX2, AX3.

  • Menù (campo NOLIB)

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:

  • sia una intestazione che può essere scelta nella lista scorrevole comunemente chiamatacombo box
  • sia una lista di bottoni di scelta.

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.

  • Lung (campo LNG)

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:

Lunghezza

Dimensione memoria

Caratteri massimi

 0

 1020

 510

 1

 2044

 1022

 2

 4092

 2046

 3

 8188

 4094

n

 1024*(2^n) - 4

 512*(2^n) - 2

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.

  • Dim (campo DIME)

Dimensione del campo nella vista. La dimensione può anche dipendere dal codice attività.

  • Descrizione (campo FLDINTSAI)

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.

  • Opzioni (campo OPTION)

Queste opzioni si traducono in caratteri che possono concatenarsi quando sono necessarie molteplici opzioni. È possibile scegliere queste opzioni grazie ad una finestra di selezione. Sarà presente una descrizione dettagliata di tutte le opzioni possibili.

Chiudi

 

Funzioni accessibili tramite click destro sul riquadro

Aggiungi

 

Chiudi

 

Folder Chiavi

Presentazione

Questo folder permette di definire l'insieme delle chiavi disponibili per un order by sulla vista. Attenzione, non esiste creazione di indice per la vista.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Riquadro Chiavi

  • N° (campo NUMLIG)

 

  • Codice chiave (campo CODCLE)

Questo campo corrisponde al nome sotto il quale è conosciuta la chiave nel comando Order By. Una norma è utilizzata in tutte le viste dell'applicazione: consiste nel chiamare le chiavi utilizzando l'abbreviazione della vista, seguita da 0 per la prima chiave, da 1 per la seconda, ecc... Per lo specfico, fare iniziare questo codice con una delle tre lettere: X,Y o Z.

  • Descrittore chiave (campo DESCLE)

Qui si indica l'elenco dei campi componenti l'indice, separato da un '+' se vi sono più campi.
Un campo ordinato in ordine discendente è preceduto dal segno "-".
Il primo campo che compone un indice è senza segno ed è per forza ascendente.

  • Omonimi (campo KEYDUP)

Questo campo viene inizializzato di default a Si. Non è possibile metterlo a No. In questo caso, un messaggio di avviso ricorda che non devono esserci chiavi doppie sull'indice di questa vista. Ve ne fossero, non si otterrebbe un errore ma un semplice ciclo For non rileverebbe gli omonimi.

Si consiglia quindi di lasciare a Si, salvo casi molto particolari in cui l'opzione No permette di supportare le istruzioni "Read Next/Prev" su delle viste.

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.

File di configurazione

  • campo FICCFG

In questo blocco è possibile inserire un testo che descrive la configurazione tecnica della vista nel database. Questo testo viene registrato in un file "nome della vista.cfg" nella directory FIL dell'applicazione. Questo file è utilizzato dall'istruzione "valfil". Si consulti l’allegato tecnico dedicato per ulteriori informazioni.

Chiudi

 

Bottoni specifici

Crea o aggiorna la vista nel database a partire dal dizionario, utilizzando l'istruzione "create view". Un controllo sintattico della query viene effettuato in relazione al database del dossier.

I file creati nella directory FIL sono:

  • *.srf: contiene l'elenco dei campi. Un flag "#V" è posizionato sulla riga 3 per distinguere le viste dalle tabelle.
  • *.fde: generato da valfil -n
  • *.viw: contiene la descrizione della query con lo script corrispondente al database del dossier.
  • *.cfg: file di configurazione, generato se il clob associato è indicato o se l'accesso è protetto.

I seguenti campi sono presenti sulla finestra aperta da questo bottone :

Blocco numero 1

  • campo OBJET

 

  • campo CLES

 

Blocco numero 2

  • Dal dossier (campo DOSORG)

Questo campo permette di definire il dossier a partire dal quale sarà copiata la scheda. Le sintassi possibili sono descritte nell'allegato dedicato.

  • Tutti i dossiers (campo TOUDOS)

Questa opzione permette di copiare la scheda verso tutti i dossier definiti nel dizionario (tabella ADOSSIER della soluzione corrente).

  • Al dossier (campo DOSDES)

Questo campo permette di definire il dossier nel quale sarà copiata la scheda. Le sintassi possibili sono descritte nell'allegato dedicato.

Chiudi

Permette di copiare la struttura della vista su un altro dossier. Attenzione, solo la descrizione della vista nel dizionario viene copiata: la vista non viene creata nel dossier di destinazione (occorrerà validare questa descrizione affinché la vista venga creata).

Barra di menù

Opzione / Database

Ciò permette di visualizzare il file *.srf corrispondente alla tabella corrente nell'applicazione corrente.
Tale opzione è paricolarmente interessante quando si è su un serveur sul quale non si hanno i diritti sulla directory FIL.

Opzione / Origine

Ciò permette di visualizzare il file *.viw contenente il sorgente della vista nell'applicazione corrente.
Tale opzione è particolarmente interessante quando si è su un serveur sul quale non si hanno i diritti sulla directory FIL.

Messaggi di errore

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

Esiste già una tabella dallo stesso nome

Non è possibile creare una vista il cui nome è già esistente per una tabella. In effetti, occorre che ci sia unicità di ogni tabella e vista poiché il sistema crea un file *.srf e *.fde.

Dimensione del file troppo grande

Dimensione limitata sul file di configurazione.

Tipo di dato non gestito

non è possibile creare una vista con un campo di tipo AXX (testo traducibile)

Lunghezza errata

la lunghezza è errata in funzione del tipo interno del campo.

  • descrizione: lunghezza deve essere <= 30
  • intero corto: lunghezza deve essere <= 4
  • intero lungo: lunghezza deve essere <= 8
  • decimale: parte intera + parte decimale <= 32
  • alfanumerico: lunghezza deve essere <= 250
  • blob, clob: lunghezza deve essere <= 20


Opzione errata

Si è tentato di inserire un'opzione che non esiste.

Opzione incompatibile con il formato x (Tipo di dato y)

Quando si specifica un formato su un tipo di dato alfanumerico, non bisogna utilizzare le opzioni A e #.

Abbreviazione già esistente ...

messaggio di avvertimento, quando si tenta di inserire un'abbreviazione su una vista che è già esistente per un'altra vista o una tabella. E' vivamente consigliato avere abbreviazioni univoche.

Osservazioni

Viene creata una vista nel database del dossier in cui è installata al momento della sua validazione. Tutte le funzioni X3 utilizzate in una tale vista (con la sintassi %formula%) vengono interpretate durante la validazione della vista e trasmesse al database come delle costanti.

Alla creazione di un dossier o al momento della sua validazione, l'operazione che validerà le viste è attivata dal dossier X3 che è diverso da quello in cui è installata la vista. Bisogna prendere quindi le seguenti precauzioni:

  • nelle formule, evitare l'utilizzo delle funzioni (sintassi func) per calcolare delle costanti che verranno poi inserite alla creazione della vista, a meno che non si sia assolutamenti certi che la funzione in questione sia disponibile in tutti i dossier (compreso il dossier X3) e che restituisca lo stesso valore.
  • privilegiare la dichiarazione di tabelle o viste senza precisare in quale dossier si trovano (in particolare nessun nomap o adxmother la cui definizione può variare in funzione del dossier.

SEEWARNING Se queste precauzioni non possono essere evitate, bisogna assolutamente pensare a rivalidare manualmente le viste che pongono problemi nel dossier stesso dopo le operazioni di validazione di dossier.

Tabelle utilizzate

SEEREFERTTO Riferirsi alla documentazione di Implementazione