File Writer

Navigation:  Il Package: lavorazione dei dati > Arricchimento del Package >

File Writer

Previous pageReturn to chapter overviewNext page

Il File Writer FileWriterDatalink_16 è 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 QueryBuilder16);

graficamente, mediante il SQL Visual Editor (accessibile disattivando il Visual Mode con il pulsante SQLEditorMode16).

 

info

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.

 

info

Nei campi DefalutPath e FileName è possibile far uso di variabili di sistema, quali <%Desktop>.

 

ex

APPROFONDIMENTO: OUTPUT MULTI-FILE e MULTI-RECORD

Un output di tipo multi-file, consiste nel generare due o più file di testo in cui esportare altrettanti sottoinsiemi del dataset in input.

Per realizzare questo tipo di output mediante un File Writer è necessario corredare il dataset in input con una particolare colonna. Essa contiene, per ciascun record, il percorso specifico di uno dei file di destinazione. Tale colonna viene richiamata dal campo FileNameColumns del tab Settings per la creazione dei diversi file in output.

 

Un output di tipo multi-record, consiste nel generare un file di testo in cui i dati esportati risultino raggruppati secondo una struttura di tipo parent-child.

Per realizzare questo tipo di output mediante un File Writer è necessario corredare il dataset in input con una particolare colonna. Essa categorizza, mediante una stringa o un numero, ogni record in input, distinguendo tra valori principali e valori di dettaglio. Tale colonna viene richiamata dal campo RecordTypeColumns del tab Settings per la creazione di un file di testo in output, organizzato secondo una struttura di tipo parent-childs.

 

Per maggiori dettagli ed esempi su output multi-file e multi record, si rimanda alla sezione dedicata del sito .

 

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.

 

info

In caso di compilazione manuale del tab Record Fields, è possibile visualizzare tutte le colonne in input disponibili premendo il tasto Auto Fill Columns AutoFillColumns_16.

 

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.

 

info

Il campo Format String, analogamente ai campi DefaultDateFormat, DefaultIntegerFormat e DefaultNumericFormat, dispone della maschera Edit FormatString per definire il formato in output.

 

warning

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 FieldSelector16 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 Export_16, esporta il file allegato in una qualsiasi destinazione del file system;

View DocumentMoreDetails_16, apre il file allegato in visualizzazione.