| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod GetTotalDemandInRemainingDays ( | 
|   constcontent ProductInStockingPointInPeriodPlannings pispips, | 
|   Real remainingdays | 
| ) const declarative remote as Real | 
| { | 
|   Description: 'Get total demand of the pispips in the remaining days of target inventory specification' | 
|   TextBody: | 
|   [* | 
|     totaldemand := 0.0; | 
|      | 
|     traverse( pispips, Elements, pispip ) | 
|     { | 
|       periodduration := pispip.Period_MP().DurationInDays(); | 
|       salesdemandqty := pispip.SalesDemandQuantity() | 
|       if( remainingdays < periodduration | 
|           // If there is no next period and the duration of the current period is shorter than the remaining days | 
|           // Then we keep repeating the last period for the purposes of the demand per day calculation | 
|           or ( isnull( pispip.NextPlanningPISPIP() ) | 
|                and not periodduration = 0 ) ) | 
|       { | 
|         totaldemand := totaldemand + ( remainingdays / periodduration ) * salesdemandqty; | 
|         remainingdays := 0; | 
|       } | 
|       else | 
|       { | 
|         totaldemand := totaldemand + salesdemandqty; | 
|         remainingdays := remainingdays - periodduration;   | 
|       } | 
|     } | 
|      | 
|     return totaldemand; | 
|   *] | 
| } |