Workflow check for employee in D365

Hello Everyone,


Below code will help to check if employee is having any pending workflow.


// workflow validation


DirPersonUser    personUser;

HcmWorker        worker;

WorkflowWorkItemTable   workflowWorkItemTable;

HcmPersonnelNumberId    employeeId = "20449";


select firstonly * from personUser

exists join worker

where personUser.PersonParty == worker.Person

        && worker.PersonnelNumber == employeeId;


select firstonly * from workflowWorkItemTable

where workflowWorkItemTable.Status == WorkflowWorkItemStatus::Pending

    && workflowWorkItemTable.UserId == personUser.User;


if (workflowWorkItemTable.RecId)

{

    throw error('Workflow for user exist.');

}


Thanks & Regards

Avinash Patil

Comments