Datamanagement sequence

sandeepr
New Contributor II

Hi Everyone,

I have requirement to run 4 data management steps in parallel, is there a way to run 4 data management steps same time?

 

Thanks in advance.

 

 

11 REPLIES 11

MarkBird
Contributor II

Hi Sandeep

I haven't tried to run data management steps in parallel before, but what you could try is to put each step in it's own sequence and then kick them all off at once using a business rule: 

 

BRApi.Utilities.StartDataMgmtSequence(si, "Sequence 1", Nothing)
BRApi.Utilities.StartDataMgmtSequence(si, "Sequence 2", Nothing)
BRApi.Utilities.StartDataMgmtSequence(si, "Sequence 3", Nothing)
BRApi.Utilities.StartDataMgmtSequence(si, "Sequence 4", Nothing)

 

This should start each of them in the background, so I think it will effectively run them in parallel.

Regards,

Mark

Hi Mark, How would I pass a variable (user selection from a parameter) from the initial Data Management Sequence to the next DM step?

I am running into errors when using the code when trying to pass the Entity and Scenario variables.  

Thanks, Stephen

BoscoBear21_0-1702395792381.png

 

BoscoBear21_1-1702395815285.png

 

Hi Stephen

In order to pass parameters to the sequence you need to create a Dictionary (Of String, String). See below:

'Prepare Parameters
Dim params As New Dictionary(Of String, String)
params.Add("Paramter1Name", "Paramter1Value")
params.Add("Paramter2Name2", "Paramter2Value")

'Execute Sequence
BRApi.Utilities.StartDataMgmtSequence(si, "DataMgmtSequenceName", params)

 

Example using your code:

'Prepare Parameters
Dim params As New Dictionary(Of String, String)
params.Add("FCSEntity", SelectSeedingEntity)

'Execute Sequence
BRApi.Utilities.StartDataMgmtSequence(si, "ClearTest1Prior", params)

 

 

Thank you Mark,  I implemented those changes and am a little closer to resolving the issue ... I am attaching a screenshot of my DM (with the prompts for E# and S#) as well as the BR coding and the error message.  Any help/thoughts is greatly appreciated!

BoscoBear21_0-1702404897246.pngBoscoBear21_1-1702404907131.png

 

BoscoBear21_2-1702404918879.png

 

 

First off, your parameter names are wrong, Try this:

'Prepare Parameters
Dim params As New Dictionary(Of String, String)
params.Add("SelectSeedingEntity", SelectSeedingEntity)
params.Add("FromScenario", FromScenario)
params.Add("ToScenario", ToScenario)

'Execute Sequence
BRApi.Utilities.StartDataMgmtSequence(si, "ClearTest1Prior", params)

But secondly, what are you trying to achieve? It looks to me like you have a Data Management Sequence that executes a custom calculate function that is just going to execute another Data Management Sequence?

Thanks!  I can try that change.  In a planning app, I am trying to run in parallel (for the client) 7 years worth of clearing and copying data.   The current process that is in place does each one of the years back to back to back, etc.,  Takes a long time/  The End User, from a Dashboard, is prompted to select the Entity and To/From Scenarios to clear/copy

drgerrow
New Contributor III

This solution seems a little klunky to me for the average user and normal use case, I'm wondering if an easier option might be that the Data Management Sequence could have a checkbox upfront that prompts whether the Steps can be run in parallel or not, similar to how it prompts today what servers to run on.

Darryl Gerrow, CFO Solutions LLC

sandeepr
New Contributor II

Thanks @MarkBird I will try this and let you know.