| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod CreateAlgorithmRunMessage ( | 
|   MacroPlan macroplan | 
| ) | 
| { | 
|   Description: 'Create sanity check message for algorithm run.' | 
|   TextBody: | 
|   [* | 
|     // Adhi Aug-11-2015 (created) | 
|     traverse( macroplan, SanityCheckGroup.astype( SanityCheckGroupAlgorithmRun ).InvalidAlgorithmRun, | 
|               invalidobject ) | 
|     { | 
|      feedbacks := construct( Strings ); | 
|      sanitycheckfeedbacks  := construct( Strings ) | 
|      invalidobject.DoSanityCheckGroupAlgorithmRun( feedbacks,sanitycheckfeedbacks ); | 
|         | 
|      i := 0; | 
|      traverse( feedbacks, Elements, fb ) | 
|      { | 
|       if( not exists( invalidobject, SanityCheckMessageAlgorithmRun, msg, msg.Description() = fb ) ) | 
|       { | 
|         //tokenize msg to retrieve category level and seperate the actual feedback | 
|         sanitycheckmessage := SanityCheckMessageAlgorithmRun::Create( invalidobject.SanityCheckGroupAlgorithmRun(), | 
|                                                                      fb, | 
|                                                                      true, | 
|                                                                      sanitycheckfeedbacks.Element( i ) ); | 
|         sanitycheckmessage.AlgorithmRun( relset, invalidobject ); | 
|       } | 
|       i ++; | 
|      } | 
|     } | 
|   *] | 
| } |