Forum Discussion

YanSavinsky's avatar
YanSavinsky
New Contributor III
7 months ago

Running DM package from the BR and completing the workflow step

I would like to give my users the ability to launch the DM sequence from the workflow step. I have the dashboard with the button that passes the parameters to the DM package and launches the package....
  • MikeG's avatar
    MikeG
    7 months ago

    Create 1 Dashboard Extender rule with 2 functions - one to Complete and one to Revert.  Do not do this by way of a DM Sequence.  There is no API for Refresh Application.  Take 1 step back to take 2 steps forward.

    Hope this helps!

  • FredLucas's avatar
    FredLucas
    7 months ago

    Hi YanSavinsky,

    I believe the following solution will give you what you are looking for with minimal changes to your existing logic:

    1. Remove the last step from your DM Sequence - EPU_Complete_WF
    2. Create a Dashboard Extender Rule that triggers the DM Sequence and updates the WF Status in case of success (see snippet below)
    3. Update the button to trigger this dashboard Extender Rule instead
    Case Is = DashboardExtenderFunctionType.ComponentSelectionChanged
      If args.FunctionName.XFEqualsIgnoreCase("ProcessDMSequenceAndUpdateWFStatus") Then
        '{REP_SolutionHelper}{ProcessDMSequenceAndUpdateWFStatus}{}
        Dim selectionChangedTaskResult As New XFSelectionChangedTaskResult()
        selectionChangedTaskResult.IsOK = False
        selectionChangedTaskResult.ShowMessageBox = True
    
        'Launch data management sequence
        Dim customSubstVars As New Dictionary(Of String, String) 'You can use this dictionary to pass on parameters to your DM Sequence
        Dim objTaskActivityItem As TaskActivityItem = BRApi.Utilities.ExecuteDataMgmtSequence(si, "Workflow EPU Process IFRS", customSubstVars)
        objTaskActivityItem = BRApi.TaskActivity.GetTaskActivityItem(si, objTaskActivityItem.UniqueID)
        If (objTaskActivityItem.HasError) Then ' -- If there were errors 
          selectionChangedTaskResult.Message = "Process completed with errors."
          Return selectionChangedTaskResult
        Else ' -- If DM sequence runs ok
          selectionChangedTaskResult.IsOK = True
          selectionChangedTaskResult.Message = "Process has completed successfully."
          ' You can paste and adapt your existing WF Status Update code here
    
          Return selectionChangedTaskResult									
        End If
      End If

     

    I hope this helps.

    Thanks,

    Fred