Quintiq file version 2.0
|
#parent: #root
|
Method VerifyPlanResult (
|
ProductInStockingPointInPeriodPlanning pispip
|
)
|
{
|
Description: 'Verify plan result'
|
TextBody:
|
[*
|
this.Run().AssertEqual( 60000.0, pispip.TotalSupplyUser(), "Verify total new supply is equal to total demand of pispip");
|
this.Run().AssertEqual( pispip.InventoryLevelEnd().Round( 0 ), ( pispip.TotalSupplyUser() - pispip.GetDemandQuantity() ).Round( 0 ), "Verify the extra supply is not pushed to downstream processing.")
|
|
// Locked color in product planning matrix is determined with the following condition
|
this.Run().AssertTrue( pispip.HasUserSupplyLocked(), "Verify user plan is locked." );
|
|
macroplan := pispip.ProductInStockingPoint_MP().MacroPlan();
|
sanitycheckgroupbalance := select( macroplan, SanityCheckGroup.astype( SanityCheckGroupBalance ), sgbalance, true );
|
this.Run().AssertTrue( sanitycheckgroupbalance.NumberOfViolation() = 0, "Verify no balance violation occurred in the whole supply chain." );
|
|
sm := this.GetScenarioManagerStream();
|
sm->( scenariomanager )
|
{
|
// There could be more than 1 base scenario from different sales demo
|
base := select( scenariomanager, ScenarioMP, scenario, scenario.Name() = this.GetDemoScenario() and scenario.Parent().Name()= this.GetDemoFolder() )
|
opt := DatasetFindOptions::Construct( base.DatasetName() );
|
mp := MDSMacroPlan::Find( opt );
|
mp->( basedataset )
|
{
|
// Verify that test dataset has higher cost
|
this.Run().AssertEqual( basedataset.GetKPIFulfillment(), macroplan.GetKPIFulfillment(), "Fulfillment same for both test and original dataset.");
|
this.Run().AssertEqual( basedataset.GetKPIFulfillmentTarget(), macroplan.GetKPIFulfillmentTarget(), 'Fulfillment target same for both test and orignal dataset.');
|
this.Run().AssertGreater( this.GetAccountKPI( basedataset, 'Inventory holding cost'), this.GetAccountKPI( macroplan, 'Inventory holding cost'), 'Higher inventory holding cost on test dataset.');
|
this.Run().AssertGreater( this.GetAccountKPI( basedataset, 'Cost of sales' ), this.GetAccountKPI( macroplan, 'Cost of sales'), 'Higher cost of sales on test dataset.');
|
}
|
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|