| 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(); | 
|      | 
|     activity := dataset.GetActivityExternal( this.ActivityObjectID() ); | 
|      | 
|     if( isnull( activity ) ) | 
|     { | 
|       activity := dataset.GetActivityExternal( dataset.WorkflowDefinition().ActiveWorkFlowID(), | 
|                                                this.ActivityPrimaryExternalLinkID(), | 
|                                                this.ActivitySecondaryExternalLinkID(), | 
|                                                this.ActivityExternalSystemName() ); | 
|     } | 
|      | 
|     parent := dataset.GetStep( this.ActivityParentID() ); | 
|     user := dataset.GetUser( this.ActivityCreatedByUserID() );  | 
|     assigned_auth := select( dataset, Authorization, auth, auth.DisplayName() = this.ActivityAuthorizationID() ); | 
|      | 
|     if( not isnull( activity ) ) | 
|     { | 
|       activity.Update ( this.ActivityIsCompleted() | 
|                       , this.ActivityName()  | 
|                       , this.ActivityDescription() | 
|                       , this.ActivityIsDefaultOpen() | 
|                       , this.ActivityDueDateHasManual() | 
|                       , this.ActivityDueDate() | 
|                       , this.ActivityCreateOn() | 
|                       , user | 
|                       , assigned_auth | 
|                       , parent | 
|                       , this.ActivityIsActiveExternal() | 
|                       , this.ActivityIsCompletionDependsOnExternal() | 
|                       , this.ActivityPrimaryExternalInformation() | 
|                       , this.ActivtySecondaryExternalInformation() | 
|                       , this.ActivityExternalType() | 
|                       , this.ActivityUpdatedBy() | 
|                       , this.ActivityViewLink() | 
|                       , this.ActivityViewLinkWeb() | 
|                       ); | 
|     } | 
|     else | 
|     { | 
|       SWF_ActivityExternal::Create( dataset.WorkflowDefinition().ActiveWorkflow() | 
|                                   , dataset.GetNewGlobalID() //this.ActivityObjectID() | 
|                                   , this.ActivityIsCompleted() | 
|                                   , this.ActivityName() | 
|                                   , this.ActivityDescription() | 
|                                   , this.ActivityIsDefaultOpen() | 
|                                   , this.ActivityDueDateHasManual() | 
|                                   , this.ActivityDueDate() | 
|                                   , this.ActivityCreateOn() | 
|                                   , user | 
|                                   , assigned_auth | 
|                                   , parent | 
|                                   , this.ActivityIsActiveExternal() | 
|                                   , this.ActivityIsCompletionDependsOnExternal() | 
|                                   , this.ActivityPrimaryExternalLinkID() | 
|                                   , this.ActivitySecondaryExternalLinkID() | 
|                                   , this.ActivityExternalSystemName() | 
|                                   , this.ActivityPrimaryExternalInformation() | 
|                                   , this.ActivtySecondaryExternalInformation() | 
|                                   , this.ActivityExternalType() | 
|                                   , this.ActivityUpdatedBy() | 
|                                   , this.ActivityViewLink() | 
|                                   , this.ActivityViewLinkWeb() | 
|                                   ); | 
|     } | 
|      | 
|     return true; | 
|   *] | 
| } |