yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
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
Quintiq file version 2.0
#parent: #root
Method SynchronizeScenarioStatus
{
  Description: 'Synchronize scenario status from knowledge table'
  TextBody:
  [*
    // amy Aug-25-2011 (created)
    traverse( this, ScenarioStatus, ss )
    {
      ss.IsInKnowledgeTable( false );
    }
    
    scenariostatusTable := ScenarioStatusTable::Table();
    traverse( scenariostatusTable, Rows, row )
    {
      scenariostatus := select( this, ScenarioStatus, ss, ss.Name() = row.Name() );
      if( isnull( scenariostatus ) )
      {
        scenariostatus := ScenarioStatus::Create( this, row.Name() );
      }
    
      scenariostatus.IsInKnowledgeTable( true );
    }
    
    feedback := '';
    // Check whether the row that is not in KT will be deleted
    traverse( this, ScenarioStatus, ss, not ss.IsInKnowledgeTable() and ss.CanDelete( feedback ) )
    {
      ss.Delete();
    }
  *]
}