Forum Discussion

Akalya_N's avatar
Akalya_N
New Contributor
6 months ago

Data management Sequence

Hello Community,

I am encountering an issue with a Data Management Sequence consisting of four steps. The first step is not executing as expected. If anyone has insights into potential causes, I would greatly appreciate your assistance.

Details of the sequence are as follows:

  • The first step is dependent on the successful completion of the second step.
  • The first step involves executing a Business Rule (BR) that includes an Extensibility Rule.
  • The remaining three steps are custom calculations utilizing the Finance rule type.

    When I run the sequence after running the 1st step separately, it is working fine. But the issue is When i try to run the Sequence which is having all 4 steps it is not working fine 

Thank you in advance for your help.

  • Assuming you can confirm with your tests that overlapping is the issue here and you cannot reasonably change the setup of your sequences and rules (on which we in the forum have zero visibility), you might want to change your setup as follows.

    Only trigger step 1 and in the business rule that runs last, kick off the other three steps from the rule itself. This way you should be able to ensure that step 1 is completed before you kick off any other step.

    You can trigger DM sequences by using BRApi.Utilities.StartDataMgmtSequence, BRApi.Utilities.ExecuteDataMgmtSequence, or BRApi.Utilities.QueueDataMgmtSequence.

    StartDataMgmtSequence

    This starts a DM sequence, i.e. it runs the sequences (possibly) in parallel if you start several at once.

    ExecuteDataMgmtSequence

    This executes a DM sequence, i.e. it fully executes the first DM sequence, then the next one. etc. This always waits until the previously "executed" DM sequence has been fully completed.

    QueueDataMgmtSequence

    This behaves like StartDataMgmtSequence, except that this one creates queued tasks that are considered by all DM servers (i.e. you possibly spread the DM sequences across different servers, whereas StartDataMgmtSequence executes DM sequences only on the server the business rule is run that executes the DM sequences).

     

    I hope this helps you getting the execution order right.

  • Henning's avatar
    Henning
    Valued Contributor II

    Hi, what do you mean exactly by "The first step is not executing as expected"? Do you get an error message? Or is the data not calculated as expected (i.e. the result is not correct)?

    Also, when the first step depends on the second step to be completed ("The first step is dependent on the successful completion of the second step."), it points towards an error in the execution sequence as the first step should be executed after the second step as it depends on this to be completed first.

    If this is a misunderstanding, and the second step is actually dependent on the first one, then my guess is that the rules that are triggered by step 1 have not been completed before step number 2 commences. You can test that by writing into the error log in the separate business rules that are triggered and see if the executions overlap in the error log.

    How is this all executed? From the data management page, or does a business rule trigger those steps?

    • Henning's avatar
      Henning
      Valued Contributor II

      Assuming you can confirm with your tests that overlapping is the issue here and you cannot reasonably change the setup of your sequences and rules (on which we in the forum have zero visibility), you might want to change your setup as follows.

      Only trigger step 1 and in the business rule that runs last, kick off the other three steps from the rule itself. This way you should be able to ensure that step 1 is completed before you kick off any other step.

      You can trigger DM sequences by using BRApi.Utilities.StartDataMgmtSequence, BRApi.Utilities.ExecuteDataMgmtSequence, or BRApi.Utilities.QueueDataMgmtSequence.

      StartDataMgmtSequence

      This starts a DM sequence, i.e. it runs the sequences (possibly) in parallel if you start several at once.

      ExecuteDataMgmtSequence

      This executes a DM sequence, i.e. it fully executes the first DM sequence, then the next one. etc. This always waits until the previously "executed" DM sequence has been fully completed.

      QueueDataMgmtSequence

      This behaves like StartDataMgmtSequence, except that this one creates queued tasks that are considered by all DM servers (i.e. you possibly spread the DM sequences across different servers, whereas StartDataMgmtSequence executes DM sequences only on the server the business rule is run that executes the DM sequences).

       

      I hope this helps you getting the execution order right.

    • Akalya_N's avatar
      Akalya_N
      New Contributor

      Hi,

      Actually, In my DM sequence there are 4 steps. the 1st step is not even running, It directly running from the 2nd step to 4th step.

      • Henning's avatar
        Henning
        Valued Contributor II

        Ok, that is a different issue then. I assume step 1 has been added to the sequence steps?

        How do you know it is not running? Can you write something into the error log?