co-production and copyright by Ginger Gatling and Swen Conrad
Business Activity Monitoring – Introduction
Business Activity Monitoring (BAM) provides the user with real time visibility into business critical process events. Such events may be blocked orders for major customers, overdue critical vendor shipments or deviation of plan versus actual sales figures. Managing business performance via SAP NetWeaver Business Intelligence (BI) helps you identify bottlenecks in your process or business performance and can drive improvements from a tactical to strategic point of view. However, BAM gives you real time access to the operational business processes. Process exceptions, like the examples above, are routed to the appropriate user who can deal with them real time. This pro-activity will help you to improve the efficiency of the process, but more importantly improve customer satisfaction and therefore bottom line. It helps you build what Gartner calls the zero latency enterprise. This blog describes the high level building blocks of SAPs BAM offering without going into any configuration details at this time. Details may come later but are also covered by the related BAM blog series by Michal Krawczyk starting with blog #1 at this The specified item was not found..
SAP NetWeaver and other components enabling the Real Time Enterprise
The picture below provides a good overview of SAPs integrated BAM solution, which uses various components of the NetWeaver stack like Process Integration (XI), Business Intelligence (BI), and Guided Procedures (GP). By means of the local event infrastructure, backend connectivity to the mySAP Business Suite as well as legacy and 3rd party products exists. All the mentioned components are tightly integrated out of the box and the implementation within a customers environment is done via system configuration rather than programming. To make this configuration even easier, it is SAPs goal to provide templates of ready to run BAM scenarios to our customer base over time. The next chapters will provide a high level overview of the key BAM components and are structured like the graphic below. Picture 1: BAM building blocks
SAP’s Event Infrastructure is included in every SAP application system. All SAP applications understand eventing and automatically generate hundreds of events. For example, when a sales order is created in an ERP system, an event occurs. When an employee is hired in HCM, an event occurs. When a shopping cart is created in SRM, an event occurs. Many events happen natively within the SAP application systems. If you need additional or custom events, SAP provides tools for you to create new events. I had one customer that needed an event to occur if the text on an order line item was changed to a specific value. Of course there was not a native event for this, but the customer was able to add a custom event when the text changed. The events in the SAP application systems are then sent to SAP NetWeaver Exchange Infrastructure. The events can be filtered on the application side via transaction code SWF_BAM, or they can be filtered in SAP NetWeaver XI. Because the events are delivered in XML format to SAP NetWeaver XI, non-SAP events are handled in a consistent manner. Events occurring in non-SAP systems can be delivered to SAP NetWeaver XI. Alternatively, there is an API if you wish to publish the non-SAP event in the SAP application system.
ccBPM component of Exchange Infrastructure
SAP NetWeaver Exchange Infrastructure with ccBPM is at the center of the BAM solution and has several roles:
- Correlate business documents and assign them to the correct process instance,
- model and monitor process conditions or business rules, and
- define process deadlines triggering subsequent steps that are to be executed when the deadline is not met. Lets have a brief look at each of these roles.
ad 1 – Message correlation You use a correlation to assign messages that belong together to the same process instance. A correlation joins messages that have the same value for one or more XML element. A correlation is therefore a loose coupling of messages. These messages may be received from multiple systems. For example, if you want to monitor the time it takes from placing a purchase order with one of your suppliers to when you are receiving the physical shipment at your loading dock, however, the two process steps are being processed in two different systems, you may correlate related business documents from the backend systems via key identifiers, in this example the purchase order number. ad 2 – Process conditions/ business rules Business rules can be specified within the ccBPM process in the form of conditions and act as a kind of secondary filter (as opposed to the first filter in the event infrastructure see chapter above). Looking back at the purchase order example above, you may only want to monitor certain purchase order types, for example a rush order type. Your process condition is implemented by limiting your monitoring criteria to only specific order types. Another example for a business rule is checking of a customer credit rating during order processing: Consider you are collecting sales orders from different order entry systems and you want to make sure that orders from all sources are consistently checked for satisfactory customer credit rating. There are two options to implement this:
- Best case: The customers credit rating is provided to XI via the sales order document from the backend system. With a switch step in ccBPM you compare the value of the customers credit rating against the desired value(s). If a customer does not meet the requirements, you can throw and alert to your BAM dashboard for human resolution by a customer order admin.
- Other option: The customers credit rating is not provided to XI via the sales order document from the backend system. While this requires a little extra work, it is easily doable in ccBPM. Within your ccBPM process instance you would read the customer number from the sales order document and then do a call from the same ccBPM integration process to a backend or third party credit system to find the relevant rating. The response message from the backend system would then be compared to your business rule as defined in the switch step.
In either case, you can easily implement your specific business rules to trigger alerts for immediate resolution. ad 3 – Process deadlines Lets go back to the previous example of the rush purchase order. Lets assume that you expect to receive such an order within 24 hours of creating the PO and submitting it to your vendor. As before, this event was communicated to XI via the event infrastructure in the mySAP business suite. There, within a process instance of ccBPM, we checked for specific order types, and rush order was one of them. Now we want to throw an exception if we do not receive a goods receipt for this order within 24 hours. To do this in XI, you would simply create a block what is nothing else than a grouping of several process steps. Within this block you now define a deadline branch and give it a value of the 24hours. Once you hit the deadline condition, your process instance will complete along the deadline branch and you can freely design remaining steps at this time. Of course, in our example, one of these steps will be to throw an alert. Lets have a look at how you can control and steer your business based on alerts as well as overall process efficiency information within the BAM solution.
Event Resolution Dashboard
Once an alert or a specific event occurs that requires human interaction, the Event Resolution Dashboard enables the user to respond to events. In the Event Resolution Dashboard we provide the ability to both research and resolve the problem. For example, in a purchasing scenario an alert occurs when the goods receipt quantity does not match the purchase order quantity. In the Event Resolution Dashboard we would look at our history with the vendor, the percentage of time we get a short shipment, and how much business we do with this vendor. The resolution is provided via Guided Procedures.
Process Efficiency using SAP NetWeaver Business Intelligence
As you are monitoring events in SAP NetWeaver XI, you need to analyze the efficiency of the process: how often does it execute, what percentage of the time do alerts occur, what is the average process time, etc. This can all be accomplished using SAP NetWeaver Business Intelligence. The Integration Process logs from SAP NetWeaver XI are pushed to SAP NetWeaver BI where you can execute queries on the performance of the processes. Process efficiency capabilities exist today and can be used with Integration Process logs and SAP Business Workflow logs. You must have SAP NetWeaver 2004s for the BI content. With SAP NetWeaver 2004s, your business intelligence capabilities come delivered with all the content (info packages, info cubes, queries, etc) to do reporting on workflow and Integration Process logs. The Analysis requires that the entire correct context surrounding the event is available to the user. They may need to execute specific BI queries, lookup Knowledge Management attachments, access various SAP and non-SAP application systems.
Now you know how to transform your company into a real-time enterprise as well as the relevant SAP NetWeaver components and their functionalities utilized. In brief they are:
- Event Infrastructure in all SAP application systems (release-independent) to expose relevant business activities.
- Exchange Infrastructure to correlate system messages into one process instance as well as enforcing business rules and monitoring deadlines.
- Alert Framework, used to alert user of important alerts and events.
- Guided Procedures, for guiding users in pre-defined resolution path for alerts and events (available in SAP NetWeaver 2004s). This Innovative ways to use alerts will provide more information on triggering alerts.
- Process efficiency reporting in BI for statistical and after the fact process analysis (the BI system must be SAP NetWeaver 2004s).
In the future we will have a new Event Resolution Dashboard and increased event management capabilities in SAP NetWeaver Exchange Infrastructure.