<< Fare clic per visualizzazione il sommario >> Percorso: Il linguaggio OEL > Funzioni > ExtractDataSet |
Crea e restituisce un Dataset estraendo uno o più elementi dal Dataset di partenza, eventualmente rinominandoli.
Funzione
IDataSet ExtractDataSet(IDataSet dataSet, IDataSet oldNewKeys)
Input |
|||
Nome |
Descrizione |
Tipo |
Opzionale |
dataSet |
Dataset di partenza. |
|
|
oldNewKeys |
Vecchi e nuovi nomi dei campi da aggiungere al nuovo Dataset (chiave = vecchio nome, valore = nuovo nome). Se il valore è nullo o vuoto la funzione restituisce un Dataset con i campi presenti nel parametro dataSet. |
|
|
Output |
|||
Nome |
Descrizione |
Tipo |
|
returnValue |
Dato strutturato estratto da dataSet. |
|
Commenti
La funzione è utile, data una risorsa come valore del parametro dataSet , ad ottenere il Dataset che contiene i sui campi personalizzati (Fields).
Il Dataset oldNewKeys riporta, per ogni elemento, nella chiave il nome originale del campo in dataSet e nel valore il nuovo nome da assegnare al campo nel Dataset risultato.
La funzione si comporta come segue:
Restituisce |
Condizione |
errore |
se più elementi del parametro oldNewKeys hanno lo stesso valore. |
errore |
se dataSet non contiene una chiave specificata in oldNewKeys. |
Esempio1
A partire da una struttura dati disponibile nella soluzione, è necessario creare una nuova struttura dati con alcuni dei campi della struttura di partenza rinominati al fine ottenere una struttura idonea ad essere specificata come input per il metodo Write del Jamioplug SpreadsheetAutomation. Il nuovo nome dei campi deve essere pari al nome di alcune celle di excel.
ExtractDataSet(#activityInput.Fields['ElencoDettagli'],DataSet('importo','A3','data fattura','B7','budget','G16')) |
Esempio2
Se il parametro dataSet è il dato strutturato così composto:
DataSet('A', 'abc', 'B', Reference('Google', 'www.google.com'), 'C', 123)
si vuole ottenere un nuovo dato strutturato in con i campi A e B, rinominati in new_A e new_B. La funzione
ExtractDataSet(DataSet('A', 'abc', 'B', Reference('Google', 'www.google.com'), 'C', 123), DataSet('A', 'new_A', 'B', 'new_B')) |
restituisce:
<DataSetValue xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.openworkbpm.com/schema"> <Fields> <Item> <Key>new_A</Key> <Val xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string">abc</Val> </Item> <Item> <Key>new_B</Key> <Val i:type="NamedReference"> <Type>Undefined</Type> <Url>www.google.com</Url> <Name>Google</Name> </Val> </Item> </Fields> <ModelReference i:nil="true" /> </DataSetValue> |
la funzione
ExtractDataSet(DataSet('A', 'abc', 'B', Reference('Google', 'www.google.com'), 'C', 123), null) |
restituisce:
<DataSetValue xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.openworkbpm.com/schema"> <Fields> <Item> <Key>A</Key> <Val xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string">abc</Val> </Item> <Item> <Key>B</Key> <Val i:type="NamedReference"> <Type>Undefined</Type> <Url>www.google.com</Url> <Name>Google</Name> </Val> </Item> <Item> <Key>C</Key> <Val xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:int">123</Val> </Item> </Fields> <ModelReference i:nil="true" /> </DataSetValue> |
Esempio3
Se il parametro dataSet è una risorsa con i campi personalizzati CampoA, CampoB, CampoC la funzione restituisce:
<DataSetValue xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.openworkbpm.com/schema"> <Fields> <Item> <Key>CampoA</Key> <Val xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string">testo campo A</Val> </Item> <Item> <Key>CampoB</Key> <Val xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:long">50</Val> </Item> <Item> <Key>CampoC</Key> <Val i:type="NamedReference"> <Type>Undefined</Type> <Url>www.google.com</Url> <Name>www.google.com</Name> </Val> </Item> </Fields> <ModelReference i:nil="true" /> </DataSetValue> |