Quintiq file version 2.0
|
#parent: #root
|
Function CalcIsInactive
|
{
|
TextBody:
|
[*
|
gp := this.MacroPlan().GlobalParameters_MP();
|
// Check if both demand and supply quantity is within the balance tolerance
|
value := gp.GetIsBalanceWithinTolerance( this.GetDemandQuantity(), 0.0 )
|
and gp.GetIsBalanceWithinTolerance( this.SupplyQuantity(), 0.0 );
|
|
// Check if the current PISPIP is from a leaf product
|
if( not this.IsLeaf() )
|
{
|
// Check if the current PISPIP has any direct children of product dimension
|
// If there's none, get children of period dimension to do the calculation instead
|
if( this.ChildOfProductDimension( relsize ) = 0 )
|
{
|
// Check if all children of period dimension is inactive
|
value := value and forall( this.GetChildrenOfPeriodDimension(),
|
Elements,
|
pispip,
|
pispip.IsInactive() );
|
}
|
else
|
{
|
// Check if all child of product dimension, that is not excluded, is inactive
|
value := value and forall( this,
|
ChildOfProductDimension,
|
pispip,
|
not pispip.ProductInStockingPoint_MP().IsExcluded(),
|
pispip.IsInactive() );
|
}
|
}
|
|
this.IsInactive( value );
|
*]
|
}
|