yypsybs
2023-09-09 3cb5a54def670d97301f07170fcaad213bfc54f2
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
Quintiq file version 2.0
#parent: #root
Method MPSyncGlobalParameter (
  Boolean isoverwitemanualconfig,
  IOGlobalParameter ioglobalparameter
)
{
  Description: 'Synchronization of GlobalParameter_MP from MPSync'
  TextBody:
  [*
    // Get GlobalParameters_MP
    objectinstance := this.GlobalParameters_MP();
    
    // If no existing GlobalParameters_MP is found, create one
    if( isnull( objectinstance ) )
    {
      objectinstance := GlobalParameters_MP::Create( this,
                                                     ioglobalparameter.AbsoluteLowerLimit(),
                                                     ioglobalparameter.AbsoluteUpperLimit(),
                                                     ioglobalparameter.AutoScalingFrequency(),
                                                     ioglobalparameter.BalanceTolerance(),
                                                     ioglobalparameter.BaseCurrency(),
                                                     ioglobalparameter.BiasTolerance(),
                                                     ioglobalparameter.BottleneckTolerance(),
                                                     ioglobalparameter.BottleneckWindowEnd(),
                                                     ioglobalparameter.BottleneckWindowStart(),
                                                     ioglobalparameter.DefaultAbsoluteValueForInventoryHolding(), 
                                                     ioglobalparameter.DefaultAccountForInventoryHolding(),
                                                     ioglobalparameter.DefaultAllocation(),
                                                     ioglobalparameter.DefaultAnnualInterestRateForInventoryHolding(),
                                                     ioglobalparameter.DefaultEfficiency(),
                                                     ioglobalparameter.DefaultMaxCapacityForStockingPoint(),
                                                     ioglobalparameter.DefaultMaxCapacityPerDayForUnit(),
                                                     ioglobalparameter.DefaultMaxLoadPercentage(),
                                                     ioglobalparameter.DefaultMinCapacityPerDayForUnit(),
                                                     ioglobalparameter.DefaultNumberOfPeriodsForAvgDemand(),
                                                     ioglobalparameter.DefaultOperationInputOutputQuantity(),
                                                     ioglobalparameter.DefaultServiceLevel(),
                                                     ioglobalparameter.DefaultShiftPatternName(),
                                                     ioglobalparameter.DefaultSmartPlanStrategy(),
                                                     ioglobalparameter.DefaultUnitOfMeasure(),
                                                     ioglobalparameter.DisaggregationRatio(),
                                                     ioglobalparameter.DurationLotsizeHorizon(),
                                                     ioglobalparameter.DurationInventoryMixBalancingCheck(),
                                                     ioglobalparameter.EndOfKPIHorizon(),
                                                     ioglobalparameter.HasAbsoluteValueForInventoryHolding(),
                                                     ioglobalparameter.HasDefaultInventoryHoldingCost(),
                                                     ioglobalparameter.IsPeggingRunAfterOptimization(),
                                                     ioglobalparameter.LotSizeTolerance(),
                                                     ioglobalparameter.MinimumSalesDemandQtyThreshold(),
                                                     ioglobalparameter.NoiseThresholdOptimizerOutput(),
                                                     ioglobalparameter.NumberOfDecimals(),
                                                     ioglobalparameter.NumberOfPeriodsInWindow(),
                                                     ioglobalparameter.NumberOfPeriodsPerSlide(),
                                                     ioglobalparameter.NumberOfPeriodsSmartPlan(),
                                                     ioglobalparameter.OutlierTolerance(),
                                                     ioglobalparameter.PeriodTaskValidity(),
                                                     ioglobalparameter.IsRunOptimizerSynchronously(),
                                                     ioglobalparameter.SanityCheckLimit(),
                                                     ioglobalparameter.StartOfKPIHorizon(),
                                                     ioglobalparameter.StockingPointBottleneckThreshold(),
                                                     ioglobalparameter.PeriodSpecificationForUnitActual(),
                                                     ioglobalparameter.UnitLowerBottleneckThreshold(),
                                                     ioglobalparameter.UnitUpperBottleneckThreshold(),
                                                     ioglobalparameter.UseDefaultDisplayIndex(),
                                                     ioglobalparameter.UseSlidingWindowsApproach(),
                                                     ioglobalparameter.UseAuditTrail(),
                                                     ioglobalparameter.UpdateKPIHorizonAtPeriodRoll(),
                                                     ioglobalparameter.LaneLeadTimeLogic(),
                                                     ioglobalparameter.OperationLeadTimeLogic(),
                                                     ioglobalparameter.ChangeoverTime(),
                                                     ioglobalparameter.MinToKeepTripInUsedPercentage(),
                                                     ioglobalparameter.IsUsableIfExpiredWithinPeriod(),
                                                     ioglobalparameter.IsUsableIfMatureWithinPeriod(),
                                                     ioglobalparameter.RunSmartPlanSynchronously(),
                                                     ioglobalparameter.DefaultDemandUncertainty(),
                                                     ioglobalparameter.UseSingleEchelon(),
                                                     true,
                                                     ioglobalparameter.CO2ProcessUoM(),
                                                     ioglobalparameter.CO2UoM(),
                                                     ioglobalparameter.ForecastNettingRule()
                                                   );
    }
    // Else if the GlobalParameters_MP is not manually configured or the imported instance should overwrite manual configuration,
    // update the existing GlobalParameters_MP
    else if( not objectinstance.IsManuallyConfigured() or isoverwitemanualconfig )
    {
      // Update GlobalParameters_MP
      objectinstance.Update( ioglobalparameter.AbsoluteLowerLimit(),
                             ioglobalparameter.AbsoluteUpperLimit(),
                             ioglobalparameter.AutoScalingFrequency(),
                             ioglobalparameter.BalanceTolerance(),
                             ioglobalparameter.BaseCurrency(),
                             ioglobalparameter.BiasTolerance(),
                             ioglobalparameter.BottleneckTolerance(),
                             ioglobalparameter.BottleneckWindowEnd(),
                             ioglobalparameter.BottleneckWindowStart(),
                             ioglobalparameter.DefaultAbsoluteValueForInventoryHolding(), 
                             ioglobalparameter.DefaultAccountForInventoryHolding(),
                             ioglobalparameter.DefaultAllocation(),
                             ioglobalparameter.DefaultAnnualInterestRateForInventoryHolding(),
                             ioglobalparameter.DefaultEfficiency(),
                             ioglobalparameter.DefaultMaxCapacityForStockingPoint(),
                             ioglobalparameter.DefaultMaxCapacityPerDayForUnit(),
                             ioglobalparameter.DefaultMaxLoadPercentage(),
                             ioglobalparameter.DefaultMinCapacityPerDayForUnit(),
                             ioglobalparameter.DefaultNumberOfPeriodsForAvgDemand(),
                             ioglobalparameter.DefaultOperationInputOutputQuantity(),
                             ioglobalparameter.DefaultServiceLevel(),
                             ioglobalparameter.DefaultShiftPatternName(),
                             ioglobalparameter.DefaultSmartPlanStrategy(),
                             ioglobalparameter.DefaultUnitOfMeasure(),
                             ioglobalparameter.DisaggregationRatio(),
                             ioglobalparameter.DurationLotsizeHorizon(),
                             ioglobalparameter.DurationInventoryMixBalancingCheck(),
                             ioglobalparameter.EndOfKPIHorizon(),
                             ioglobalparameter.HasAbsoluteValueForInventoryHolding(),
                             ioglobalparameter.HasDefaultInventoryHoldingCost(),
                             ioglobalparameter.IsPeggingRunAfterOptimization(),
                             ioglobalparameter.LotSizeTolerance(),
                             ioglobalparameter.MinimumSalesDemandQtyThreshold(),
                             ioglobalparameter.NoiseThresholdOptimizerOutput(),
                             ioglobalparameter.NumberOfDecimals(),
                             ioglobalparameter.NumberOfPeriodsInWindow(),
                             ioglobalparameter.NumberOfPeriodsPerSlide(),
                             ioglobalparameter.NumberOfPeriodsSmartPlan(),
                             ioglobalparameter.OutlierTolerance(),
                             ioglobalparameter.PeriodTaskValidity(),
                             ioglobalparameter.IsRunOptimizerSynchronously(),
                             ioglobalparameter.SanityCheckLimit(),
                             ioglobalparameter.StartOfKPIHorizon(),
                             ioglobalparameter.StockingPointBottleneckThreshold(),
                             ioglobalparameter.PeriodSpecificationForUnitActual(),
                             ioglobalparameter.UnitLowerBottleneckThreshold(),
                             ioglobalparameter.UnitUpperBottleneckThreshold(),
                             ioglobalparameter.UseDefaultDisplayIndex(),
                             ioglobalparameter.UseSlidingWindowsApproach(),
                             ioglobalparameter.UseAuditTrail(),
                             ioglobalparameter.UpdateKPIHorizonAtPeriodRoll(),
                             ioglobalparameter.LaneLeadTimeLogic(),
                             ioglobalparameter.OperationLeadTimeLogic(),
                             ioglobalparameter.ChangeoverTime(),
                             ioglobalparameter.MinToKeepTripInUsedPercentage(),
                             ioglobalparameter.IsUsableIfExpiredWithinPeriod(),
                             ioglobalparameter.IsUsableIfMatureWithinPeriod(),
                             ioglobalparameter.RunSmartPlanSynchronously(),
                             ioglobalparameter.DefaultDemandUncertainty(),
                             ioglobalparameter.UseSingleEchelon(),
                             true,
                             ioglobalparameter.CO2ProcessUoM(),
                             ioglobalparameter.CO2UoM(),
                             ioglobalparameter.ForecastNettingRule()
                           ); 
    }
    
    // If GlobalParameters_MP is found or created, execute the commit logic method
    if( not isnull( objectinstance ) )
    {
      objectinstance.CustomUpdate( ioglobalparameter, isoverwitemanualconfig );
      objectinstance.UpdateCommitLogic();
    }
  *]
}