chenqinghong
2024-05-07 3ec06a830367465068963156dcc1d8e522571c13
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
36
Quintiq file version 2.0
#parent: #root
Method SynchronizeData (
  String dataTransformationID_i
) as stream[LibDIF_IntegrationAPI]
{
  Description:
  [*
    Trigger the synchronization of integration objects to model objects in the planning-dataset, using the DataTransformation with the provided ID.
    Can be extended to call more specific synchronization logic instead.
  *]
  TextBody:
  [*
    return this.ExecuteDataSynchronization( dataTransformationID_i );
    
    /* Example of extension: Library DII_Calendars implements specific logic for synchronizing calendar data.
     * NOTE that when the specific logic is not applicable the generic logic should be used!
    api := null( stream[LibDIF_IntegrationAPI] );
    
    // Use specific synchronization for calendar data, otherwise use the generic logic.
    dataTransformation := this.GetDataTransformation( dataTransformationID_i );
    
    if( guard( dataTransformation.istype( LibDII_CalendarDataTransformation ), false ) )
    {
      api := this.SynchronizeCalendarData( dataTransformationID_i );
    }
    else
    {
      api := this.ExecuteDataSynchronization( dataTransformationID_i );
    }
    
    // Return a stream that can be reacted on.
    return api;
  *]
  InterfaceProperties { Accessibility: 'Extensible' }
}