Importazione Dati, Importazione Tabelle Dati, Importazione Tabelle Nella maggior parte delle @schede che formano l'applicazione, è presente la funzione di importazione dati. Accessibile dalla @barra, ci consente di importare nella scheda corrente dati provenienti da sorgenti esterne e codificati in vari formati. Importazione Dati Nella maggior parte delle @schede che formano l'applicazione, è presente la funzione di importazione dati. Accessibile dalla @barra, ci consente di importare nella scheda corrente dati provenienti da sorgenti esterne, codificati in vari formati.

L'importazione è una procedura che viene eseguita passando attraverso una sequenza di fasi che ci guidano nel processo. Al completamento dell'operazione, è possibile salvare tutti i parametri di configurazione inseriti in un formato in modo possa essere utilizzato in future importazioni in cui i dati sono organizzati nello stesso formato, evitandoci di dover inserire di nuovo tutti i parametri.

Fase 1: Definizione del file dati da importare
Nel nostro esempio andremo a caricare i dati contenuti in un file CSV all'interno della @scheda Articoli. La prima operazione richiesta è quella di specificare il file dati da caricare per mezzo del pulsante di caricamento. Finestra di Importazione n.1 I file dati che è possibile caricare devono ricadere in uno dei seguenti formati supportati:


Fase 2: Definizione del formato dei dati da importare
Specificato quale file dati importare, si passa alla fase in cui ci viene richiesto di indicare come sono disposti i dati all'interno del file.
Finestra di Importazione n.2 Analizziamo i parametri richiesti per procedere: Visibile solo se sono stati creati uno o più formati di importazione compatibili con il tipo di file dati specificato.

Questo campo ci permette di compilare automaticamente tutti i restanti campi della finestra corrente e di quelle successive semplicemente selezionando un formato di importazione che è stato creato e salvato alla fine di una precedente procedura di importazione dati andata a buon fine.

I formati di importazione sono molto utili nel caso si debbano eseguire importazioni sistematiche e ripetute nel tempo dal momento che ci consentono di configurare la procedura di importazione un'unica volta per uno specifico set di dati da importate. Visibile solo per i formati CSV, TXT e XML. Indica come sono codificati i caratteri all'interno del file. Questa informazione è necessaria per interpretare correttamente le informazioni contenute. Si consiglia di variare questa specifica solo se nella finestra di anteprima che verrà illustrata a seguire ci accorgiamo che taluni caratteri come ad esempio le lettere accentate non sono stati interpretati correttamente. Un carattere che non è stato correttamente interpretato in genere viene mostrato con uno strano simbolo. Visibile solo per i formati XLS e XLSX. Consente di specificare il numero del foglio Excel da considerare per l'importazione dei dati. Consente di specificare il primo oggetto contenuto nel file da caricare. Visibile solo per i formati CSV e TXT. Consente di specificare il carattere utilizzato per separare i dati all'interno degli oggetti. Visibile solo per i formati CSV e TXT. Consente di specificare il carattere utilizzato per delimitare i dati di tipo testo all'interno degli oggetti. Sempre visibile ad eccezione del formato XML. Indica se la prima riga del file va interpretata come la lista dei nomi dei dati contenuti nel file. Visibile solo per il formato XML. Indica il nome utilizzato per i nodi XML contenenti i dati degli oggetti.


Fase 3: Generazione dei dati da importare
Completata la fase di configurazione iniziale, i dati vengono inviati al server e interpretati in base a quanto specificato nei parametri. Al termine della lettura e in caso di assenza di errori rilevati, l'applicazione restituisce un'anteprima dei dati letti, a cui, per ogni riga viene associato un numero (n) visibile nella prima colonna della tabella.


Anteprima Dati nel File In questa fase l'utente è in grado di ispezionare i dati inviati ed effettuare ricerche o filtraggi in modo da controllare la correttezza delle informazioni prima di eseguire l'importazione. Se i dati non risultano corretti o si verificano delle anomalie, possiamo tornare alla fase precedente utilizzando il pulsante Indietro, modificare nuovamente uno o più parametri di configurazione e rieseguire la procedura.
Finestra di Importazione n.3


Opzioni di Importazione Una volta constatato che i dati acquisiti sono corretti dobbiamo istruire la procedura di importazione affinchè sappia quali di questi oggetti devono essere importati e le regole di corrispondenza tra i campi degli oggetti inviati e i campi richiesti. Queste operazioni vengono specificate nella sezione Opzioni di Importazione come mostra l'immagine a seguire.
Finestra di Importazione n.4 Alaizziamo i dati riportati nella finestra: Ci consente di definire quali oggetti contenuti nell'anteprima vogliamo importare. E' possibile indicare se vogliamo processare tutti gli oggetti della tabella, solo quelli visibili che sono sopravvissuti ad un filtro attivo oppure se vogliamo importare solo gli oggetti marcati. Definisce l'azione da eseguire durante l'importazione. Possiamo specificare se vogliamo importare solo i nuovi oggetti, ovvero quegli oggetti il cui codice non esiste, se vogliamo aggiornare solo gli oggetti esistenti ovvero quegli oggetti il cui codice è già presente nella base dati oppure se fare entrambe le cose. Indica se vogliamo continuare l'importazione anche a fronte di errori dovuti alla fallita importazione di uno o più oggetti o se intendiamo fermare la procedura al primo errore. Questa tabella ci consente di stabilire le regole di associazione tra i campi dati individuati nel file e i campi richiesti per l'importazione degli oggetti.

La prima colonna della tabella elenca tutti i campi definiti per gli oggetti della @scheda che è possibile associare.

La seconda colonna ci permette di selezionare un campo tra quelli individuati nel file dati per comporre l'associazione. Se in fase di configurazione non abbiamo spuntato il parametro Intestazione Colonne i nomi delle colonne saranno generati automaticamente.

Oltre ai campi rilevati nel file sorgente è possibile trovare nella seconda colonna anche il campo numeratore (n) aggiunto automaticamente dal sistema. Questo campo risulta molto utile nei casi in cui vogliamo importare dati sprovvisti di un identificatore (ID), nei casi in cui gli identificatori non siano compatibili con quelli richiesti perchè ad esempio non sono numerici oppure nei casi in cui la numerazione potrebbe essere già presente in parte o completamente nella scheda. Dal momento che il sistema richiede obbligatoriamente un ID per ogni oggetto trovato nel file sorgente, risulta utile mappare il campo ID al numeratore e opzionalmente applicare uno o più modificatori per ottenere gli ID voluti.

Se ad esempio stiamo importando nuovi dati sprovvisti di un identificatore in una scheda contenente 100 oggetti, possiamo mappare il campo ID al numeratore. Questa operazione non sarebbe però sufficiente in quanto gli oggetti della scheda avrebbero probabilmente identificatori che vanno da 1 a 100. La procedura di importazione rivelerebbe che i dati che vogliamo importare non sono nuovi ma li considererebbe come un aggiornamento di quelli che sono già nella scheda. Per ovviare a questo problema potremmo applicare un modificatore che aggiunga 100 all' ID prodotto. In questo modo il sistema non troverà oggetti con gli identificatori prodotti e procederà considerando i dati come nuovi elmenti.

La terza colonna indica il valore predefinito da utilizzare nel caso non sia stato specificato un valore per il dato di un oggetto contenuto nel file.

La quarta colonna indica per ogni campo quali associazioni sono obbligatorie e quali sono opzionali.


Trasformazione dei Dati Sebbene in alcuni casi sia possibile potersi trovare nella condizioni di importare dati la cui rappresentazione coincide perfettamente con quella richiesta, è molto più probabile trovarsi nel caso in cui i dati di origine si discostano dai valori e/o dalle rappresentazioni richieste dall'applicazione. In quest'ultimo caso, la procedura di importazione ci consente di stabilire delle regole di trasformazione da applicare ai dati originali per ottenere i dati richiesti. Finestra di Importazione n.5 Nella sezione Trasformazione Dati è possibile aggiungere una o più regole di trasformazione che verranno eseguite in ordine sui dati specificati. Ogni regola ci permette di specificare il dato originale su cui agire e un modificatore che ne definisce la trasformazione.

E' possibile definire più modificatori per uno stesso campo dati per poter ottenere trasformazioni più complesse che verranno eseguite sempre in base all'ordine di comparizione in tabella. Per uno stesso dato, trasformazioni successive andranno ad operare sempre sulle modifiche eseguite dalla trasformazione precedente.

Come mostrato dall'immagine precedente di esempio, abbiamo definito un modificatore che va ad inserire un prefisso nel campo di origine _arcod. Questo campo, essendo mappato al campo codice articolo, ci sonsentirà di modificare i codici articolo originali prima di essere importati.

Tra i vari modificatori che è possibile selezionare ne esistono 2 in cui, data la loro natura più complessa, risulta necessario approfondirne alcuni dettagli.

Il primo modificatore che andremo a descrivere risulta etichettato con il testo "Sostituisci Espressione" e riceve 2 parametri. Il primo parametro atteso è una espressione regolare ovvero una espressione in cui alcuni caratteri hanno un significato particolare e il cui scopo è quello di individuare parti di testo nel dato in cui viene applicata mentre il secondo parametro atteso identifica il testo da sostituire al posto del testo individuato dall'espressione. Per i dettagli sul linguaggio delle espressioni regolari si rimanda agli articoli informativi presenti nel WEB.

Il secondo modificatore risulta etichettato con il testo "Trasforma in Data" e consente di trasformare un dato testuale in una data. Questo modificatore si aspetta un unico parametro contenente il formato della data come presente nel file. Una data può essere infatti espressa in tanti modi diversi come ad esempio 11/11/1980, 11 Nov 1980, 11-11-80. Specificando il giusto formato andremo a indicare alla procedura di importazione come interpretare correttamente il dato. Nella definizione di un formato data possono essere utilizzati caratteri speciali e lettere alfabetiche che vengono interpretate nel seguente modo:
  • y: Anno
  • Y: Settimana dell'anno
  • M: Mese nell'anno
  • w: Settimana nell'anno
  • W: Settimana nel mese
  • D: Giorno nell'anno
  • d: Giorno nel mese
  • E: Nome del giorno (esempio: lunedì)
  • u: Numero del giorno da 1 a 7
  • a: Tipo di ora (esempio: Am/Pm)
  • H: Ora (0-23)
  • k: Ora (1-24)
  • K: Ora (0-11)
  • h: Ora (1-12)
  • m: Minuti
  • s: Secondi
  • S: Millisecondi


Alcuni esempi di formati: dd/MM/yyyy, dd-MM-yyyy.


Fase 4: Importazione dei Dati
Completata l'operazione di mappatura dei campi di origine con i campi di destinazione, è possibile procedere con la procedura di importazione. Durante l'esecuzione dell'operazione di avanzamento viene generato e aggiornato costantemente un rapporto scaricabile che notifica lo stato corrente delle operazioni.

Finestra di Importazione n.6

Nel caso in cui non si siano verificati errori bloccanti, viene generata una nuova tabella di anteprima contenente i dati dopo l'esecuzione dell'importazione. Anche questa volta l'utente può verificare la correttezza dei dati effettuando controlli visivi, eseguendo ricerche o attivando filtri.

Finestra di Importazione n.7

Verificati i dati è possibile completare la procedura confermando l'importazione. Al termine dell'operazione viene aggiornato il rapporto di importazione e compare un pulsante di salvataggio utilizzabile in caso l'utente abbia necessità di creare un formato di importazione con i parametri di configurazione inseriti durante tutte le fasi precedenti.

Finestra di Importazione n.8 La finestra di salvataggio ci consente di specificare se vogliamo creare un nuovo formato di importazione o se aggiornare un formato di importazione esistente.