| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod TriggerMessageSendToSystem (LibDMF_CommunicationChannel channel_i, String messageType_i, String setTypeName_i,  | 
|   String setName, Boolean isNotificationOnly_i, structured_Object data_i,  | 
|   LibDMF_SystemOnChannel soc_i, String sourceKind_i, String sourceName_i,  | 
|   DateTime lastUpdate_i) | 
| { | 
|   TextBody: | 
|   [* | 
|     // The dataset information of the dataset which the job resides | 
|     root        := channel_i.CommunicationChannelRoot(); | 
|     globalparam := root.GlobalParameters(); | 
|     datasetKind := globalparam.DM_DatasetKind(); | 
|     datasetPath := globalparam.DM_DatasetFolder(); | 
|     datasetName := globalparam.DM_DatasetName(); | 
|      | 
|     mds      := MDSEditor::Editor().LoadedObjectInfo( datasetKind, datasetPath, datasetName ); | 
|     haserror := true; | 
|     jobName  := LibDMF_CommunicationChannelRoot::JOB_MESSAGESENDTOSYSTEM(); | 
|      | 
|     if( not isnull( mds ) ) | 
|     { | 
|       job := Reflection::FindStaticMethod( datasetKind, jobName ); | 
|      | 
|       if( not isnull( job ) ) | 
|       { | 
|         haserror := false; | 
|      | 
|         job.AddObjectArgument( mds.MDSID() ); | 
|         job.AddArgument( channel_i.Name() ); | 
|         job.AddArgument( messageType_i ); | 
|         job.AddArgument( setTypeName_i ); | 
|         job.AddArgument( setName ); | 
|         job.AddArgument( isNotificationOnly_i ); | 
|         job.AddObjectArgument( data_i ); | 
|         job.AddArgument( soc_i.DatasetKind() ); | 
|         job.AddArgument( soc_i.DatasetName() ); | 
|         job.AddArgument( sourceKind_i ); | 
|         job.AddArgument( sourceName_i ); | 
|         job.AddArgument( lastUpdate_i ); | 
|      | 
|         job.Execute(); | 
|       } | 
|     } | 
|      | 
|     if( haserror ) | 
|     { | 
|       // Create a "sending" IntegrationEvent to log the error | 
|       event := root.EventCreate( soc_i.DatasetKind(), soc_i.DatasetName(), false ); | 
|      | 
|       // Log the error as an activity | 
|       root.EventLogActivityError( event, | 
|                                   'Unable to trigger job "' + datasetKind + '::' + jobName + '".', | 
|                                   'Job "' + datasetKind + '::' + jobName + '" not found. Please check if the job exist.' ); | 
|     } | 
|   *] | 
| } |