Quintiq file version 2.0
|
#parent: #root
|
MethodOverride Execute (
|
DSP_ServiceCommitterBase local_committer,
|
output String soft_error_o
|
) as Boolean
|
{
|
TextBody:
|
[*
|
dataset := local_committer.astype( SWF_ServiceCommitter).Service().WorkflowDataset();
|
|
step_definition := dataset.GetStepDefinition( this.StepDefinitionObjectID() );
|
deletedObjs := construct( Keys );
|
|
if( not isnull( step_definition )
|
and not isnull( dataset.IOSyncHandler() ) )
|
{
|
deletedObjs := selectvalues( step_definition.GetAllChildren(), Elements, e, true, e.ID() );
|
deletedObjs.Add( this.StepDefinitionObjectID() );
|
|
deletedRequiredStepIDs := construct( Keys );
|
deletedDependentStepIDs := construct( Keys );
|
|
traverse( step_definition.GetAllChildren(), Elements, e )
|
{
|
deletedObjs.Add( e.ID() );
|
|
traverse( e, RequiredStepDependency, r )
|
{
|
deletedRequiredStepIDs.Add( r.RequiredStepID() );
|
deletedDependentStepIDs.Add( r.DependentStepID() );
|
}
|
}
|
|
dataset.IOSyncHandler().O_SyncStepDefinition( null( SWF_StepDefinitions ), deletedObjs );
|
dataset.IOSyncHandler().O_SyncStepDefinitionDependency( null( SWF_StepDefinitionDependencys ), deletedRequiredStepIDs, deletedDependentStepIDs );
|
}
|
|
if( not isnull( step_definition ) )
|
{
|
step_definition.Delete();
|
}
|
|
return true;
|
*]
|
}
|