| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod DoSanityCheck ( | 
|   MacroPlan macroplan | 
| ) | 
| { | 
|   Description: 'Call DoSanityCheck in all types with sanity check' | 
|   TextBody: | 
|   [* | 
|     // Extend sanity check here | 
|     // SC checkpoint | 
|     // Delete all shown message before creating new message | 
|     SanityCheckMessage::DeleteAllShownMessages( macroplan ); | 
|      | 
|     // synchronize with KT if SanityCheckCategoryLevel is zero | 
|     if( macroplan.SanityCheckCategoryLevel( relsize ) = 0 ) | 
|     { | 
|       SanityCheckCategoryLevel::Synchronize( macroplan ); | 
|     } | 
|      | 
|     // Data | 
|     SanityCheckGroupData::DoSanityCheck( macroplan ); | 
|      | 
|     // Planning | 
|     // AlgorithmRun | 
|     macroplan.DoSanityCheckAlgorithmRun();  | 
|     // Balance | 
|     SanityCheckGroupBalance::DoSanityCheck( macroplan ); | 
|     // Blending | 
|     SanityCheckGroupBlending::DoSanityCheck( macroplan ); | 
|     // Campaign | 
|     SanityCheckGroupCampaign::DoSanityCheck( macroplan ); | 
|     // Demand management | 
|     SanityCheckGroupDemandManagement::DoSanityCheck( macroplan ); | 
|     // Feedback | 
|     SanityCheckGroupFeedback::DoSanityCheck( macroplan ); | 
|     // Lot Size | 
|     SanityCheckGroupLotSize::DoSanityCheck( macroplan ); | 
|     // Supply target | 
|     SanityCheckGroupSupplyTarget::DoSanityCheck( macroplan ); | 
|     // Max inventory level | 
|     SanityCheckGroupMaxInventoryLevel::DoSanityCheck( macroplan ); | 
|     // Maximum supply | 
|     SanityCheckGroupMaximumSupply::DoSanityCheck( macroplan ); | 
|     // Min inventory level | 
|     SanityCheckGroupMinInventoryLevel::DoSanityCheck( macroplan ); | 
|     // Minimum supply | 
|     SanityCheckGroupMinimumSupply::DoSanityCheck( macroplan ); | 
|     // Minimum unit capacity | 
|     SanityCheckGroupMinimumUnitCapacity::DoSanityCheck( macroplan ); | 
|     // Process maximum quantity | 
|     SanityCheckGroupProcessMaximumQuantity::DoSanityCheck( macroplan ); | 
|     // Process minimum quantity | 
|     SanityCheckGroupProcessMinimumQuantity::DoSanityCheck( macroplan ); | 
|     // Fulfillment target | 
|     SanityCheckGroupFulfillmentTarget::DoSanityCheck( macroplan ); | 
|     //Product shelf life | 
|     SanityCheckGroupShelfLife::DoSanityCheck( macroplan ); | 
|     //Sizing | 
|     SanityCheckGroupSizing::DoSanityCheck( macroplan ); | 
|     // Stocking point capacity | 
|     SanityCheckGroupStockingPointCapacity::DoSanityCheck( macroplan ); | 
|     // Target inventory level | 
|     SanityCheckGroupTargetInventoryLevel::DoSanityCheck( macroplan ); | 
|     // Unit capacity | 
|     SanityCheckGroupUnitCapacity::DoSanityCheck( macroplan ); | 
|     // MP Sync | 
|     SanityCheckGroupMPSync::DoSanityCheck( macroplan ); | 
|     // Process quantiy in input group | 
|     SanityCheckGroupQuantityInInputGroup::DoSanityCheck( macroplan ); | 
|      | 
|     SanityCheckGroup::PostProcessSanityCheckMessage( macroplan ); | 
|   *] | 
| } |