I Parameters sono oggetti del Package che consentono di parametrizzare l'esecuzione di altri oggetti, quali Data Link e Data Engine. Per esempio, possono essere utilizzati per condizionare il risultato dell'istruzione SQL di un Query Engine, filtrando ad esempio il dataset restituito in output.
L'output di un Parameter, come di altri oggetti del Package, è una tabella.
In quanto tabella, ogni Parameter può eventualmente articolarsi su più campi (multi-fields parameter). |
La tabella in output assume valori di default personalizzabili, che possono essere modificati dall'utente run-time per condizionare l'esecuzione di altri oggetti. In particolare l'esecuzione Run di un oggetto, che referenzia un Parameter, viene momentaneamente sospesa fino alla valorizzazione del parametro stesso. In questi casi l'utente può sia accettare il valore di default o digitare un valore specifico. Infine, l'utente può far ripartire l'esecuzione mediante il tasto Refresh , presente nel tab Book (run) che si attiva con l'esecuzione dell'oggetto corrente.
Quando un oggetto, che referenzia un Parameter, viene eseguito in modalità anteprima (pulsante Run Preview |
Gli aspetti definitori di un Parameter possono essere impostati nei seguenti tab:
✓General, in cui indicare il numero minimo e massimo di record in output, mediante i campi Min Rows e Max Rows;
✓ Query, in cui specificare le istruzioni T-SQL con cui inizializzare il Parameter (i.e. i valori di default);
✓ Columns, che espone l'elenco delle colonne attese in output, la cosiddetta Column List;
✓ Dynamic Properties, per la valorizzazione dinamica delle property dell'oggetto.
La query con cui inizializzare il Parameter può essere specificata:
✓ manualmente, nell'editor di testo del tab Query oppure mediante il Builder (accessibile con il pulsante Builder );
✓ graficamente, mediante il SQL Editor (accessibile disattivando il SQL Editor con il pulsante ).
I Parameters possono essere richiamati da altri oggetti, per parametrizzarne l'esecuzione, in modo:
✓ diretto, ad esempio come Iterator in un Database Link;
✓ indiretto, quando sono utilizzati in qualità di entity all'interno di istruzioni T-SQL.
ESEMPIO: UTILIZZO INDIRETTO DI UN PARAMETER Supponiamo di avere a disposizione la tabella Orders, caratterizzata dai campi OrderID e CustomerName, e di voler visualizzare tutti gli ordini di un solo cliente, scelto dall'utente. Per ottenere tale risultato è possibile utilizzare un Query Engine che referenzia un Parameter, nel seguente modo: ✓Creare un oggetto di tipo Parameters, con una colonna chiamata SelectCustomer e rinominarlo CustParam ✓Inizializzare tale oggetto mediante la seguente istruzione SQL SELECT SelectCustomer = CONVERT(varchar(10),'') ✓Creare un Query Engine che effettui una inner join tra la tabella Orders ed il parametro CustParam, mediante la query SELECT o.* FROM Orders o INNER JOIN CustParam p ON o.CustomerName = p.SelectCustomer ✓Eseguire il Query Engine (tasto F5) A questo punto sull'interfaccia utente, compare una griglia dove digitare il valore desiderato del parametro. Infine per ottenere la tabella Orders filtrata è sufficiente premere il tasto Refresh |
Inoltre, i Parameters sono utilizzabili nell'ambito di alcuni Commands di un Book. In particolare è possibile parametrizzare l'esecuzione di uno o più oggetti, lanciati da un Book, mediante i Commands Run Entity e Run Chapter. Per maggiori dettagli su questo argomento rimandiamo al capitolo I Commands.
Gli oggetti di tipo Parameters dispongono di ulteriori proprietà di visualizzazione non esposte direttamente nella corrispondente UI. Per configurarle è possibile utilizzare il visualizzatore della Property Grid (tasto F4).
Le principali properties avanzate di un Parameter sono:
✓ Missing Column Behavior, determina il comportamento in caso di colonne mancanti (Restituire errore o valorizzare a NULL);
✓ Unexpected Columns, determina il comportamento in caso di colonne inattese (ignorare, leggere o restituire errore);
✓ Null On Data Error, restituisce NULL in caso di errore su un DataType atteso;
✓ Layout, consente di modificare, mediante un'apposita maschera, l'aspetto della griglia che espone il valore del parametro.