Sviluppo > Dizionario dati > Tabelle > Tabelle 

Questa funzione permette di creare e di modificare le tabelle del database, descrivendo le sue caratteristiche nel dizionario di dati del dossier. La validazione di questa descrizione permette allora di creare la tabella nel database o di modificarne le caratteristiche.

La gestione delle tabelle permette di definire l'elenco potenziale delle tabelle del database. In effetti, i codici attività permettono di inibire alcune tabelle e / o alcuni indici.

Oltre alla struttura della tabella stessa, in questo dizionario si definiscono inoltre:

  • dei legami verso altre tabelle (legami di integrità referenziale). Questi legami sono utilizzati dagli strumenti di annullamento, dall'import-export e da altri strumenti di questo tipo.
  • alcune informazioni proposte di default nelle videate create a partire da queste tabelle (parole chiave dell'help, informazioni di formato…)

Una tabella viene identificata dal suo nome (alfanumerico maiuscolo che inizia con una lettera ) e possiede un'abbreviazione. La creazione di nuove tabelle, durante la fase di personalizzazione, presuppone che il nome inizi con le lettere X,Y o Z. Il nome e l'abbreviazione devono essere univoci in tutto il database (logicamente non possono esistere due tabelle con stesso nome, né con abbreviazioni identiche: quest'ultima limitazione non è valida per le videate).

Una tabella può essere poi gestita con l'aiuto di un oggetto, a condizione di creare le videate necessarie.

Attenzione!
Non è possibile aggiungere campi o particolarità specifiche o verticali sulle tabelle di tipo "sistema" o "dizionario". Lo specifico non è permanente in caso di validazione di dossier o di migrazione.

Prerequisiti

SEEREFERTTO Riferirsi alla documentazione di Implementazione

Gestione videata

La definizione di una tabella si effettua su 3 folder: un folder generale, il folder di definizione dei campi e quello di definizione degli indici.

Testata

Presentazione

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Il codice della tabella deve essere composta da 1 a 10 caratteri (lettere o cifre ma iniziano obbligatoriamente con una lettera). E' un identificatore unica per l'insieme delle tabelle del dizionario dei dati. Le parole riservate di diapason X sono vietate.

  • Abbreviazione (campo ABRFIC)

L'abbreviazione della tabella deve essere composta da 1 a 3 caratteri (lettere o cifre, ma deve iniziare obbligatoriamente con una lettera). E' un identificativo univoco per l'insieme delle abbreviazioni delle tabelle del dizionario dei dati. Le keyword riservate Adonix sono vietate.

  • Descrizione (campo ZINTITFIC)

 

Chiudi

 

Folder Generale

Presentazione

Vi si trovano le informazioni generali relative alla tabella ed alla sua gestione.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Caratteristiche

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

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

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

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

Inoltre, esiste una dipendenza tra i moduli:

  • Supervisore e Modulo base: devono come minimo essere installati. Successivamente possono essere installati i moduli Stock, Sviluppo, Contabilità Generale.
  • Stock: è possibile quindi installare i moduli Vendite, Acquisti, Produzione.
  • Vendite:è possibile quindi installare i moduli Supporto cliente CRM, Azione Commerciale.
  • Contabilità generale: è possibile quindi installare i moduli cespiti, terzi.
  • Modulo (campo MODULE)

 

Gestione tabella

  • Tipo database (campo TYPDBA)

Tipo di database per il quale deve essere generata la tabella. Il tipo di database "Dossier" permette di indicare al programma di gestione di dossier di generare la tabella nel tipo di database scelto nella scheda dossier per tutti i file del dossier. In alcuni casi eccezionali (in particolare se si tratta di una tabella esterna), sarà necessario inserire un altro parametro.

  • Compatibile versione precedente (campo FLG130)

Questa casella da contrassegnare va posizionata se si vuole accedere ad una tabella di un dossier 140 da un dossier 130. In questo caso, la struttura di questa tabella deve rispettare i limiti della versione 130 (nessun clob o blob...). Nota: il contrario è possibile senza precisare nulla nel dizionario (accedere ad una tabella 130 da un dossier 140).

  • N° di schede (campo NBENREG)

Il campo numero di schede permette di definire un dimensionamento della tabella nel database. Questo campo è utilizzato per dimensionare la tabella da creare o da modificare. Questo valore viene indicato alla creazione del dossier per ogni tabella creata a partire dal risultato della valorizzazione della formula di dimensionamento. Questa formula utilizza a sua volta delle variabili i cui valori vengono inseriti nei parametri dossier.

Durante la rivalidazione di un dossier, il numero di schede viene ricalcolato, ma il risultato del calcolo viene riscritto in questo campo soltanto se è maggiore al valore trovato nella tabella; è possibile, modificando questo valore, aumentare la dimensione della tabella e questo valore verrà ripreso in caso di rivalidazione di dossier. Se invece lo si diminuisce, sarà considerato immediatamente se si valida manualmente la tabella con l'aiuto del bottone corrispondente, ma appena viene effettuata una rivalidazione di dossier, il valore calcolato, che è più grande, verrà ripreso al posto del valore inserito. Questo comportamento è stato definito per ragioni di sicurezza: per ragioni di prestazioni e di facilità di utilizzo, è meglio sovradimensionare una tabella anziché sottodimensionarla. Non è necessario proteggere la modifica di tale campo con un codice attività.

  • Generazione testi traducibili (campo GENTRA)

Questa casella da contrassegnare permette di definire il metodo utilizzato, in Crystal Report, per i testi tradotti di questa tabella.

  • contrassegnata: metodo della versione 140. generazione dei testi nei file sequenziali textrafra, textraeng, ecc utilizzati nella stampa Crystal dalla funzione X3TranslatedText.
  • non contrassegnata : metodo creato in V5, nessuna generazione di file. La stampa Crystal che verte su questa tabella utilizza una vista.

Si tratta di un campo di parametrizzazione che non ha bisogno di un codice attività per essere protetto. Deve essere coerente con la tecnica utilizzata nella stampa crystal che si riferisce alla tabella. Per i nuovi testi tradotti, si consiglia di contrassegnare questa casella, per usare il metodo delle viste ed anche in modo da non sovraccaricare i file sequenziali.   

  • Reset (campo ZERO)

Questa casella da contrassegnare è utilizzata dallo strumento di reset dei movimenti, che permette di resettare i movimenti di un dossier (cosa che permette di custodire i dati " fissi" - articoli, terzi, conti, distinte base … - provenienti da un inserimento cancellando i movimenti – documenti, fatture, movimenti di stock, OP… - legati ad esempio ad un test di avvio in effettivo). Quando questa casella è contrassegnata, lo strumento di reset cancella tutte le righe della tabella. Si ritrova tale flag su ogni campo (quando il campo deve essere resettato senza che la tabella venga svuotata).

  • 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).

Gestione dossier

  • Tipo di tabella (campo TYPFIC)

Questo campo permette di classificare le tabelle seguendo una tipologia utilizzata per la gestione dei dossier. E' possibile assumere i seguenti valori:

 Applicativo: corrisponde al caso di default (tabelle standard di un dossier). Queste tabelle possono essere presenti o meno a seconda della gestione dei codici attività e dei moduli.

 Supervisore: la tabella fa allora parte dei dati del supervisore gestiti in ogni dossier fuori dal dizionario (utenti, traccia delle operazioni, allegati…). È sempre presente.

 Sistema X3: la tabella fa parte dei dati generali non collegati ad un determinato dossier (tabelle legate alla gestione dei dossier, al server batch…). Queste tabelle sono presenti solo nel dossier supervisore, sapendo che questo dossier può assumere dei nomi diversi a seconda del prodotto installato: per esempio X3, PAYE, GX. Sono quindi comuni a tutti i dossier. Non sono di conseguenza interessate dai tipi e dalle opzioni di copia in quanto non vengono mai copiate. L'aggiunta del campo specifico è vietata su questo tipo di tabella.

 Dizionario: la tabella, che è sempre presente, fa parte del dizionario di ogni dossier (stampe, azioni, videate, tipi di dati…). La gestione di dossier tiene conto in modo particolare delle tabelle del dizionario al momento della gestione degli aggiornamenti (procedura di fusionedi dizionario).  Ancora una volta, i campi Tipo di copia e Opzione di copia non riguardano questo tipo di tabella. L'aggiunta di un campo specifico è vietata su questo tipo di tabella.

 Interno: non viene consegnata alcuna tabella di questo tipo e questo tipo, che è utilizzato solamente nel processo di sviluppo del software, non deve essere utilizzato.

  • Tipo di copia (campo CRE)

Determina se la creazione della tabella implica un trasferimento di dati tra il dossier di riferimento ed il dossier da creare al momento della creazione del dossier. Questo parametro può assume i seguenti valori:

 Nessuna copiala tabella viene creata vergine di tutti i dati.

 Copia automatica: i dati della tabella sono riportati a partire dai dati esistenti nel dossier di copia (il dossier di riferimento di default).

 Copia condizionale: i dati della tabella sono copiati per gruppi logici. Un gruppo viene creato da una scelta del menù locale numero 26, inserita nel campo Opzione di copia. Si collega ad ogni gruppo un elenco di tabelle. Tra i gruppi si trovano Utenti e profili, Tabelle diverse, Contatori, Parametri, Piano contabile generale… Alla creazione della tabella, si risponde o No a fronte di ogni scelta per sapere le tabelle che devono essere effettivamente copiate.

  • Opzione di copia (campo OPT)

L'opzione di copia si collega al tipo di copia nel caso di una copia condizionale.
Si distinguono quindi più sotto-insiemi di tabelle i cui dati, che formano un'entità coerente, possono essere copiati a partire dal dossier di riferimento durante l'inizializzazione del dossier generato se l'utente lo desidera.

  • Copia legislazione (campo FLGLEG)

Questa casella da contrassegnare permette di definire il metodo di copia nella validazione del dizionario:

  • contrassegnata: Significa che verrà applicato un filtro sul campo legislazione di questa tabella o di quella "master".
  • non contrassegnata : Non verrà applicato alcun filtro.

Alla validazione del dossier, verranno recuperati solo i dati corrispondenti alle legislazioni gestite o vuote dal dossier validato.

Tale opzione verrà anche utilizzata nella funzione di copia legislazione.

  • Tipo di consegna (campo TYPDLV)

Utilizzo interno per l'industrializzazione di una versione. Questo parametro può assumere i seguenti valori:

  • Non consegnato: queste tabella non vengono generate nel dossier X3.
  • Nessun dato: consegna della tabella senza dati.
  • Dati di industrializzazione: consegna della tabella con i dati del dossier d'industrializzazione (parametrizzazione: stili, modelli di import, ecc...).
  • Dati comuni: consegna della tabella dal dossier X3REFFRA.
  • Dati per paese: consegna della tabella dal dossier X3REFxxx ( xxx: lingua scelta all'installazione presso il cliente).

Colonne particolari

  • Descrizione (campo INTIT)

Questi campi permettono di indicare il nome di due campi della tabella. Permettono di identificare i campi descrizione presenti nella tabella. Questa informazione viene utilizzata per la visualizzazione automatica della descrizione di un record di cui si conosce la chiave (gestione delle videate, annullamenti, cambi di codice, ...)

  • Descr. breve (campo INTITC)

 

  • Simbolo (campo SYMBOL)

 

  • Formato (campo COLFMT)

 

  • Lunghezza (campo COLLNG)

 

  • Decimali (campo COLDEC)

 

Chiudi

 

Folder Campi

Presentazione

Questo folder permette di definire l'insieme dei campi della tabella in un riquadro.

In ogni tabella è possibile utilizzare i campi il cui nome è normalizzato e che sono automaticamente aggiornati se esistono per la gestione oggetto. I campi sono i seguenti:

 CREDAT e UPDDAT sono rispettivamente le date di creazione e dell'ultimo aggiornamento.

 CRETIM e UPDTIM sono rispettivamente le ore di creazione e di aggiornamento.

 CREUSR e UPDUSR sono i codici degli utenti che hanno rispettivamente realizzato la creazione della registrazione e l'ultimo aggiornamento.

 EXPNUM è un numero sequenziale che permette di datare le registrazioni contestualmente al modulo di import/export (ciò permette di non esportare ciò che è stato aggiornato dall'ultimo export).

Un sesto campo può inoltre essere inserito in ogni tabella. Questo campo si chiama ENAFLG e corrisponde ad un flag attivo/inattivo. Se la tabella in questione è gestita da un oggetto, e se un tipo di dati è associato a tale campo, verranno effettuati i controlli sui campi di questo tipo:

la finestra di selezione standard dell'oggetto richiamata dal tasto di selezione filtrerà automaticamente le registrazioni non attive.

un messaggio di errore impedirà l'inserimento diretto tramite il codice di una chiave non attiva

Questo ovviamente non è valido nella gestione dell'oggetto stesso (altrimenti, non si potrebbero riattivare le registrazioni rese temporaneamente inattive).

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Riquadro

  • N° (campo NUMLI)

 

  • Colonna (campo CODZONE)

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

Per i campi creati in specifico, il nome del campo deve iniziare con X_, Y_ o Z_.

Nel database, ogni campo corrisponde ad uno o più campi (a seconda che il campo sia o meno dimensionato: i campi corrispondenti si chiamano NOMECAMPO_0, NOMECAMPO_1, NOMECAMPO_2…)

Per inserire e visualizzare il campo corrispondente in una videata, gli si darà lo stesso nome nel dizionario delle videate e si utilizzerà simultaneamente la videata e la tabella nella gestione oggetti.

Viene qui definito il tipo del campo che caratterizza il relativo formato di inserimento (numerico, carattere qualsiasi, data...) e dei controlli di coerenza (riferimento ad una tabella ad esempio).

I principali tipi generici esistenti sono:

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

Esistono molti altri tipi predefiniti. Si riferiscono spesso ad una tabella allegata (valuta, paese,...). Un dizionario dedicato permette di descriverli ed è possibile selezionarli tramite il tasto che permette di ottenerne l'elenco.

  • 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 LONG)

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 tabella. La dimensione può inoltre dipendere dal codice attività.

  • Descriz. normale (campo INTITCOURT)

Descrizione del campo su tre lunghezze: la descrizione abbreviata limitata a 12 caratteri, la descrizione normale a 20 caratteri e la descrizione lunga a 35 caratteri.

Queste descrizioni sono dei testi traducibili, memorizzate in una tabella dedicata, la tabella ATEXTE. Ogni volta che si inserisce un nuovo testo, dopo la creazione di un campo, appare una finestra il cui titolo è Testo. Si ha quindi la scelta tra le 3 opzioni seguenti:

         considerare che il testo inserito è un nuovo testo ed integrarlo nel database dei testi attribuendogli un nuovo numero. Questo numero è obbligatoriamente maggiore di 50.000 (è un testo specifico).

         ricercare un testo simile tra quelli inseriti allo scopo di riutilizzarlo. Si apre allora una finestra di selezione.

         annullare l'inserimento del testo.

Quando si passa in modifica di un testo già inserito precedentemente, si ha un ulteriore scelta che viene visualizzata nella finestra, il cui titolo è Testo nnn (nnn è il proprio numero). Infatti è possibile modificare il testo, il cui numero viene fornito, per renderlo conforme al testo appena inserito (tale modifica verrà effettuata ovunque il testo corrispondente viene utilizzato, non appena le corrispondenti videate saranno state rivalidate).

Inotre, è possibile richiamare, con tasto destro del mouse, la funzione Abbreviazione che permette di selezionare una delle abbreviazioni normalizzate definite quando una descrizione è troppo lunga (l'utilizzo delle abbreviazioni deve essere evitato fintanto possibile per ragioni di leggibilità delle videate).

  • Descr. breve (campo INTITABREG)

Descrizione del campo su tre lunghezze: la descrizione abbreviata limitata a 12 caratteri, la descrizione normale a 20 caratteri e la descrizione lunga a 35 caratteri.

Queste descrizioni sono dei testi traducibili, memorizzate in una tabella dedicata, la tabella ATEXTE. Ogni volta che si inserisce un nuovo testo, dopo la creazione di un campo, appare una finestra il cui titolo è Testo. Si ha quindi la scelta tra le 3 opzioni seguenti:

         considerare che il testo inserito è un nuovo testo ed integrarlo nel database dei testi attribuendogli un nuovo numero. Questo numero è obbligatoriamente maggiore di 50.000 (è un testo specifico).

         ricercare un testo simile tra quelli inseriti allo scopo di riutilizzarlo. Si apre allora una finestra di selezione.

         annullare l'inserimento del testo.

Quando si passa in modifica di un testo già inserito precedentemente, si ha un ulteriore scelta che viene visualizzata nella finestra, il cui titolo è Testo nnn (nnn è il proprio numero). Infatti è possibile modificare il testo, il cui numero viene fornito, per renderlo conforme al testo appena inserito (tale modifica verrà effettuata ovunque il testo corrispondente viene utilizzato, non appena le corrispondenti videate saranno state rivalidate).

Inotre, è possibile richiamare, con tasto destro del mouse, la funzione Abbreviazione che permette di selezionare una delle abbreviazioni normalizzate definite quando una descrizione è troppo lunga (l'utilizzo delle abbreviazioni deve essere evitato fintanto possibile per ragioni di leggibilità delle videate).

  • Descrizione lunga (campo INTITLONG)

Descrizione del campo su tre lunghezze: la descrizione abbreviata limitata a 12 caratteri, la descrizione normale a 20 caratteri e la descrizione lunga a 35 caratteri.

Queste descrizioni sono dei testi traducibili, memorizzate in una tabella dedicata, la tabella ATEXTE. Ogni volta che si inserisce un nuovo testo, dopo la creazione di un campo, appare una finestra il cui titolo è Testo. Si ha quindi la scelta tra le 3 opzioni seguenti:

         considerare che il testo inserito è un nuovo testo ed integrarlo nel database dei testi attribuendogli un nuovo numero. Questo numero è obbligatoriamente maggiore di 50.000 (è un testo specifico).

         ricercare un testo simile tra quelli inseriti allo scopo di riutilizzarlo. Si apre allora una finestra di selezione.

         annullare l'inserimento del testo.

Quando si passa in modifica di un testo già inserito precedentemente, si ha un ulteriore scelta che viene visualizzata nella finestra, il cui titolo è Testo nnn (nnn è il proprio numero). Infatti è possibile modificare il testo, il cui numero viene fornito, per renderlo conforme al testo appena inserito (tale modifica verrà effettuata ovunque il testo corrispondente viene utilizzato, non appena le corrispondenti videate saranno state rivalidate).

Inotre, è possibile richiamare, con tasto destro del mouse, la funzione Abbreviazione che permette di selezionare una delle abbreviazioni normalizzate definite quando una descrizione è troppo lunga (l'utilizzo delle abbreviazioni deve essere evitato fintanto possibile per ragioni di leggibilità delle videate).

  • 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.

Codice di una tabella legata a quella che si sta modificando per mezzo del campo corrente. Per i tipi di dati che fanno riferimento ad un oggetto, questo campo viene alimentato automaticamente.

 

  • Espress. legame (campo EXPLIEN)

Questo campo viene inserito soltanto se è stata indicata una tabella collegata. Se questo campo non viene indicato, il collegamento viene effettuato direttamente a partire dal campo della riga corrente (ciò presuppone che la chiave primaria della tabella collegata abbia un solo componente). Nel caso in cui la chiave primaria possegga più componenti, l'espressione di legame deve essere indicata nel formato: comp1;comp2;comp;... dove comp1,comp2, comp3,... sono i diversi componenti della chiave.
Ecco qualche esempio di possibili espressioni:

 se un campo MONCHAMP viene controllato in una delle tabelle diverse (per esempio la tabella numero 43), si metterà nella colonna Tabella collegata il valore ATABDIV e nella colonna Espressione di legame il valore 43 ;MONCHAMP

 se viene indicizzato un campo MONCHAMP, l'espressione può utilizzare la variabile indice che varia da 0 a dim(MONCHAMP)-1. Esempi classici: famiglie statistiche multiple (articoli, fornitori, clienti…) la cui struttura di chiave è il numero della famiglia seguita dal codice statistico. L'espressione di chiave si scrive quindi nel formato indice+1 ;MONCHAMP(indice).

  • Se il componente di chiave è una variabile globale, occorrerà indicare la classe [V] davanti al nome di tale variabile.
  • per ognorare un elemento di chiave nel controllo d'integrità del database, utilizzare per questo elemento la variabile [V]GSUPCLE.
  • Copia legislazione (campo CHPLEG)

Questo campo è legato alla casella da contrassegnare Copia legislazione.

Infatti, permette di indicare il campo contenente la legislazione, oppure il campo che permette il link con la tabella principale contenente la legislazione.

  • Cancellazione (campo ANNUL)

In fase di 'annullamento di una riga nella tabella collegata (tabella di origine), può essere effettuata un'azione particolare sulla tabella che si sta per modificare o creare (tabella di destinazione). Quest'azione è definire tramite il codice sottostante:

  • Bloccante: Annullamento del record della tabella di origine impossibile se esiste un legame con la tabella in corso di definizione.
  • Cancellazione: Cancellazione dei record della tabella in corso verificando il legame con la tabella di origine.
  • RESET: Reset del campo della tabella in corso verificando il legame con la tabella origine.
  • Altro: Non viene effettuata alcuna elaborazione.
  • Verifica (campo VERIF)

Questo campo permette di indicare se lo strumento di verifica di coerenza deve verificare il legame.

  • Obbligatoria (campo OBLIG)

Il campo Obbligatorio permette di definire se il campo può essere vuoto o se deve contenere assolutamente un valore non nullo. Per campo vuoto, si intende la stringa di lunghezza vuota, un valore numerico nullo, un valore di menù locale uguale a zero (nessuna scelta effettuata) o la data vuota [0/0/0].

Quando il campo è una chiave di una tabella, se il controllo di annullamento viene posizionato al valore RESET, il legame non può essere obbligatorio (poiché l'annullamento può cancellare il valore del campo chiave): il campo Obbligatorio viene allora posizionato automaticamente a No.

  • Azz (campo ZERO)

 

Chiudi

 

Folder Indice

Presentazione

Questo folder permette di definire i vari indici definiti sulla tabella.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Riquadro Indice

  • N° (campo NUMLIG)

 

  • Codice indice (campo CODIND)

Questo campo corrisponde al nome sotto il quale l'indice è conosciuto nel database. Una norma viene utilizzata in tutte le tabelle dell'applicazione: consiste nel chiamare le chiavi utilizzando l'abbreviazione della tabella, seguita da 0 per la chiave principale, da 1 per la seconda, ecc... Per lo specifico, fare iniziare questo codice con una delle tre lettere: X,Y o Z.

  • Descrizione indice (campo DESCRIPT)

Si indica qui l'elenco dei campi che compongono l'indice, separato da un '+' se esistono più campi (ad esempio, nella tabella dei siti FACILITY si trova una chiave la cui definizione è LEGCPY+FCY).

Un campo ordinato in modo decrescente è preceduto dal segno ''-'' (attenzione, se utilizzato con la lista sinistra).

il primo campo che compone un indice è senza segno ed è forzatamente crescente.

  • Omonimi (campo HOMONYM)

Questa colonna permette di definire se la chiave ammette o meno degli omonimi.

  • [Index cluster par défaut] (campo DEFORDIND)
  • Indice cluster specifico (campo ORDIND)

Se non si indica questo campo, l'indice sarà sempre presente. Se questo campo corrisponde a codice attività non attivo, l'indice non sarà generato.

E' possibile aggiungere una chiave specifica con un codice attività che inizia con X, Y o Z.

Blocco numero 2

  • Indice cluster disabilitato (campo ORDINDSTA)

File di configurazione

  • campo FICCFG

In questo blocco è possibile inserire un testo che descrive la configurazione tecnica di tabella nel database. Questo testo viene registrato nel file ''nome della tabella.cfg'' nella directory FIL dell'applicazione. Questo file è utilizzato dall'istruzione ''valfil''. Si consulterànell'allegato tecnico dedicato per più informazioni.

Chiudi

 

Folder Audit

Presentazione

Questo folder permette di creare la parametrizzazione che permette di tracciare in seguito, con dei triggers di database generati automaticamente, gli inserimenti, cancellazioni e modifiche fatte su una tabella, memorizzando se necessario i valori prima e dopo su dei campi particolari. La modifica di record è tracciata a condizione che sia verificata una delle condizioni sui campi.  Questa traccia viene memorizzata in due tabelle particolari (AUDITH e AUDITL). Può semplicemente essere consultata, oppure dare luogo a notifiche automatizzate tramite il Workflow.

Il principio è il seguente:

  • Non appena si contrassegna almeno un flag di audit (creazione, modifica, cancellazione), ogni operazione di questo tipo crea una riga nella tabella AUDITH, ciò indipendentemente del fatto che dei campi siano tracciati e che siano state effettuate delle modifiche che li coinvolgano.
  • A partire dal momento in cui dei campi vengono elencati nel riquadro dei campi, ogni modifica relativa al valore del campo e che rispetta la condizione fornita provocherà la creazione di una riga in AUDITL.

La tecnica dei « triggers » permette di tracciare le operazioni anche se effettuate con un programma diverso da adonix. Le informazioni di questo folder sono considerate dalla rivalidazione della tabella: i triggers vengono automaticamente creati e / o modificati in quel momento.

Il programma SUBTRIGGER contiene la descrizione dei triggers in funzione del database. Il programma SPETRIGGER è riservato allo specifico al fine di personalizzare eventualmente la loro descrizione.

Le informazioni di questo folder sono considerate come parametrizzazione. Lo standard non consegna nessuna parametrizzazione di audit. Non è necessario proteggere con codice attività X, Y o Z le modifiche effettuate in questo folder. 

L’audit è condizionato nella sua totalità dal codice attività AUDIT.

Non possono essere auditate:

  • le tabelle di audit stesse
  • i campi di tipo clob e blob
  • i campi il cui tipo di dati è AXX

I risultati dell'audit possono essere consultati tramite queste funzioni:

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Tipo di audit

  • Creazione (campo AUDCRE)

Queste tre caselle da contrassegnare permettono di definire le operazioni da tracciare sui record della tabella:

  • Creazione
  • Modifica
  • Cancellazione

Osservazione:
Attenzione agli oggetti "riquadro" e "combinato" che non effettuano aggiornamenti ma operano per eliminazione e creazione di record.

  • Modifica (campo AUDUPD)

 

  • Cancellazione (campo AUDDEL)

 

Funzioni

  • Workflow (campo AUDWRK)

permette una notifica automatizzata tramite workflow.

Un job batch di workflow attiva un evento workflow per ogni riga della tabella AUDITH il cui lo stato workflow è « da elaborare », poi aggiorna lo stato con « elaborato ».

  • Audit BI (campo AUDBI)

Permette la sincronizzazione incrementale delle tabelle dei fatti BI. E' presente solo se il codice attività ABI è attivo.

Aggiornamento grazie alla generazione del dataware in funzione del tipo di aggiornamento previsto per le tabelle dei fatti. Nelle regole di sincronizzazione BI, se una tabella dei fatti è aggiornata in sincronizzazione incrementale a partire da una tabella X3, questa tabella è flaggata "AUDIT BI"

  • Audit S-Data (campo AUDSDA)

Chiave avanzamento

  • Chiave (campo AUDCLE)

Si specifica una delle chiavi della tabella. E' preferibile che sia senza omonimi, per facilità di identificazione di record alla lettura dell'audit.

Se questo campo non viene indicato, viene presa in considerazione la chiave primaria.

  • Chiave S-Data (campo ASDCLE)

 

Riquadro Campi tracciati

  • Campo (campo FLD)

Elenco dei campi da sottoporre a audit. Non si alimenta questo riquadro, se si desidera tracciare solo le operazioni su record, senza tracciare il contenuto dei campi. 

Si avrà una traccia per un record modificato, se almeno una delle condizioni sui campi è verificata dai nuovi valori di campo; mentre in creazione o cancellazione di record si avrà sistematicamente una traccia.

  • Descrizione (campo FLDDES)

 

  • Operatore (campo FLDOPE)

 

  • Valore (campo FLDVAL)

 

Chiudi

 

Funzioni accessibili tramite click destro sul riquadro

Tutti i campi

Sul folder Audit, permette di alimentare il riquadro con tutti i campi della tabella.

 

Chiudi

 

Limiti da rispettare

Esistono dei limiti quando si crea una tabella. I limiti sono i seguenti:

riguardanti la chiave:
  • limitata a 15 indici al massimo.
  • limitata a 16 campi massimo per indice.
  • limitata a massimo 250 caratteri per indice.
riguardanti la registrazione:
  • Sotto SQL, il limite è di 8060 byte
    Sotto Oracle, non c'è limite; ma sotto Adonix, è stato fissato il limite a 32K
  • limitato a 255 campi per tabelle
  • limitato a 512 colonne ( campo1*dimensione1 + campo2*dimensione2 + ... + campoN*dimensioneN ) 
  • limitato sia ad un campo di tipo blob o clob qualunque sia la dimensione, sia a più campi, ma in questo caso la dimensione totale della tabella è limitata a 64 Kb.
numero di tabelle aperte:
  • limite a 255 tabelle.

Stampe

Di default, le seguenti stampe sono associate alla funzione :

 DICOX3 : Dizionario delle tabelle

 ATABLIST : Elenco delle tabelle

Ma ciò lo si può modificare tramite parametrizzazione.

Bottoni specifici

Questa funzione permette di creare o di aggiornare la tabella nel database a partire dal dizionario. Se la tabella non esiste, viene creata vergine . Se esiste, la struttura della tabella viene riaggiornata conformemente alla nuova descrizione data nel dizionario (i campi nuovi sono aggiunti, i campi eliminati sono rimossi, i campi la cui struttura o la dimensione cambiano sono copiati: naturalmente i records vengono conservati nella tabella). Si ha una possibilità di validazione forzata: è la rivalidazione completa dei dati e degli indici. Se questa opzione non è specificata e se la struttura della tabella non è cambiata, verranno ricreati solo gli indici.

E' possibile approfittare durante il passaggio per poter assegnare valori di default ai campi della tabella per i records già esistenti: ciò si fa utilizzando il bottone il cui funzionamento è spiegato qui di seguito.

Permette di creare un programma temporaneo, di nome WWINIXXX, dove XXX è l'abbreviazione della tabella, che sarà eseguito subito dopo la validazione della tabella (se esiste già), per permettere di assegnare dei valori di default ai campi dei records esistenti. Un programma di default viene proposto quando si utilizza questo bottone, ed è allora possibile aggiungervi delle istruzioni.

Tale pèrogramma è composto da 3 etichette che sono:

 $OUVRE che è eseguita alla partenza prima dell'inizio della transazione di aggiornamento, e che deve almeno permettere di aprire la tabella per cui è fatta la validazione (e altre eventualmente).

 $DEFAULT che è eseguita dopo l'inizio della transazione, ma prima della lettura del record (vi si posiziona al minimo una istruzione Default File affinchè la tabella di default sia la tabella da aggiornare)

 $INIZON, che è eseguita per ogni record, appena prima della riscrittura. E' quindi in questo sotto programma che si possono scrivere delle istruzioni di alimentazione dei campi della tabella.

Così, per esempio, se si aggiunge un campo numerico MAZONE nella tabella, campo di cui si vorrebbe avesse lo stesso valore di un campo AUTZONE già esistente nella tabella, aumentato di 1, si inserirebbe semplicemente la riga nel programma

           MAZONE = AUTZONE + 1

Attenzione!
Il funzionamento di questo programma è diverso da quello fatto nelle versioni adonix precedenti (per esempio quelli utilizzati dalle versioni 2 e 3 di ADONIX ENTREPRISE). Difatti, il programma viene eseguito quando è terminata la fase di modifica di struttura. Così, se si vuole rinominare un campo XXX chiamandolo YYY, bisogna realizzare questa operazione in 2 fasi, mantenendo innanzitutto i due campi nel database e realizzando l'assegnazione YYY=XXX nel programma di inizializzazione. È poi possibile cancellare il campo XXX. Se si provasse a realizzare questo in una sola fase, il programma non funzionerebbe e provocherebbe un errore (poichè il campo XXX è diventato inesistente). Si sarebbe perso così il suo valore.

________________________________________________________________________________________________________

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

Questo bottone permette di copiare la struttura della tabella verso un altro dossier. Attenzione, viene copiata solo la descrizione della tabella nel dizionario: la tabella non viene creata nel dossier di destinazione (bisognerà validare questa descrizione affinché la tabella venga creata). A maggior ragione, neanche i dati della tabella sono copiati...

Questa funzione permette di cancellare i dati di una tabella senza cancellare la tabella stessa. Viene richiesta una conferma, poichè questa operazione è irreversibile.

Si noti che questo bottone permette di cancellare la scheda del dizionario (è il comportamento normale di questo tipo di bottone) ma anche di eliminare fisicamente la tabella dal database (è l'equivalente di un Drop Table).

 Le due domande vengono poste successivamente (poichè si potrebbe avere l'intenzione di annullare solo la tabella senza cancellare i dati del dizionario).

Barra di menù

Opzioni / Informazioni

Questa funzione permette di visualizzare in un box informativo:

  • il numero di campi della tabella
  • lo spazio occupato (in byte) da una riga della tabella (quando tutti i campi alfanumerici sono alimentati)
  • il numero di righe attualmente presenti nella tabella.

Opzioni / Origine

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.

Opzioni / Manutenzione

Questa opzione di menù permette di passare direttamente in manutenzione sulla tabella.

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 :

Tabella senza campi

E' stata creata una tabella senza definire neanche un campo

Tabella senza chiave primaria

E' necessario almeno un indice su ogni tabella

Il campo descrizione non è referenziato


Il campo descrizione, inserito nel primo folder non esiste nell'elenco dei campi del secondo folder.

Abbreviazione già esistente

Deve esserci unicità delle abbreviazioni nel dossier. Questo messaggio appare se si cerca di creare una tabella con una abbreviazione utilizzata da un'altra tabella.

messaggio di avviso, quando si tenta di inserire una abbreviazione su una tabella che è già esistente per una vista. Viene effettivamente consigliato di avere delle abbreviazioni uniche.

Carattere vietato

Si è tentato di utilizzare il carattere '"' in una descrizione (questo carattere è vietato)

Il campo descrizione non è referenziato


Si è indicato in uno dei campi descrizione del folder generale un campo non definito nel folder dei campi.

Numero di menù locale errato

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

  • menù locale: 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

Lunghezza errata

Il campo lunghezza non contiene un valore corretto (troppo grande o nullo, per esempio)

Opzione errata

Si è tentato di inserire un'opzione che non esiste nella colonna Opzione associata ad un campo della tabella.

Espressione di legame errata

L'espressione di legame è sintatticamente errata

Indice già inserito

Si è provato a definire due volte lo stesso indice su una tabella

Campo inesistente

Si referenzia in un indice un campo che non esiste nell'elenco dei campi

Campo dimensionato

Si è cercato di utilizzare un campo dimensionato in un indice (ciò è vietato).

Numero di colonne troppo grande

E' limitato a 512 colonne tenendo conto della dimensione dei campi.

Numero di campi troppo grande

E' limitato a 255 colonne. Qui, le dimensioni non contano.

Lunghezza di riga troppo grande

Si tratta della dimensione del record.
Sotto SQL, il limite è di 8060 byte
Sotto Oracle, non c'è limite; ma sotto Adonix, è stato fissato il limite a 32K.

Chiave troppo lunga

La dimensione di un indice non può superare 256 caratteri.

Troppi componenti di chiave

E' limitato a 16 campi per chiave.

Non ci sono testi traducibili in questa tabella

Si cerca di contrassegnare la casella "Generazione testo traducibile" ma la tabella principale gestita dall'oggetto non contiene campi di tipo AXX, AX1, AX2 o AX3.

Attenzione, questa modifica necessita di una modifica nelle stampe Crystal legate a questa tabella

Messaggio di avviso. La modifica della casella da contrassegnare "Generazione testo traducibile" determina il metodo scelto per la stampa dei testi tradotti nelle stampe Crystal report che utilizzano questa tabella. Modificando questa casella, si specifica che si cambia il metodo ed è obbligatorio modificare le stampe associate a tale tabella. Si consiglia quindi di non modificare questo campo.

Altri errori potenzialmente verificabili

Al momento della rivalidazione della tabella (con lo strumento valfil) possono capitare altri errori. Questi errori vengono visualizzati sotto forma di file di traccia. Tra i possibili errori, si troveranno i seguenti errori:

  • Errore di scrittura (manca spazio su disco)
  • Errore oracle / Errore SQL SERVER (la descrizione dell'errore segue per esteso)

Tabelle utilizzate

SEEREFERTTO Riferirsi alla documentazione di Implementazione