Skip to Content

 Scenario:

Let’s say there are two Process chains A and B and C.  A and B are the Master chains which extracts the data from different non sap source systems. All our BW chains are dependent on a non sap source system, when the jobs get completed on non sap systems, it’ll send a message to the third party system from where our BW jobs will get triggered an Event based.

Note: Reason why the non sap system sends the message to third party triggering tool is because when ever there is failure in the non sap System; it will not raise an event to kick off the BW chain(s). we have to trigger them manually. To avoid this we use the third party triggering toll to trigger the chains at a time using an Event .

Now C is dependent both on A and B, In other words C has to trigger only after A and B is completed. 

We can achieve this using the Interrupt Process type.                          

For example, if Process chain A got completed and B is still running, then using the Interrupt we can make the Process chain C to wait until both the Chains got completed.

Let’s see step by step.

 Process Chain A and B

image

 Process chain C

Process chain C is dependent on both A and B chains, we use interrupts (A_interrupt, B_interrupt) which will wait till those chains got completed.

image

Now let’s see how interrupt works

A_interrupt: Interrupting the PC C until PC A gets completed.

image

image

Copy the highlighted Event and Parameters

image

Enter the above copied Event and Parameter in the Interrupt Process type like below screen 

image

Activate and schedule all the three process chains.

Note: All the three process chains (A, B, C) get triggers on Event based.

When the process chain C is in Scheduling, you can see the job BI_INTERRUPT_WAIT      in both A and B chains like below screens.

image

Three chains (A , B , C) got triggered by the same Event

<<img src=”https://weblogs.sdn.sap.com/weblogs/images/251925283/Interrupt10.JPG” border=”0″ alt=”image” width=”659″ height=”200″ />

 

C will wait for both A and B like below.

image

 

 

 


To report this post you need to login first.

12 Comments

You must be Logged on to comment or reply to a post.

  1. Pratik Tandel
    Thanks for your post. I have a question though, what happens in this scenario.

    Let’s assume A fails and B succeeds. C will wait till both are finished, in which case it will not run that day.

    Next day both A and B succeeds, will C pick up the data request ID from previous day for A or will it have both data request IDs.

    Also what does the Reset Interrupt do? Any insight will be helpful. Again thanks for the post and visual explanation.

    (0) 
    1. Jyothi Velpula Post author
      Hi Pratik,

      Scenario1:Yes, When A fails and B succeeds.. C will wait for A until it gets successfully completed.

      Note:When a PC gets failed,we will rectify the issue to get it resolved and make the PC successful.otherwise we’ll miss that particular day data!

      Scenario2:C will pick up both A’s previous and current load.

      Thank you.
      J

      (0) 
  2. Loed Despuig

    Hi,

    I have a question..

    What if I have two (2) chains:

    MAIN_PC – executed daily every 3AM

    SUB_PC – executed daily every 8AM

    This is the diagram of my SUB_PC chain which starts every 8AM daily:

                START

                       |

              INTERRUPT

    (based on AFTER EVENT – using the EVENT and PARAMETER of last process of MAIN_PC chain)

                       |

         ABAP PROGRAM (to send report)

     

    ***NOTE:

    The ABAP PROGRAM in SUB_PC chain must run later than 8AM and if MAIN_PC ran successfully..

    Will the INTERRUPT process work before the ABAP PROGRAM in the SUB_PC chain if the MAIN_PC ran before 8AM? How about if MAIN_PC ran around 10AM (because an error occurred during its run), will SUB_PC still work?

    Thank you!

    Loed

    (0) 
    1. Pratik Tandel

      Loed –

      In your case, ABAP Program in SUB_PC will run only after MAIN_PC is finished and after the scheduled start time of SUB_PC, ie., 8 am).

      If MAIN_PC finishes after 10 am, then SUB_PC will start after 10 am.

      Hope this helps,

      Pratik.

      (0) 
      1. Loed Despuig

        Thanks mate..

        Will that happen everyday?

        On your example, the MAIN_PC ran at 10AM so the ABAP PROGRAM will also ran at 10AM..What if the event was triggered again at around 1PM same day? Will the chain re-run?

        Thank you!

        Loed

        (0) 
        1. Pratik Tandel

          Loed –

          SUB_PC will not run unless you have it periodically scheduled to run multiple times in a day.

          How often SUB_PC runs, will depend on the periodic values of START_PROCESS of SUB_PC and not the INTERRUPT_EVENT in SUB_PC.

          Pratik.

          (0) 
          1. Loed Despuig

            So if I put the START PROCESS to run daily it will only run once a day (even if the PERIODIC in INTERRUPT EVENT was ticked)? Is that right? Ok mate..Thanks for clarifying it..

            Thank you!

            Loed

            (0) 
          2. Loed Despuig

            By the way, I am just curious, but this is not part of my requirements..

            Where can I configure to run the process chain multiple times in a day?

            (0) 

Leave a Reply