admin
2025-01-22 7e31442f0e9b07764e9c6a9680d3d4aeba5fe1de
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
Quintiq file version 2.0
#parent: #root
Method GetHasValidFromAndTo (
  output Strings feedback_o,
  output Strings sanitycheckfeedback_o
) declarative remote as Boolean
{
  Description: 'Check if this routing has valid ValidFrom and ValidTill'
  TextBody:
  [*
    // desmondt Oct-7-2014 (created)
    isvalid := true;
    
    if( not isnull( this.RoutingStep() ) )
    {
      isvalid := this.ValidFrom() <= this.ValidTill()
    
      if( not isnull( feedback_o ) and not isvalid )
      {
        name := MacroPlan::GetSubstituteName( this.Name() ); // To avoid empty name/name too long
        feedback_o.Add( SanityCheckMessage::GetFormattedMessage( Translations::MP_Process_Instance( this.DefinitionName(), name ),
                                                                 Translations::MP_Operation_ViolateHasValidPeriod( this.Unit().StartDate(),
                                                                                                                   this.Unit().EndDate(),                                                                                                        this.RoutingStep().Routing().Start(),
                                                                                                                   this.RoutingStep().Routing().End() ) ));
        sanitycheckfeedback_o.Add( SanityCheckCategoryLevel::GetSanityCheckCategoryDataWarning() );                                                                                                               
      }
    }
    
    return isvalid;
  *]
}