1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  Method TraversePeriods () as Boolean 
 |  { 
 |    Description: 'Traverse through all PISP and PISPIPS in correct order and start Search procedure for each PISPIP to find target level for each PISPIP' 
 |    TextBody: 
 |    [* 
 |      // Select non-supplier, non-collapsed, active PISPPs, sorted by its echelon number ( from leaf to root ) 
 |      pisps := selectsortedset( this, Product_MP.ProductInStockingPoint_MP, p, p.Echelon()>1 and not p.MEIO_IsCollapsedPISP() and p.IsActiveInMEIO(), -p.Echelon() ); 
 |      success := true 
 |       
 |      traverse( pisps, Elements, pisp, success ) 
 |      {  
 |        debuginfo( 'Processing PISP', pisp.Name() );  
 |        traverse( pisp, ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ), pispip, pispip.IsActiveInMEIO() and success )  
 |        { 
 |          // Run Search procedure for each active PISPIP 
 |          success := success and this.Search( pispip ); 
 |        } 
 |      } 
 |       
 |      return success; 
 |    *] 
 |  } 
 |  
  |