Quintiq file version 2.0
|
#parent: #root
|
StaticMethod GetSupplyAge (
|
Date manufacturedate,
|
Date date,
|
Period_MP period
|
) declarative as Real
|
{
|
Description: 'Calculate and round up age to the period duration'
|
TextBody:
|
[*
|
age := 0.0;
|
|
if ( not isnull( period ) )
|
{
|
age := date - manufacturedate;
|
|
bucketduration := ifexpr( period.IsGapPlanning(), period.PreviousPlanningPeriod().DurationInDays(), period.DurationInDays() );
|
//when there is no previous period, default the duration to 1 day.
|
bucketduration := ifexpr( period.IsGapPlanning(),
|
guard( period.PreviousPlanningPeriod().DurationInDays(), 1 ),
|
period.DurationInDays() );
|
nrofperiod := ceil( age/bucketduration );
|
age := Duration::Days( nrofperiod * bucketduration ).DaysAsReal();
|
}
|
|
return age;
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|