Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod AppendFeedback ( 
 | 
  String extraFeedback_i, 
 | 
  output String feedback_o 
 | 
) const declarative remote as Boolean 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    result := true; 
 | 
     
 | 
    currentLenght := feedback_o.Length(); 
 | 
     
 | 
    if ( extraFeedback_i.Length() > 0 ) // Add additional feedback message 
 | 
    { 
 | 
      oterm := SCK_FeedbackBuilder::FeedbackOverflowTerminator(); 
 | 
      olen := oterm.Length(); 
 | 
     
 | 
      if ( currentLenght < olen or feedback_o.SubString( currentLenght - olen, olen ) <> oterm ) 
 | 
      { 
 | 
        add := ""; 
 | 
        // Process if within Max Lenght, else will add Terminator 
 | 
        if( feedback_o.Length() + extraFeedback_i.Length() + 1 < SCK_FeedbackBuilder::GetMaxFeedbackLength() ) 
 | 
        { 
 | 
          add := extraFeedback_i; 
 | 
        } 
 | 
        else 
 | 
        { 
 | 
          add := oterm; 
 | 
          result := false; 
 | 
        } 
 | 
     
 | 
        if( currentLenght > 0 and add.Length() > 0 ) 
 | 
        { 
 | 
          feedback_o := feedback_o + SCK_FeedbackBuilder::FeedbackDelimiter(); 
 | 
        } 
 | 
     
 | 
        feedback_o := feedback_o + add; // Construct new feedback message after adding extra feedback 
 | 
      } 
 | 
    } 
 | 
    return result; 
 | 
  *] 
 | 
} 
 |