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