Quintiq file version 2.0
|
#parent: #root
|
Method GetNextPISPIPWithinShelfLife (
|
DateTime lastpispipstart
|
) const as constcontent owning ProductInStockingPointInPeriodPlannings
|
{
|
TextBody:
|
[*
|
shelflife := this.ProductInStockingPoint_MP().Product_MP().ShelfLife();
|
pispips := construct( ProductInStockingPointInPeriodPlannings, constcontent );
|
current := this;
|
repeat
|
{
|
pispips.Add( current );
|
shelflife := shelflife - current.Period_MP().DurationInDays();
|
current := current.NextPlanningPISPIP();
|
}
|
until ( shelflife < 0 or isnull( current ) or current.Start() > lastpispipstart )
|
if ( not isnull( current ) and not isnull( current.NextPlanningPISPIP() ) and current.NextPlanningPISPIP().Start() <= lastpispipstart )
|
{
|
pispips.Add( current ); // add one more because we can compose trips near end and beginning of periods
|
}
|
|
return &pispips;
|
*]
|
}
|