MergeDataSet

<< Fare clic per visualizzazione il sommario >>

Percorso:  Il linguaggio OEL > Funzioni >

MergeDataSet

Restituisce l'oggetto specificato come DataSet di destinazione, dopo aver aggiunto gli elementi dell'oggetto specificato come DataSet sorgente. E' possibile definire se aggiornare gli elementi esistenti nell'oggetto di destinazione.

 

Funzione

MergeDataSet( IDataSet destinationDataSet, IDataSet sourceDataSet)

 

La funzione può essere utilizzata nelle seguenti modalità:

1) MergeDataSet( IDataSet destinationDataSet, IDataSet sourceDataSet)

2) MergeDataSet( IDataSet destinationDataSet, IDataSet sourceDataSet, bool allowUpdate)

 

Output

Nome

Descrizione

Tipo

returnValue

Oggetto di destinazione modificato e/o aggiornato.

IDataSet

 

 

Modalità 1)

MergeDataSet( IDataSet destinationDataSet, IDataSet sourceDataSet)

 

Input

Nome

Descrizione

Tipo

Opzionale

destinationDataSet

Oggetto a cui devono essere aggiunti degli elementi.

IDataSet

 

sourceDataSet

Oggetto che contiene gli elementi da aggiungere a quello indicato nel parametro destinationDataSet.

IDataSet

 

Output

Nome

Descrizione

Tipo

Opzionale

returnValue

Oggetto di destinazione a cui sono stati aggiunti gli elementi dell'oggetto sorgente.

IDataSet

 

 

Commenti

La funzione restituisce errore per chiave duplicata se vi è sovrapposizione tra alcuni campi dei due oggetti passati in input.

Se sourceDataSet contiene un Dataset vuoto, la funzione restituisce il DataSet contenuto nel parametro destinationDataSet.

 

Esempio

Esigenza: A partire da una struttura dati disponibile nella soluzione, è necessario creare in essa nuovi elementi chiave-valore.

 

Descrizione: In una soluzione Jamio openwork è definita una struttura dati denominata 'Anagrafica' in cui sono contenuti i dati anagrafici di alcune identità (Nome, Cognome, Data di nascita) e un'altra denominata 'Contatti' che contiene i dati di contatto delle stesse identità (Email, Numero di telefono): si desidera ottenere una struttura dati che contenga tutte le informazioni sia anagrafiche che di contatto relative alle identità. Si definisce un processo nel quale un'attività di tipo regola di business, a cui si assegnano in input le due strutture dati, 'Anagrafica' e 'Contatti', restituisca in output la stessa 'Anagrafica' a cui siano aggiunti i valori contenuti in 'Contatti'. La parte sinistra della regola di business sarà avvalorata con la struttura dati da restituire in output, il predicato sarà assume il valore e la parte destra, inserita con la modalità espressione, riporterà la funzione MergeDataSet come di seguito specificato:

 

MergeDataSet(#activityInput.Fields['Anagrafica'], #activityInput.Fields['Contatti'])

 

 

Modalità 2)

MergeDataSet( IDataSet destinationDataSet, IDataSet sourceDataSet, bool allowUpdate)

 

Input

Nome

Descrizione

Tipo

Opzionale

destinationDataSet

Oggetto a cui devono essere aggiunti degli elementi.

IDataSet

 

sourceDataSet

Oggetto che contiene gli elementi da aggiungere a quello passato al parametro destinationDataSet.

IDataSet

 

allowUpdate

True se gli elementi esistenti devono essere aggiornati con i valori di quelli presenti nell'oggetto contenuto nel parametro sourceDataSet.

Boolean

 

Output

Nome

Descrizione

Tipo

Opzionale

returnValue

Oggetto di destinazione a cui sono stati aggiunti gli elementi dell'oggetto sorgente ed eventualmente aggiornati gli elementi preesistenti.

IDataSet

 

 

Commenti

In questa modalità, quando il parametro allowUpdate è false, se vi è sovrapposizione tra alcuni campi dei due oggetti passati in input, la funzione non restituisce errore, ma li ignora.

Se sourceDataSet contiene un DataSet vuoto, la funzione restituisce inalterato il DataSet contenuto nel parametro destinationDataSet.

Se allowUpdate è true, sourceDataSet e destinationDataSet contengono le stesse chiavi, ma differenti nella definizione dei tipi (ad esempio sourceDataSet è Dataset('Nome', 'Francesco', 'Cognome',10) e destinationDataSet è Dataset('Nome', 'Francesco', 'Cognome', 'Rossi')) il metodo restituisce errore, invece se in sourceDataSet c'è un elemento con valore null, il corrispondente campo in destinationDataSet viene sovrascritto indipendentemente dal tipo di campo: il metodo non effettua controlli sul tipo in caso di valori nulli, tale funzionalità è utile se si desidera fare operazioni di correzione e/o rimozione dei dati.