Lai,Risheng
2023-11-02 30c02e0c981b16be0918483543f4b812956c45d4
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
Quintiq file version 2.0
#parent: #root
FunctionOverride CalcNumberOfViolation
{
  TextBody:
  [*
    // Get the total number of sanity check violations from all related object types, which amount to a truly large set
    nrofviolation := // get the number of violations fro the UnitAvailabilities
                     sum( this, InvalidUnitAvailability, inv, inv.SanityCheckDataTotalViolationCount() )  
                     // get the number of violations for the Trips
                     + sum( this, InvalidTrip, inv, inv.SanityCheckDataTotalViolationCount() )  
                     // and the TransportAvailabilities
                     + sum( this, InvalidTransportAvailability, inv, inv.SanityCheckDataTotalViolationCount() ) 
                     // and the TransportCapacities
                     + sum( this, InvalidTransportCapacity, inv, inv.SanityCheckDataTotalViolationCount() )
                     // and the Units and UnitsOfMeasure, -Cost, -Capacity, -CalendarElement and -Account
                     + sum( this, InvalidUnitOfMeasure_MP, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidUnitCost, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidUnitCapacity, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidUnitCalendarElement, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidUnitAccount, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidUnit, inv, inv.SanityCheckDataTotalViolationCount() ) 
                     // and the SupplySpecification
                     + sum( this, InvalidSupplySpecification, inv, inv.SanityCheckDataTotalViolationCount() )  
                     // and the StockingPoint and StockingPointUnit, -InPeriod, -InLane, -Cost, -Capacity and -Account
                     + sum( this, InvalidStockingPointUnit, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidStockingPointInPeriod, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidStockingPointInLane, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidStockingPointCost, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidStockingPointCapacity, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidStockingPointAccount, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidStockingPoint_MP, inv, inv.SanityCheckDataTotalViolationCount() )
                     // and ShiftPattern and -Day  
                     + sum( this, InvalidShiftPattern, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidShiftDay, inv, inv.SanityCheckDataTotalViolationCount() )  
                     // and ServiceLevel
                     + sum( this, InvalidServiceLevel, inv, inv.SanityCheckDataTotalViolationCount() )  
                     // and SalesSegment, -Level and -Demand
                     + sum( this, InvalidSalesSegment_MP, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidSalesLevel_MP, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidSalesDemand, inv, inv.SanityCheckDataTotalViolationCount() )
                     // and Routings and RoutingSteps
                     + sum( this, InvalidRoutingStep, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidRouting, inv, inv.SanityCheckDataTotalViolationCount() )  
                     // and Product and ProductLevel, -InStockingPointInPeriod, -InStockingPoint and -InLane
                     + sum( this, InvalidProductLevel_MP, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidProductInStockingPointInPeriod, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidProductInStockingPoint_MP, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidProductInLane, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidProduct_MP, inv, inv.SanityCheckDataTotalViolationCount() )
                     // and Priorities
                     + sum( this, InvalidPriority, inv, inv.SanityCheckDataTotalViolationCount() ) 
                     // and PostponedSalesDemandCost and -Specification               
                     + sum( this, InvalidPostponedSalesDemandCost, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidPostponementSpecification, inv, inv.SanityCheckDataTotalViolationCount() )
                     // and ProductInStockingPointAccount and -Specification
                     + sum( this, InvalidPISPAccount, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidPISPSpecification, inv, inv.SanityCheckDataTotalViolationCount() ) 
                     // and all of the operation related objects
                     + sum( this, InvalidPeriodTaskOperation, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidOperationOutput, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidOperationLink, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidOperationInputSet, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidOperationInputGroup, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidOperationInput, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidOperationInCampaignType, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidOperationCost, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidOperation, inv, inv.SanityCheckDataTotalViolationCount() )  
                     // and Lane and LaneLeg data
                     + sum( this, InvalidLaneLegCost, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidLaneLeg, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidLaneCost, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidLane, inv, inv.SanityCheckDataTotalViolationCount() )  
                     // and Inventory data
                     + sum( this, InvalidInventorySupply, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidInventorySpecification, inv, inv.SanityCheckDataTotalViolationCount() )
                     + sum( this, InvalidSafetyStock, inv, inv.SanityCheckDataTotalViolationCount() )
                     // and finally all other objects 
                     + sum( this, InvalidIngredient, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidGroup, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidFulfillment, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidDependentDemand, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidCurrencyRate_MP, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidCurrency_MP, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidCampaignType_MP, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidCampaign_MP, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidBaseRecipeIngredient, inv, inv.SanityCheckDataTotalViolationCount() )
                     // and Recipe and more product data
                     + sum( this, InvalidRecipe, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidRecipeWithEffectiveDateInProduct, inv, inv.SanityCheckDataTotalViolationCount() )
                     + sum( this, InvalidProductValueAndCost, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidProductInTrip, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidPeriodSpecification_MP, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + guard( this.InvalidMacroPlan().SanityCheckDataTotalViolationCount(), 0 )  
                     // and some inventory and feedback data
                     + sum( this, InvalidInventoryValueAndHoldingCost, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidInventorySupplyCost, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + guard( this.InvalidGlobalParameters_MP().SanityCheckDataTotalViolationCount(), 0 )   
                     + sum( this, InvalidFeedbackProductInTrip, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidFeedbackPeriodTaskOperation, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidBaseConversionFactor, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidActualUnitPeriod, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidActualProductInStockingPointInPeriod, inv, inv.SanityCheckDataTotalViolationCount() )  
                     + sum( this, InvalidAccount_MP, inv, inv.SanityCheckDataTotalViolationCount() ) 
                     // and some fulfillment data
                     + sum( this, InvalidFulfillmentTarget, inv, inv.SanityCheckDataTotalViolationCount() )
                     + sum( this, InvalidFulfillmentRestriction, inv, inv.SanityCheckDataTotalViolationCount() )
                     + sum( this, InvalidCustomerOrder, inv, inv.SanityCheckDataTotalViolationCount() )
                     + sum( this, InvalidSubsetInOptimizerPuzzle, inv, inv.SanityCheckDataTotalViolationCount() );
    
    this.NumberOfViolation( nrofviolation );
  *]
}