📚 SAP Business One SDK Help

Complete Method
See Also  Example
pIWorkflowTaskCompleteParams
The key of the approval task to be completed.

Description

Completes a given approval task specified by WorkflowTaskCompleteParams (TaskID), adds notes, and triggers parameters for the task given in WorkflowTaskCompleteParams (Note, TriggerParams).

This function, which is asynchronous, sends a signal to the workflow engine to complete the task specified by the "TaskID". You can check the task status to ensure that the task has been completed successfully.

Note: This function is available only for the approval tasks that possess all the follwing features:

  • Type "U".
  • Operation "P".
  • Status "W" or "G".

Syntax

Visual Basic
Public Sub Complete( _
   ByVal pIWorkflowTaskCompleteParams As WorkflowTaskCompleteParams _
) 

Parameters

pIWorkflowTaskCompleteParams
The key of the approval task to be completed.

Example

How to Complete an Approval Task (C#)Copy Code
// using packages  
using SAPbobsCOM;  
using System.Runtime.InteropServices;  
 
// get Workflow Task Service  
CompanyService oCompanyService = oCompany.GetCompanyService();  
SAPbobsCOM.WorkflowTaskService taskService = null;  
taskService = (SAPbobsCOM.WorkflowTaskService)oCompanyService.GetBusinessService(SAPbobsCOM.ServiceTypes.WorkflowTaskService);  
 
// get approval task  
SAPbobsCOM.WorkflowApprovalTaskListParams taskParam;  
taskParam = (SAPbobsCOM.WorkflowApprovalTaskListParams)taskService.GetDataInterface(WorkflowTaskServiceDataInterfaces.wtsWorkflowApprovalTaskListParams);  
taskParam.Status = "W|G";  
 
try  
{  
                SAPbobsCOM.WorkflowTaskCollection tasks = taskService.GetApprovalTaskList(taskParam);   
}  
catch (COMException ex)  
{  
                int code = ex.ErrorCode;  
                string msg = ex.Message;  
                //error handling 
}  
 
if(tasks.count>0) 

                completeParam.TaskID = tasks.Item(0).TaskID;  
                completeParam.Note = "Default Comment";  
                completeParam.TriggerParams = "<Params><Param><Key>Result</Key><Value Type=\"string\">1</Value></Param></Params>";  
                try  
                {  
                                taskService.Complete(completeParam);  
                }  
                catch (COMException ex)  
                {  
                                int code = ex.ErrorCode;  
                                string msg = ex.Message;  
                                //error handling 
                } 

See Also