lazhen
2025-01-09 8afe90b633046db39042aada36b88193062f8cff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Quintiq file version 2.0
#parent: #root
Method ReceiveDataSuccessGetSet (NamedValueTree nvt_i, LibDEF_IntegrationEvent event_i)
{
  Description: 'Receive a Data-Success message with the requested Set.'
  TextBody:
  [*
    LibDEF_Util::EventLog( event_i, "Receiving requested Set data" );
    
    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-Success-GetSet message",
                                  "Error processing Data-Success-GetSet, 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 requesting dataset
      datasetType := LibDEF_DataAccessor::GetDataHeaderPropertyAsString( nvt_i, LibDEF_DataAccessor::HEADER_DATASETMODELTYPE() );
      datasetKey  := LibDEF_DataAccessor::GetDataHeaderPropertyAsKey   ( nvt_i, LibDEF_DataAccessor::HEADER_DATASETMDSID() );
      datasetDTD  := LibDEF_DataAccessor::GetDataHeaderPropertyAsKey   ( nvt_i, LibDEF_DataAccessor::HEADER_DATASETDTD() );
      
      LibDEF_DataBroker::ForwardSetToDataset( datasetType, datasetKey, datasetDTD, nvt_i, false, event_i );
      
      LibDEF_IntegrationEvent::EventComplete( event_i );
    }
  *]
}