yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
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' }
}