limj
2023-10-24 93652435728de839582440eefd5122c281181d35
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
Quintiq file version 2.0
#parent: #root
StaticMethod CanAdjustQuantity (
  SalesDemandBases salesDemands,
  String adjustType,
  Real value,
  output String feedback_o
) declarative remote as Boolean
{
  Description: 'Indicate if sales demands quantity can be adjusted base on the adjust type'
  TextBody:
  [*
    
    isZeroSet := adjustType = SalesDemandBase::Adjust_Set() and value < 0;
    isMultiplyZero := adjustType = SalesDemandBase::Adjust_Multiply() and value < 0;
    isAdjustedZero := exists( salesDemands, Elements, e, SalesDemandBase::GetAdjustedQuantity( e.Quantity(), adjustType, value ) < 0 );
    
    // Check if a quantity is entered
    if( value.IsMinInfinity() )
    {
      feedback_o := Translations::MP_SalesDemand_AdjustQuantity_IsEmpty();
    }
    else if( isZeroSet or isMultiplyZero or isAdjustedZero )
    {
      feedback_o := Translations::MP_SalesDemand_CanAdjustQuantity();
    }
    
    return feedback_o = '';
  *]
}