| Quintiq file version 2.0 | 
| #parent: #root | 
| Method InitializeNonEntitiesDataAfterImport ( | 
|   Boolean importsalesdemands, | 
|   Boolean importcustomerorder, | 
|   Boolean importproducts, | 
|   Boolean importentities, | 
|   Boolean importroutings, | 
|   Boolean importperiods | 
| ) | 
| { | 
|   Description: 'Create data after import from external' | 
|   TextBody: | 
|   [* | 
|     // cye1 Apr-26-2016 (created) | 
|     // Create product in stockingpoint | 
|     this.InitializeProductInStockingPoint(); | 
|      | 
|     haschangesonrouting := importroutings or importproducts or importentities; | 
|      | 
|     if( haschangesonrouting ) | 
|     { | 
|       // Rouitng needs to be snchornized when user import unit/product/stockingpoint/routing | 
|       // So instead of acalling them in seperate method and cause a multi synchronize call, we will just call it once here | 
|       // Synchronize operation links within a routing | 
|       // Propagate the relation Operation to Routing Step and the Systems relations | 
|       Transaction::Transaction().Propagate(); | 
|       traverse( this, Routing, r ) | 
|       { | 
|         r.SynchronizeAfterImport(); | 
|       } | 
|     } | 
|      | 
|     // Relation is empty after execute import broker, need to propagate | 
|     Transaction::Transaction().Propagate( relation( MacroPlan, SalesDemand ) ); | 
|     if ( importcustomerorder ) | 
|     { | 
|       traverse( this, SalesDemand.astype( CustomerOrder ), co ) | 
|       { | 
|         // Customer order don't had an end date, set it to start date | 
|         co.EndDate( co.StartDate() ); | 
|       } | 
|     } | 
|      | 
|     this.CreateProductInStockingPointInPeriod( true /*iscreateall*/ ); | 
|      | 
|     if( importsalesdemands or importperiods or importcustomerorder ) | 
|     { | 
|       this.InitializeSalesDemandsAfterImport(); | 
|     } | 
|   *] | 
| } |