Events and Event Collectors in SAP BW
This document would explain the concept of events and event collectors in SAP BW. Also here you can get an overview in support projects where in some cases event collectors does not work correctly and steps to fix such issues. This concept is widely used in BW 3.5 and it is no longer available in BI 7.0 but we can use it in BI 7.0
Overview of Events
An SAP event is a “flag” that is created by using transaction SM62 View and Maintain Background Events. Events are used to trigger the jobs in SAP and it is used to manage the dependency across multiple jobs without using process chains. An event by itself doesn’t do anything. Normally background job needs to be defined & configured to wait for the event. So, create background job through SM36, specify the new event name as the “Start Condition”. New background job always can be defined as a periodic job. This allows you to trigger the job in the future as opposed to one time only.
Suppose there are two process chains A and B, we keep a event B1(Present in Process chain A) to trigger process chain B. Then after completion of process chain A then only process chain B would trigger.
To check in BW system
T-code: SM64 – > BackgroundProcessing Events and to execute any evet..Select the event and click on execute button
An event collector is a quantity of several events that have been successfully completed independently of each other, to which background processing should respond.
The event collector corresponds to the AND process and the process chain maintenance. If an application process is scheduled via an event collector, it starts when all events for the preceding process were successfully triggered.
Event Collector collects several events triggered from corresponding process chain into one event, which is further collectively responsible for triggering further chain based on event collector. If any of the event from event collector does not come then event collector will not get triggered.
If we have multiple jobs, for e.g job X needs to be triggered after the successful completion of job X1, X2 & X3. In order to model this scenario you need to raise individual events after the completion of X1 (E1), X2 (E2) & X3 (E3). Use an event collector to raise another event (E4) when E1, E2 & E3 are raised. Use event E4 as a start condition for job X. You can resemble event collector with AND process type in a process chain.
How to check whether event is present in any event collector
Got to table: RSEVENTCHAIN in SE16 and enter the event name as shown below and execute.
In the below screen shot “Chain Id” gives the technical name of Event Collector, when the event collector receives all the events then it generates the background job run to trigger further job “JobName” displays technical name of background job which starts with BI_(event collector technical name)
In order to view the details of Event Collector ID
Use t-code: RSA1OLD which takes back to RSA1 of 3.5 version and choose Toold-> Event Collector
Then below screen shot pops up, and you can view events associated with this event collectors
Some day if any one of the event present in event collector does not arrive, then the Registtration date and time(Refer above screen shot) of events in the event collectors will not be in sync which would cause event collector not to work correctly. So In order to event collector to work correctly all its events should be in sync.
Solution : To reset the event collector