Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method IsChanged ( 
 | 
  String strategy, 
 | 
  Boolean overwritelocked, 
 | 
  Boolean onlyplanonestep, 
 | 
  String smartplandirection, 
 | 
  Boolean limitunit, 
 | 
  Units units, 
 | 
  output String feedback_o 
 | 
) declarative remote as Boolean 
 | 
{ 
 | 
  Description: 'Check whether data is changed in UI' 
 | 
  TextBody: 
 | 
  [* 
 | 
    existingunits := this.UnitForSmartPlan( relget ); 
 | 
    notinnewset := existingunits.Difference( units ); 
 | 
    notinexisting := units.Difference( existingunits ); 
 | 
     
 | 
    ischanged := strategy <> this.Strategy()  
 | 
                 or overwritelocked <> this.OverwriteLockedPlanning() 
 | 
                 or onlyplanonestep <> this.OnlyPlanOneStep() 
 | 
                 or limitunit <> this.LimitUnitBySmartPlan() 
 | 
                 or smartplandirection <> this.SmartPlanDirection() 
 | 
                 or  notinnewset.Size() > 0 or notinexisting.Size() >0; 
 | 
     
 | 
    if ( not ischanged ) 
 | 
    { 
 | 
      feedback_o := Translations::MP_Designer_NoChangesMade(); 
 | 
    } 
 | 
     
 | 
    return ischanged; 
 | 
  *] 
 | 
} 
 |