Cancel Workflow through Code in x++

 Cancel Workflow through Code in x++

private void updateWorkflowStatus(SalesTable  salesTable)

    {

        WorkflowTrackingStatusTable _workflowTrackingStatusTable;


        select firstonly CorrelationId, TrackingStatus 

        from _workflowTrackingStatusTable

        where salesTable.RecId == _workflowTrackingStatusTable.ContextRecId

        && salesTable.TableId == _workflowTrackingStatusTable.ContextTableId

        && _workflowTrackingStatusTable.TrackingStatus != WorkflowTrackingStatus::Cancelled;


        if(_workflowTrackingStatusTable

            && _workflowTrackingStatusTable.TrackingStatus != WorkflowTrackingStatus::Cancelled)

        {

            Workflow::cancelWorkflow(_workflowTrackingStatusTable.CorrelationId, "cancel by code");

        }

        


        salesTable.selectForUpdate(true);

        ttsbegin;

        salesTable.DSSH_WorkFlowStatus = DSSH_WorkFlowStatus::NotSubmitted;

        salesTable.update();

        ttscommit;


    }

Comments

Popular posts from this blog

D365FO – AX – X++ –Refresh, Reread, Research, and ExecuteQuery

SalesLine Reservation in D365fo x++

Create Inventory Journal through Code in D365FO X++