Il File Writer è un oggetto del Package che consente di esportare uno o più dataset in un unico file di testo. L'output di ogni File Writer è un dataset di IrionEDM, che espone alcuni attributi specifici del file di destinazione. Tale file può essere salvato in una cartella del client corrente oppure essere incluso nel dataset di output in formato testo e/o in qualità di allegato.
Gli aspetti definitori di un File Writer sono impostabili nei tab:
✓ InputQuery, consente di specificare una query con cui acquisire i dati da esportare;
✓ Settings, espone impostazioni specifiche per la definizione del file di destinazione;
✓ File Structure, consente di selezionare quali colonne dei dataset in input includere nel file di destinazione e la loro formattazione;
✓ OutputColumns, espone la Column List del dataset in output;
✓ DynamicProperties, espone il riquadro per l'impostazione delle Dynamic properites.
La Input Query con cui acquisire i dati da esportare può essere specificata:
✓ manualmente, nell'editor di testo del tab InputQuery oppure mediante il Query Builder (accessibile con il pulsante Builder );
✓ graficamente, mediante il SQL Visual Editor (accessibile disattivando il Visual Mode con il pulsante ).
Nel tab InputQuery è possibile specificare una qualsiasi istruzione DQL (Data Query Language). |
Il tab Settings consente di impostare specifiche proprietà per la creazione del file di destinazione. Queste proprietà e la loro descrizione sono riportate nella seguente tabella:
Proprietà |
Descrizione |
---|---|
DefaultDateFormat |
Specifica il formato stringa di campi di tipo Date e DateTime. |
DefaultInteger Format |
Specifica il formato stringa di campi di tipo Int, BigInt e SmallInt. |
DefaultNumeric Format |
Specifica il formato stringa di campi di tipo Float, Double e Money. |
DefaultPath |
Percorso della cartella dove salvare il file di destinazione. In caso la cartella non esista, essa viene creata in automatico dal sistema. |
EncodingName |
Modalità di codifica del file di destinazione (e.g. ASCII, Unicode o EBCDIC). |
ExecuteAtLeastOnce |
Consente l'eventuale creazione di un file vuoto, in caso la Input Query non restituisca record. |
FieldDelimiter |
Carattere da utilizzare come delimitatore di campo. |
FileExistsBehaviour |
Specifica il comportamento da seguire in caso il file di destinazione sia già esistente: ✓sovrascrivere (Override), ✓accodare i dati (Append), ✓restituire errore (Error). |
FileName |
Percorso relativo o assoluto del file di destinazione. In caso di percorso assoluto, esso sovrascrive il percorso specificato nel campo DefaultPath. |
FileNameColumn |
Consente di leggere il percorso relativo o assoluto del file di destinazione da una delle colonne in input. Questa proprietà è fondamentale per la creazioni di output di tipo multi-file. |
HeaderRow |
Specifica la presenza delle intestazioni di colonna. |
RecordTypeColumn |
Consente di specificare una colonna in input, contenente valori con cui categorizzare i record in due o più categorie. Questa proprietà è fondamentale per la creazioni di output di tipo multi-record. |
RowDelimiter |
Identifica il delimitatore di record da utilizzare nel file di destinazione. |
TextQualifier |
Carattere da utilizzare come delimitatore di testo. |
WriteOutputToFile |
Specifica se creare fisicamente il file di destinazione nel percorso specificato dai campi DefaultPath e FileName. In caso di valore False il file non viene creato nella directory specificata, ma può essere incluso in un campo del dataset in output come testo o allegato. |
I campi DefaultDateFormat, DefaultIntegerFormat e DefaultNumericFormat dispongono di una maschera dedicata, per la definizione del relativo formato stringa. La maschera Edit FormatString espone le seguenti opzioni di formato:
Opzione |
Descrizione |
---|---|
Align |
Specifica l'allineamento del testo (destra o sinistra). |
Culture |
Definisce quali regional settings utilizzare per la formattazione di numeri e date. In caso questo campo sia vuoto, vengono utilizzati i regional settings del client corrente. |
DecimalSeparator |
Consente di mostrare o nascondere l'eventuale separatore delle cifre decimali. |
ErrorString |
Stringa da utilizzare in caso il valore in input abbia lunghezza maggiore di quella specificata nel campo Length. |
FillChar |
Caratteri da aggiungere alla stringa in output in caso la sua lunghezza sia inferiore a quella specificata nel campo Length. |
FormatString |
Consente di impostare uno specifico formato di output per numeri e date, utilizzando la sintassi per formati personalizzati di Excel. |
HideString |
Valore in input da considerare come valore NULL. |
Length |
Lunghezza massima di una stringa (valore maggiore o uguale a zero). Il valore -1 equivale a non impostare una massima lunghezza. |
NullString |
Stringa da sostituire in caso di valori mancati oppure NULL. |
Trim |
Consente di eliminare eventuali spazi superflui dalla stringa in output. |
Il campo Extended Format String della maschera Edit FormatString espone in modo sintetico l'elenco delle opzioni impostate.
Nei campi DefalutPath e FileName è possibile far uso di variabili di sistema, quali <%Desktop>. |
Il tab RecordFields espone l'elenco dei campi in input da includere nel file di output. Questo elenco può essere compilato secondo tre diverse modalità:
✓ All Columns, seleziona in automatico tutte le colonne in input;
✓ Selected Columns, consente di popolare manualmente la lista di colonne specificandone un'eventuale formattazione personalizzata;
✓ All Columns except, consente di definire manualmente una lista di colonne da escludere.
In caso di compilazione manuale del tab Record Fields, è possibile visualizzare tutte le colonne in input disponibili premendo il tasto Auto Fill Columns |
In modalità Selected Columns, è possibile specificare alcuni specifici attributi dei campi in input da esportare, quali:
✓ Column Name, nome del campo in input;
✓ Output Column Name, nome del campo corrente in output;
✓ Format String, specifico formato di output che sovrascrive l'eventuale Default Format specificato nel tab Settings;
✓ Records Type List, stringa o numero che categorizza il campo corrente per la generazione di output di tipo multi-record.
Il campo Format String, analogamente ai campi DefaultDateFormat, DefaultIntegerFormat e DefaultNumericFormat, dispone della maschera Edit FormatString per definire il formato in output. |
I valori del campo Records Type List devono essere coerenti con il campo RecordTypeColumn del tab Settings. |
Il tab Output Columns espone la Column List del dataset in output. A differenza di altri oggetti del Package, questa Column List presenta sempre gli stessi campi, descritti nella seguente tabella.
Campo |
Descrizione |
---|---|
FullName |
Percorso assoluto del file di destinazione. |
BaseName |
Nome del file di testo di destinazione. |
Extension |
Estensione del file di destinazione. |
Path |
Percorso assoluto della cartella contenente il file in output. |
Dimension |
Dimensioni in byte del file di destinazione. |
NumRecord |
Numero di record contenuti nel file in output |
BinaryContent * |
Campo di tipo VarBinary, contenente il file di output, in qualità di allegato. |
TextContent * |
Campo di tipo NVarChar, contenente in formato testo il contenuto del file in output. |
Per scegliere quali campi esporre in output, è disponibile una maschera dedicata, attivabile mediante il pulsante Choose della toolbar del tab Output Columns. Tale maschera espone tutti i campi descritti nella precedente tabella, che possono essere selezionati attivando il flag corrispondente.
I campi contraddistinti da asterisco (*) non sono visibili a priori e devono essere selezionati appositamente.
In particolare, il campo BinaryContent espone, in output, due specifici pulsanti:
✓ Export , esporta il file allegato in una qualsiasi destinazione del file system;
✓ View , apre il file allegato in visualizzazione.