| Quintiq file version 2.0 | 
| #parent: #root | 
| Method VerifyDBDataExist ( | 
|   MPSync mpsync, | 
|   Number expectedactualpisp, | 
|   Number expectedactualunitperiods, | 
|   Number expectedbaseconversionfactors, | 
|   Number expectedcampaigns, | 
|   Number expectedcampaigntypes, | 
|   Number expectedcurrencies, | 
|   Number expectedcurrencyrates, | 
|   Number expecteddisaggregatefactors, | 
|   Number expectedextsupplies, | 
|   Number expectedfeebackperiodtaskops, | 
|   Number expectedfeedbackprodintrips, | 
|   Number expectedforecasts, | 
|   Number expectedfulfillmentrestrics, | 
|   Number expectedfulfilmenttargets, | 
|   Number expectedgp, | 
|   Number expectedgroups, | 
|   Number expectedingredients, | 
|   Number expectedinvspecs, | 
|   Number expectedinvsupplycosts, | 
|   Number expectedinvvalueandcosts, | 
|   Number expectedlanecosts, | 
|   Number expectedlanelegcosts, | 
|   Number expectedlanelegs, | 
|   Number expectedlanes, | 
|   Number expectedopboms, | 
|   Number expectedopcosts, | 
|   Number expectedopincampaigntypes, | 
|   Number expectedopinputgroups, | 
|   Number expectedopinputsets, | 
|   Number expectedopintransitiontypes, | 
|   Number expectedoplinks, | 
|   Number expectedops, | 
|   Number expectedperiodparams, | 
|   Number expectedperiodspecs, | 
|   Number expectedpispspecs, | 
|   Number expectedpostponementsalesdemandcosts, | 
|   Number expectedpostponementspecs, | 
|   Number expectedpriorities, | 
|   Number expectedproductinlanes, | 
|   Number expectedproductlevels, | 
|   Number expectedproducts, | 
|   Number expectedproductvalueandcosts, | 
|   Number expectedrecipeingredients, | 
|   Number expectedrecipes, | 
|   Number expectedrecipewitheffectivedates, | 
|   Number expectedroutingconfigviews, | 
|   Number expectedroutings, | 
|   Number expectedroutingsteps, | 
|   Number expectedsafetystocks, | 
|   Number expectedsaleslevels, | 
|   Number expectedsalessegments, | 
|   Number expectedservicelevels, | 
|   Number expectedshiftdays, | 
|   Number expectedshiftpatterns, | 
|   Number expectedspcapacities, | 
|   Number expectedspcosts, | 
|   Number expectedsps, | 
|   Number expectedsupplyspecs, | 
|   Number expectedtransitiontypes, | 
|   Number expectedtransportavailabilities, | 
|   Number expectedtransportcapacities, | 
|   Number expectedunitavailabilities, | 
|   Number expectedunitcalendarelements, | 
|   Number expectedunitcapacities, | 
|   Number expectedunitcosts, | 
|   Number expecteduoms, | 
|   Number expectedunits | 
| ) | 
| { | 
|   Description: 'Verify DB data either exist or dont' | 
|   TextBody: | 
|   [* | 
|      | 
|     actualpisps := mpsync.IOActualProductInStockingPointInPeriod( relsize ); | 
|     actualunitperiods := mpsync.IOActualUnitPeriod( relsize ); | 
|     baseconversionfactors := mpsync.IOBaseConversionFactor( relsize ); | 
|     campaigns := mpsync.IOCampaign_MP( relsize ); | 
|     campaigntypes := mpsync.IOCampaignType_MP( relsize ); | 
|     currencies := mpsync.IOCurrency_MP( relsize ); | 
|     currencyrates := mpsync.IOCurrencyRate_MP( relsize ); | 
|     disaggregatefactors := mpsync.IODisaggregationFactor( relsize ); | 
|     extsupplies := mpsync.IOInventorySupply( relsize ); | 
|     feedbackperiodtaskops := mpsync.IOFeedbackPeriodTaskOperation( relsize ); | 
|     feedbackprodintrips := mpsync.IOFeedbackProductInTrip( relsize ); | 
|     forecasts := counter( mpsync, IOSalesDemandBase.astype( IOForecast ), f, true, true ); | 
|     fulfillmentrestrics := mpsync.IOFulfillmentRestriction( relsize ); | 
|     fulfillmenttargets := mpsync.IOFulfillmentTarget( relsize ); | 
|     gp := mpsync.IOGlobalParameter( relsize ); | 
|     groups := mpsync.IOGroup( relsize ); | 
|     ingredients := mpsync.IOIngredient( relsize ); | 
|     invspec := mpsync.IOInventorySpecification( relsize ); | 
|     invsupplycost := mpsync.IOInventorySupplyCost( relsize ); | 
|     invvalueandcosts := mpsync.IOInventoryValueAndCost( relsize ); | 
|     lanecosts := mpsync.IOLaneCost( relsize ); | 
|     lanelegcosts := mpsync.IOLaneLegCost( relsize ); | 
|     lanelegs := mpsync.IOLaneLeg( relsize ); | 
|     lanes := mpsync.IOLane( relsize ); | 
|     opboms := mpsync.IOOperationBOM( relsize ); | 
|     opcosts := mpsync.IOOperationCost( relsize ); | 
|     opincampaigntypes := mpsync.IOOperationInCampaignType( relsize ); | 
|     opinputgroups := mpsync.IOOperationInputGroup( relsize ); | 
|     opinputsets := mpsync.IOOperationInputSet( relsize ); | 
|     opintransitiontypes := mpsync.IOOperationInTransitionType( relsize ); | 
|     oplinks := mpsync.IOOperationLink( relsize ); | 
|     ops := mpsync.IOOperation( relsize ); | 
|     periodparams := mpsync.IOPeriodParameter_MP( relsize ); | 
|     periodspecs := mpsync.IOPeriodSpecification_MP( relsize ); | 
|     pispspecs := mpsync.IOPISPSpecification( relsize ); | 
|     postponementsalesdemandcosts := mpsync.IOPostponedSalesDemandCost( relsize ); | 
|     postponementspecs := mpsync.IOPostponementSpecification( relsize ); | 
|     priorities := mpsync.IOPriority( relsize ); | 
|     produdctinlanes := mpsync.IOProductInLane( relsize ); | 
|     productlevels := mpsync.IOProductLevel_MP( relsize ); | 
|     products := mpsync.IOProduct_MP( relsize ); | 
|     productvalueandcosts := mpsync.IOProductValueAndCost( relsize ); | 
|     recipeingredients := mpsync.IORecipeIngredient( relsize ); | 
|     recipts := mpsync.IORecipe( relsize ); | 
|     reciptwitheffectivedates := mpsync.IORecipeWithEffectiveDate( relsize ); | 
|     routingconfigviews := mpsync.IORoutingConfiguratorView( relsize ); | 
|     routings := mpsync.IORouting( relsize ); | 
|     routingsteps := mpsync.IORoutingStep( relsize ); | 
|     safetystocks := mpsync.IOSafetyStock( relsize ); | 
|     saleslevels := mpsync.IOSalesLevel_MP( relsize ); | 
|     salessegments := mpsync.IOSalesSegment_MP( relsize ); | 
|     servicelevels := mpsync.IOServiceLevel( relsize ); | 
|     shiftdays := mpsync.IOShiftDay( relsize ); | 
|     shiftpatterns := mpsync.IOShiftPattern( relsize ); | 
|     spcapacities := mpsync.IOStockingPointCapacity( relsize ); | 
|     spcosts := mpsync.IOStockingPointCost( relsize ); | 
|     sps := mpsync.IOStockingPoint_MP( relsize ); | 
|     supplyspecs := mpsync.IOSupplySpecification( relsize ); | 
|     transitiontypes := mpsync.IOTransitionType_MP( relsize ); | 
|     transportavailabilities := mpsync.IOTransportAvailability( relsize ); | 
|     transportcapacities := mpsync.IOTransportCapacity( relsize ); | 
|     unitavailabilities := mpsync.IOUnitAvailability( relsize ); | 
|     unitcalendarelements := mpsync.IOUnitCalendarElement( relsize ); | 
|     unitcapacities := mpsync.IOUnitCapacity( relsize ); | 
|     unitcosts := mpsync.IOUnitCost( relsize ); | 
|     uoms := mpsync.IOUnitOfMeasure_MP( relsize ); | 
|     units := mpsync.IOUnit( relsize ); | 
|      | 
|     // Check the number of data imported | 
|     this.Run().AssertEqual( expectedactualpisp,actualpisps , 'The number of actual pisps  ' + [String]actualpisps  + ' is not matching DB number of actual pisps ' + [String]expectedactualpisp +  '.' ); | 
|     this.Run().AssertEqual( expectedactualunitperiods,actualunitperiods, 'The number of actual unit periods ' + [String]actualunitperiods + ' is not matching DB number of actual unit periods' + [String]expectedactualunitperiods +  '.' ); | 
|     this.Run().AssertEqual( expectedbaseconversionfactors,baseconversionfactors, 'The number of base conversion factors ' + [String]baseconversionfactors + ' is not matching DB number of base conversion factors' + [String]expectedbaseconversionfactors +  '.' ); | 
|     this.Run().AssertEqual( expectedcampaigns,campaigns , 'The number of campaigns  ' + [String]campaigns  + ' is not matching DB number of campaigns ' + [String]expectedcampaigns +  '.' ); | 
|     this.Run().AssertEqual( expectedcampaigntypes,campaigntypes , 'The number of campaign types  ' + [String]campaigntypes  + ' is not matching DB number of campaign types ' + [String]expectedcampaigntypes +  '.' ); | 
|     this.Run().AssertEqual( expectedcurrencies,currencies , 'The number of currencies  ' + [String]currencies  + ' is not matching DB number of currencies ' + [String]expectedcurrencies +  '.' ); | 
|     this.Run().AssertEqual( expectedcurrencyrates,currencyrates, 'The number of currency rates ' + [String]currencyrates + ' is not matching DB number of currency rates' + [String]expectedcurrencyrates +  '.' ); | 
|     this.Run().AssertEqual( expecteddisaggregatefactors,disaggregatefactors, 'The number of disaggregation factors ' + [String]disaggregatefactors + ' is not matching DB number of disaggregation factors' + [String]expecteddisaggregatefactors +  '.' ); | 
|     this.Run().AssertEqual( expectedextsupplies,extsupplies, 'The number of inventory supplies ' + [String]extsupplies + ' is not matching DB number of inventory supplies' + [String]expectedextsupplies +  '.' ); | 
|     this.Run().AssertEqual( expectedfeebackperiodtaskops,feedbackperiodtaskops, 'The number of feedback period task operations ' + [String]feedbackperiodtaskops + ' is not matching DB number of feedback period task operations' + [String]expectedfeebackperiodtaskops +  '.' ); | 
|     this.Run().AssertEqual( expectedfeedbackprodintrips,feedbackprodintrips, 'The number of feedback product in trips ' + [String]feedbackprodintrips + ' is not matching DB number of feedback product in trips' + [String]expectedfeedbackprodintrips +  '.' ); | 
|     this.Run().AssertEqual( expectedforecasts,forecasts, 'The number of forecasts ' + [String]forecasts + ' is not matching DB number of forecasts' + [String]expectedforecasts +  '.' ); | 
|     this.Run().AssertEqual( expectedfulfillmentrestrics,fulfillmentrestrics, 'The number of fulfillment restrictions ' + [String]fulfillmentrestrics + ' is not matching DB number of fulfillment restrictions' + [String]expectedfulfillmentrestrics +  '.' ); | 
|     this.Run().AssertEqual( expectedfulfilmenttargets,fulfillmenttargets, 'The number of fulfillment targets ' + [String]fulfillmenttargets + ' is not matching DB number of fulfillment targets' + [String]expectedfulfilmenttargets +  '.' ); | 
|     this.Run().AssertEqual( expectedgp,gp, 'The number of global parameters ' + [String]gp + ' is not matching DB number of global parameters' + [String]expectedgp +  '.' ); | 
|     this.Run().AssertEqual( expectedgroups,groups, 'The number of groups ' + [String]groups + ' is not matching DB number of groups' + [String]expectedgroups +  '.' ); | 
|     this.Run().AssertEqual( expectedingredients,ingredients, 'The number of ingredients ' + [String]ingredients + ' is not matching DB number of ingredients' + [String]expectedingredients +  '.' ); | 
|     this.Run().AssertEqual( expectedinvspecs,invspec, 'The number of inventory specifications ' + [String]invspec + ' is not matching DB number of inventory specifications' + [String]expectedinvspecs +  '.' ); | 
|     this.Run().AssertEqual( expectedinvsupplycosts,invsupplycost, 'The number of inventory supply costs ' + [String]invsupplycost + ' is not matching DB number of inventory supply costs' + [String]expectedinvsupplycosts +  '.' ); | 
|     this.Run().AssertEqual( expectedinvvalueandcosts,invvalueandcosts, 'The number of inventory value and costs ' + [String]invvalueandcosts + ' is not matching DB number of inventory value and costs' + [String]expectedinvvalueandcosts +  '.' ); | 
|     this.Run().AssertEqual( expectedlanecosts,lanecosts, 'The number of lane costs ' + [String]lanecosts + ' is not matching DB number of lane costs' + [String]expectedlanecosts +  '.' ); | 
|     this.Run().AssertEqual( expectedlanelegcosts,lanelegcosts, 'The number of lane leg costs ' + [String]lanelegcosts + ' is not matching DB number of lane leg costs' + [String]expectedlanelegcosts +  '.' ); | 
|     this.Run().AssertEqual( expectedlanelegs,lanelegs, 'The number of lane legs ' + [String]lanelegs + ' is not matching DB number of lane legs' + [String]expectedlanelegs +  '.' ); | 
|     this.Run().AssertEqual( expectedlanes,lanes, 'The number of lanes ' + [String]lanes + ' is not matching DB number of lanes' + [String]expectedlanes +  '.' ); | 
|     this.Run().AssertEqual( expectedopboms,opboms, 'The number of operation boms ' + [String]opboms + ' is not matching DB number of operation boms' + [String]expectedopboms +  '.' ); | 
|     this.Run().AssertEqual( expectedopcosts,opcosts, 'The number of operation costs ' + [String]opcosts + ' is not matching DB number of operation costs' + [String]expectedopcosts +  '.' ); | 
|     this.Run().AssertEqual( expectedopincampaigntypes,opincampaigntypes, 'The number of operation in campaign types ' + [String]opincampaigntypes + ' is not matching DB number of operation in campaign types' + [String]expectedopincampaigntypes +  '.' ); | 
|     this.Run().AssertEqual( expectedopinputgroups,opinputgroups, 'The number of operation input groups ' + [String]opinputgroups + ' is not matching DB number of operation input groups' + [String]expectedopinputgroups +  '.' ); | 
|     this.Run().AssertEqual( expectedopinputsets,opinputsets, 'The number of operation input sets ' + [String]opinputsets + ' is not matching DB number of operation input sets' + [String]expectedopinputsets +  '.' ); | 
|     this.Run().AssertEqual( expectedopintransitiontypes,opintransitiontypes, 'The number of operation in transition types ' + [String]opintransitiontypes + ' is not matching DB number of operation in transition types' + [String]expectedopintransitiontypes +  '.' ); | 
|     this.Run().AssertEqual( expectedoplinks,oplinks, 'The number of operation links ' + [String]oplinks + ' is not matching DB number of operation links' + [String]expectedoplinks +  '.' ); | 
|     this.Run().AssertEqual( expectedops,ops, 'The number of operations ' + [String]ops + ' is not matching DB number of operations' + [String]expectedops +  '.' ); | 
|     this.Run().AssertEqual( expectedperiodparams,periodparams, 'The number of period parameters ' + [String]periodparams + ' is not matching DB number of period parameters' + [String]expectedperiodparams +  '.' ); | 
|     this.Run().AssertEqual( expectedperiodspecs,periodspecs, 'The number of period specifications ' + [String]periodspecs + ' is not matching DB number of period specifications' + [String]expectedperiodspecs +  '.' ); | 
|     this.Run().AssertEqual( expectedpispspecs,pispspecs, 'The number of pisp specifications ' + [String]pispspecs + ' is not matching DB number of pisp specifications' + [String]expectedpispspecs +  '.' ); | 
|     this.Run().AssertEqual( expectedpostponementsalesdemandcosts,postponementsalesdemandcosts, 'The number of postponement sales demand costs ' + [String]postponementsalesdemandcosts + ' is not matching DB number of postponement sales demand costs' + [String]expectedpostponementsalesdemandcosts +  '.' ); | 
|     this.Run().AssertEqual( expectedpostponementspecs,postponementspecs, 'The number of postponement specifications ' + [String]postponementspecs + ' is not matching DB number of postponement specifications' + [String]expectedpostponementspecs +  '.' ); | 
|     this.Run().AssertEqual( expectedpriorities,priorities, 'The number of priorities ' + [String]priorities + ' is not matching DB number of priorities' + [String]expectedpriorities +  '.' ); | 
|     this.Run().AssertEqual( expectedproductinlanes,produdctinlanes, 'The number of produdct in lanes ' + [String]produdctinlanes + ' is not matching DB number of produdct in lanes' + [String]expectedproductinlanes +  '.' ); | 
|     this.Run().AssertEqual( expectedproductlevels,productlevels, 'The number of product levels ' + [String]productlevels + ' is not matching DB number of product levels' + [String]expectedproductlevels +  '.' ); | 
|     this.Run().AssertEqual( expectedproducts,products , 'The number of products  ' + [String]products  + ' is not matching DB number of products ' + [String]expectedproducts +  '.' ); | 
|     this.Run().AssertEqual( expectedproductvalueandcosts,productvalueandcosts, 'The number of product value and costs ' + [String]productvalueandcosts + ' is not matching DB number of product value and costs' + [String]expectedproductvalueandcosts +  '.' ); | 
|     this.Run().AssertEqual( expectedrecipeingredients,recipeingredients , 'The number of recipe ingredients  ' + [String]recipeingredients  + ' is not matching DB number of recipe ingredients ' + [String]expectedrecipeingredients +  '.' ); | 
|     this.Run().AssertEqual( expectedrecipes,recipts, 'The number of recipes ' + [String]recipts + ' is not matching DB number of recipes' + [String]expectedrecipes +  '.' ); | 
|     this.Run().AssertEqual( expectedrecipewitheffectivedates,reciptwitheffectivedates, 'The number of recipe with effective dates ' + [String]reciptwitheffectivedates + ' is not matching DB number of recipe with effective dates' + [String]expectedrecipewitheffectivedates +  '.' ); | 
|     this.Run().AssertEqual( expectedroutingconfigviews,routingconfigviews, 'The number of routing configuration views ' + [String]routingconfigviews + ' is not matching DB number of routing configuration views' + [String]expectedroutingconfigviews +  '.' ); | 
|     this.Run().AssertEqual( expectedroutings,routings, 'The number of routings ' + [String]routings + ' is not matching DB number of routings' + [String]expectedroutings +  '.' ); | 
|     this.Run().AssertEqual( expectedroutingsteps,routingsteps, 'The number of routing steps ' + [String]routingsteps + ' is not matching DB number of routing steps' + [String]expectedroutingsteps +  '.' ); | 
|     this.Run().AssertEqual( expectedsafetystocks,safetystocks, 'The number of safety stocks ' + [String]safetystocks + ' is not matching DB number of safety stocks' + [String]expectedsafetystocks +  '.' ); | 
|     this.Run().AssertEqual( expectedsaleslevels,saleslevels, 'The number of sales levels ' + [String]saleslevels + ' is not matching DB number of sales levels' + [String]expectedsaleslevels +  '.' ); | 
|     this.Run().AssertEqual( expectedsalessegments,salessegments, 'The number of sales segments ' + [String]salessegments + ' is not matching DB number of sales segments' + [String]expectedsalessegments +  '.' ); | 
|     this.Run().AssertEqual( expectedservicelevels,servicelevels, 'The number of service levels ' + [String]servicelevels + ' is not matching DB number of service levels' + [String]expectedservicelevels +  '.' ); | 
|     this.Run().AssertEqual( expectedshiftdays,shiftdays, 'The number of shift days ' + [String]shiftdays + ' is not matching DB number of shift days' + [String]expectedshiftdays +  '.' ); | 
|     this.Run().AssertEqual( expectedshiftpatterns,shiftpatterns, 'The number of shift patterns ' + [String]shiftpatterns + ' is not matching DB number of shift patterns' + [String]expectedshiftpatterns +  '.' ); | 
|     this.Run().AssertEqual( expectedspcapacities,spcapacities, 'The number of stocking point capacities ' + [String]spcapacities + ' is not matching DB number of stocking point capacities' + [String]expectedspcapacities +  '.' ); | 
|     this.Run().AssertEqual( expectedspcosts,spcosts, 'The number of stocking point costs ' + [String]spcosts + ' is not matching DB number of stocking point costs' + [String]expectedspcosts +  '.' ); | 
|     this.Run().AssertEqual( expectedsps,sps, 'The number of stocking points ' + [String]sps + ' is not matching DB number of stocking points' + [String]expectedsps +  '.' ); | 
|     this.Run().AssertEqual( expectedsupplyspecs,supplyspecs, 'The number of supply specifications ' + [String]supplyspecs + ' is not matching DB number of supply specifications' + [String]expectedsupplyspecs +  '.' ); | 
|     this.Run().AssertEqual( expectedtransitiontypes,transitiontypes, 'The number of transition types ' + [String]transitiontypes + ' is not matching DB number of transition types' + [String]expectedtransitiontypes +  '.' ); | 
|     this.Run().AssertEqual( expectedtransportavailabilities,transportavailabilities, 'The number of transport availabilities ' + [String]transportavailabilities + ' is not matching DB number of transport availabilities' + [String]expectedtransportavailabilities +  '.' ); | 
|     this.Run().AssertEqual( expectedtransportcapacities,transportcapacities, 'The number of transport capacities ' + [String]transportcapacities + ' is not matching DB number of transport capacities' + [String]expectedtransportcapacities +  '.' ); | 
|     this.Run().AssertEqual( expectedunitavailabilities,unitavailabilities, 'The number of unit availabilities ' + [String]unitavailabilities + ' is not matching DB number of unit availabilities' + [String]expectedunitavailabilities +  '.' ); | 
|     this.Run().AssertEqual( expectedunitcalendarelements,unitcalendarelements, 'The number of unit calendar elements ' + [String]unitcalendarelements + ' is not matching DB number of unit calendar elements' + [String]expectedunitcalendarelements +  '.' ); | 
|     this.Run().AssertEqual( expectedunitcapacities,unitcapacities, 'The number of unit capacities ' + [String]unitcapacities + ' is not matching DB number of unit capacities' + [String]expectedunitcapacities +  '.' ); | 
|     this.Run().AssertEqual( expectedunitcosts,unitcosts, 'The number of unit costs ' + [String]unitcosts + ' is not matching DB number of unit costs' + [String]expectedunitcosts +  '.' ); | 
|     this.Run().AssertEqual( expecteduoms,uoms, 'The number of uoms ' + [String]uoms + ' is not matching DB number of uoms' + [String]expecteduoms +  '.' ); | 
|     this.Run().AssertEqual( expectedunits,units, 'The number of units ' + [String]units + ' is not matching DB number of units' + [String]expectedunits +  '.' ); | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |