| Quintiq file version 2.0 | 
| #parent: #root | 
| Method SetTargets | 
| { | 
|   TextBody: | 
|   [* | 
|      | 
|      | 
|     // we use 10000 as a big number to give sufficient supply in upstream locations | 
|     // leaf locations have target 0 to start with | 
|     // this is used to initiate the calculations so that after this we find suitable target to leaf locations and can be sure that we have sufficient supply in upstream | 
|      | 
|     // we need to set pispip.MEIO_Target according to beloew R code  | 
|      | 
|     target_max := this.MEIO_Parameters().InitialLargeValueParentResupply();  | 
|      | 
|     // Set all targets to max value on non-leafs | 
|     // Set targets to 0 at leafs | 
|     nodes := this.GetAllTreePISP(); | 
|     traverse( nodes, Elements, pisp ) | 
|     { | 
|       for ( p := pisp.MEIO_Leadtime() + 1; p <= this.LastPeriodNumber(); p++ )  | 
|       { | 
|         if ( pisp.MEIO_IsLeaf() )  | 
|         { | 
|           pisp.GetPISPIPFromPeriodNumber( p ).MEIO_Target( 0 );  | 
|         } | 
|         else | 
|         { | 
|           pisp.GetPISPIPFromPeriodNumber( p ).MEIO_Target( target_max ); | 
|         } | 
|       } | 
|        | 
|       for ( p := 1; p <= pisp.MEIO_Leadtime(); p++ )  // copy from MP current value | 
|       { | 
|         pispip := pisp.GetPISPIPFromPeriodNumber( p  );  | 
|         pispip.MEIO_Target( pispip.TargetInQuantity() ); | 
|       } | 
|     } | 
|   *] | 
| } |