| Quintiq file version 2.0 | 
| #parent: #root | 
| Method ReceiveDataRequestSetUpdated (NamedValueTree nvt_i, LibDEF_IntegrationEvent event_i) | 
| { | 
|   Description: 'Receive a Data-Request message when a Set has been updated.' | 
|   TextBody: | 
|   [* | 
|     LibDEF_Util::EventLog( event_i, "Receiving Set data updated" ); | 
|      | 
|     setGUID := LibDEF_DataAccessor::GetDataHeaderPropertyAsString( nvt_i, LibDEF_DataAccessor::HEADER_SETGUID() ); | 
|     setMeta := select( this, SetTypeMeta.SetMeta, s, s.GUID() = setGUID ); | 
|      | 
|     if( isnull( setMeta ) ) | 
|     { | 
|       LibDEF_Util::EventLogError( event_i, | 
|                                   "Failed to process Data-Request-SetUpdated message", | 
|                                   "Error processing Data-Request-SetUpdated, SetMeta with GUID '" + setGUID + "' does not exist." ); | 
|     } | 
|     else | 
|     { | 
|       // update the SetMeta first | 
|       lastUpdated := LibDEF_DataAccessor::GetDataHeaderPropertyAsDateTime( nvt_i, LibDEF_DataAccessor::HEADER_SETLASTUPDATED() ); | 
|       setMeta.Update( lastUpdated ); | 
|        | 
|       // then forward data to interested datasets | 
|       traverse( setMeta, SetInterestOfDataset, di, di.IsDatasetOnline() ) | 
|       { | 
|         datasetType := di.DatasetModelType(); | 
|         datasetKey  := di.DatasetMDSID(); | 
|         datasetDTD  := di.DataTransformationDefinition(); | 
|        | 
|         LibDEF_DataBroker::ForwardSetToDataset( datasetType, datasetKey, datasetDTD, nvt_i, true, event_i ); | 
|       } | 
|        | 
|       LibDEF_IntegrationEvent::EventComplete( event_i ); | 
|     } | 
|   *] | 
| } |