Command parametrici

Navigation:  Il Book: analisi e organizzazione dei dati > I Commands >

Command parametrici

Previous pageReturn to chapter overviewNext page

I Commands del Book sono richiamabili da:

Grid Viewer

Chart Viewer

Tree Viewer

Diagram Viewer

Canvas Viewer

ContextPanel e ContextTooltip del Grid Viewer

WebHost Viewer

Toolbar Viewer

Custom Ribbon

Modali (OnClosing Command)

 

Per tutti i Viewer sopra citati, fatta eccezione per il WebHost, è possibile passare parametri, facendo uso della seguente sintassi:

 

CommandName(val1, val2, …, valN)

 

warning

Per i Webhost, invece, il passaggio dei parametri avviene tramite l'apposito controllo di tipo Collection.

 

 

A partire da IrionEDM 2016 Update 9, si dispone della nuova funzionalità che consente di interpretare i parametri nel contesto “Viewers”, utilizzando:

Riferimenti a colonne del datamember (esempio: [Tabella.[Relazione.]]ColumnName)

Variabili contestuali

Funzioni contestuali

Sottoinsieme definito di espressioni T-SQL

 

info

I Command possono essere richiamati anche facendo uso di combinazioni (anche annidate) di quanto sopra elencato.

 

 

Nella seguente tabella, sono elencate le Variabili e le Funzioni Contestuali che possono essere utilizzate per chiamare i Command:

 

Variabili Contestuali

Informazioni restituite

Sintassi

Oggetto chiamante

Nome del Viewer attivo dalla quale è stato attivato il comando.

@ActiveViewer

 

Tutti i viewer tranne i viewer container

Nome del viewer attivo dalla quale è stato attivato il comando.

Sinonimo di @ActiveViewer lasciato pe retrocompatibilità

 

@viewername -- obsoleta a partire da IrionEDM 2016 update 10

Tutti i viewer

Sinonimo della Contextual Function TableName().

Lasciato per retrocompatibilità

@tablename -- obsoleta a partire da IrionEDM 2016 update 10

GridViewer

TreeViewer

Sinonimo della Contextual Function ActiveBand().

Lasciato per retrocompatibilità

@bandname -- obsoleta a partire da IrionEDM 2016 update 10

GridViewer

Sinonimo della Contextual Function ActiveColumn().

Lasciato per retrocompatibilità

@columnname -- obsoleta a partire da IrionEDM 2016 update 10

GridViewer

TreeViewer  (in modalità Outlook)

Funzioni Contestuali (tutti I parametri sono opzionali)

Informazioni restituite

Sintassi

Valori di default dei

parametri (se non specificati)

Oggetto chiamante

Tipo del viewer.

ViewerType(viewerName)

viewerName = @ActiveViewer

Tutti I viewer

Nome Band attiva (di un viewer)

ActiveBand(viewerName)

viewerName = @ActiveViewer

Solo GridViewer

Nome colonna attiva ( di un viewer)

ActiveColumn(viewerName)

viewerName = @ActiveViewer

GridViewer

TreeViewer  (in modalità Outlook)

Valore nella cella selezionata della riga attiva (oppure di un viewer e di una colonna specificati opportunatamente)

CellValue(columnName,viewerName)

columnName = ActiveColumn()

viewerName = @ActiveViewer

GridViewer e TreeViewer  (in modalità Outlook)

Nome della tabella della riga attiva

TableName(viewerName)

viewerName = @ActiveViewer

GridViewer e TreeViewer

 

FullPath(viewerName)

viewerName = @ActiveViewer

Solo TreeViewer

Restituisce i valori degli __internalIdentifier delle righe attualmente selezionate

SelectedRows(columnName,viewerName,separator)

columnName = '__InternalIdentifier'

viewerName = @ActiveViewer

separator = ','

Solo GridViewer

Restituisce i valori degli __internalIdentifier delle righe filtrate  (siblings della riga corrente)

FilteredRows(columnName,viewerName,separator)

columnName = '__InternalIdentifier'

viewerName = @ActiveViewer

separator = ','

Solo GridViewer

 

E’ possibile passare, inoltre, un’espressione in linguaggio T-SQL, come parametro di un comando. Tale espressione è calcolata ed il risultato è utilizzato dal Command del Book.

 

ex

 

ESEMPIO:

Siano dati i seguenti comandi di esempio associati ad un Book. Tutti richiamano la funzione EXEC idq.NotifyMessage, visualizzando sul pop up il valore passato come parametro al comando, che dovrà essere compatibile con il tipo definito.

 

Nome comando

Parametro (tipo)

msg

@p (varchar)

msgInt

@i (BigInt)

msgDateTime

@paramData (DateTime)

 

 

Expressions

 Esempio di utilizzo

 Valore restituito

Case (simple)

 msgInt(CASE 'a' 

WHEN 'b'  THEN 1 

WHEN 'a' THEN 100 

ELSE 10 

END)

100

Case (searched)

 msgInt(CASE  WHEN 1 = 2 THEN 5 

WHEN 1 = 3 THEN 50 

ELSE 100 

END)

100

Coalesce

 Msg(COALESCE(null,null,’stringa’))

Stringa 

NullIf

 Msg(NULLIF(‘a’,’a’))

null 

 

 

 

Unary Expressions


 

-(Negative)

msgInt(-71)

-71 

+ (Positive)

MsgInt(+71)

 71

~ (Bitwise Not)

MsgInt(~71)                

 -72

 

 

 

Binary Expressions

 

 

+ (Addizione)

MsgInt(1 + 2)

-(Sottrazione)

MsgInt(2 – 1)

*(moltiplicazione)

MsgInt(3 * 2)

/ (divisione)

MsgInt(4 / 2)

2

% (modulo)

MsgInt(3 % 2)

1

& (Bitwise And)

MsgInt(0 & 1)

| (Bitwise Or)

MsgInt(0 | 1)

1

^ (Bitwise Xor)

MsgInt(0 ^ 1)

1

 

 

 

Boolean Comparison

 

 

= (uguaglianza)

 msg(CASE CellValue() WHEN 'ALFKI' THEN 'Selezionato ALFKI' 

WHEN 'BOLID' THEN 'Selezionato BOLID' ELSE CellValue() END)

Il risultato dipenderà dalla cella selezionata (dalla quale verrà calcolato il valore ivi contenuto tramite CellValue())

 

>, >= (maggiore, maggiore o uguale)

 msg(CASE WHEN (LEN(CellValue()) > 0) THEN 'cella valorizzata' ELSE 'cella non valorizzata' END)

<, <= (minore, minore o uguale)

msg(CASE WHEN (CellValue() < 0) THEN 'valore negativo' 

ELSE 'valore positivo' END)

!=, <> (diverso)

 msg(CASE WHEN (CellValue() != 'ALFKI') THEN 'diverso da ALFKI' 

ELSE 'uguale ad ALFKI' END)

 

 

 

String Functions

 

 

Charindex

 msgInt(CHARINDEX(‘e’,’test’))

Len

 msgInt(LEN(‘test’))

Lower

 Msg(LOWER(‘TEST’))

test 

Ltrim

 Msg(LTRIM(‘   test’))

test 

Reverse

 Msg(REVERSE(‘test’))

tset 

Rtrim

 Msg(RTRIM(‘test   ‘))

Test

Substring

 msg(SUBSTRING('test',1,2))

 te

Trim

 Msg(TRIM(‘   test   ‘))

test 

Upper

 Msg(UPPER(‘test’))

 TEST

 

 

 

System Functions

 

 

IsNull

 Msg(ISNULL(null,’test’))

test

 

 

 

Predicates

 

 

Is Null

 msg(case when CellValue() is null then 'cella nulla' 

else ‘cella non nulla' end)

 Il risultato dipenderà dalla cella selezionata (dalla quale verrà calcolato il valore ivi contenuto tramite CellValue())

 

 

Not Is Null

 msg(case when not CellValue() is null then 'cella non nulla' 

else ‘cella nulla' end)

Is Not Null

 msg(case when CellValue() is not null then 'cella non nulla' else ‘cella nulla' end)


 

 

Date and Time Functions

 

 

GetDate

 msgDateTime(GETDATE())

 Apr 17 2018 4:04PM

GetUtcDate

 msgDateTime(GETUTCDATE())

Apr 17 2018 2:05PM 

Year

 msgInt(YEAR(GETDATE())

2018 

Month

 msgInt(MONTH(GETDATE()) + 3)

Day

 msgInt(DAY(GETDATE()))

17 

 

warning

Attualmente, IrionEDM non tiene conto della Collation e, di default, tutti i confronti di stringhe sono case insensitive.