Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method SynchronizeAccountTypes 
 | 
{ 
 | 
  Description: 'Synchronize account types from knowledge table' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // TYG2 Jul-14-2016 (created)                              
 | 
     
 | 
    // Data that is not in KT will be deleted 
 | 
    feedback := ''; 
 | 
    traverse( this, AccountType, at, not at.IsInKnowledgeTable() and at.CanDelete( feedback ) ) 
 | 
    { 
 | 
      at.Delete(); 
 | 
    } 
 | 
     
 | 
    accounttypesTable := AccountTypesTable::Table(); 
 | 
    traverse( accounttypesTable, Rows, row ) 
 | 
    { 
 | 
      accounttype := select( this, AccountType, a, a.Name() = row.Name() ); 
 | 
      if( isnull( accounttype ) ) 
 | 
      { 
 | 
        accounttype := AccountType::Create( this, row.Name() ); 
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
} 
 |