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