| 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; | 
|   *] | 
| } |