Monitor Sales Order Processing with Process Observer for Built-In Processes (POB)
This is the fourth blog post in the series of “Process Observer for Built-In Processes” (POB).
The previous posts of the series have given an Introducing New Component: Process Observer for Built-In Processes (POB), described the Architecture of Process Observer for Built-In Processes (POB), and explained the Setup of Component Process Observer for Built-In Processes (POB) of the component.
In this blog, we are looking at how to use sample content for Process Observer shipped with ERP 6.0 EhP 5. We assume that Process Observer is already set up in your system. Two example process definitions are shipped with Support Package 06 of ERP 6.0 EhP5:
- Purchasing Process (Purchase Request to Invoice Receipt) and
- Sales Order Processing (Inquiry to Delivery).
As the process definitions are defined as normal customizing, you may need to check that the Process Observer customizing is copied from client 000 to your current client.
To follow the exercises in this blog, it may be useful to have a copy of composite role SAP_POC_BPX assigned to the user, with appropriate authorization settings in the profile.
In the following, we are only going to look at the example for sales order processing. Using transaction POC_VIEWER from the SAP Easy Access Menu, or entering directly as transaction code, you can open the Process Definition Viewer.
Process Observer in the SAP Easy Access Menu.
To view the process definition, enter ‘SALES ORDER PROCESS’ as the process definition ID and press the ‘Search’ Button. Choose the ‘Change Layout…’ button on the table of activities displayed and choose the appropriate columns to get the following view:
Sales Order Processing (Inquiry to Delivery) in the Process Definition Viewer.
The columns contain the following information:
- Activity Definition: name of the activity (= process step) to be monitored
- Start: activity is a start activity of the process
- End: activity is an end activity of the process
- Task: normalization of the event that is linked to the activity
- Object Type + Event: BOR object type and event linked to the task
The terminology refers to the BPMN 2.0 specification. The complete meta model used by Process Observer will be explained in a separate blog soon.
This reads as follows: if during runtime, an event CREATEFROMDATA of BOR Object BUS2030 is thrown, it will be referenced as task ‘Create Customer Inquiry’ and logged together with the ID of the inquiry as an activity (= process step) named ‘Create an Inquiry’.
The related activities information given below is optional, it defines the best practice for the execution of process steps by defining predecessor and successor activities. In this case, it defines a best practice sequence as follows:
‘Create an Inquiry’ and ‘Create Sales Order’ are both marked as start activities. This means that either of them can create a new process instance in the process log. However, a new process instance is created for a ‘Create Sales Order’ only if there is no preceding inquiry.
‘Post Goods Issue’ is marked as an end activity. This is mainly relevant for the handling of the system status of the process. It changes from ‘Started’ (Start Activity) over ‘In Process’ (Any Other Activity) to ‘Finished’ (End Activity). But note that this does not mean that the process is actually in final state. ‘Finished’ can again be followed by a ‘Restarted’:
Switching to tab ‘Status’ allows you to see additional user status, as they have been defined in the process definition:
You can also find count and duration KPIs defined, that will then be determined at process instance level, and will be available for process monitoring and for process analytics:
To start logging, you have to set the log level for ‘Sales Order Processing’ to ‘Standard Logging’, using transaction POC_MODEL (Create/Edit Process Definition).
In POC_CUSTOMIZING, you can now again check that the required BOR events are active. Find details on this in the Setup of Component Process Observer for Built-In Processes (POB).
Now run your process, either starting from inquiry or from sales order. You can use the following transactions in the system:
– Create / Change Inquiry VA11/VA12
– Create / Change Quotation VA21/VA22
– Create / Update Sales Order VA01/VA02
– Create / Update Outbound Delivery VL01N/VL02N
Make sure to create all objects with reference to the predecessor objects. Without those references the process would not work from business perspective! The references will make it possible for Process Observer to determine the process chain. Note, that if you add references to predecessor objects after creating the object itself would mean, that the creation is not part of this process instance.
Let us check how the result looks in the process monitor. There are two ways you can enter the process monitor. You can either access it directly, choosing ‘Process Monitor’ from the SAP Easy Access Menu (see above), or by entering transaction code POC_MONITOR.
Choose the appropriate selection criteria to find your process instance. The ‘Start Date’ for example refers to the execution time of the first activity in the process. Using the ‘Hide/Show Advanced Search’ button, you can also toggle additional search fields.
With a double click on a process instance, or by pressing button ‘Process Details’, you find the activities (=steps) of the process instances, the last step at the top.
You can also find the current KPI values in the monitor:
With a double click on the Business Object ID, you can directly navigate to the display transaction for the business object, as defined for the corresponding BOR object. For example when clicking on the ID for the Sales Order, you would navigate to transaction VA03.
The other option is to use the Generic Object Services (GOS) directly from an application. As an example you see here, how you can navigate from the sales order directly to the Process Observer process instance linked to it:
The GOS may not be active by default. Depending on the application, you may have to activate it.
To activate GOS for the sales order, you have to enter the following parameter to your user profile:
Now just a few words about process analytics and the capabilities of Process Observer in this context. As explained before, we deliver BI Content for Process Observer. After installation, you have to activate the BI content objects. You can do this by activating them directly from the backend system (for example, your ERP) by choosing the ‘Activate Business Intelligence Objects’ from the IMG for Process Observer (transaction POC_CUSTOMIZING).
On the next screen, enter the RFC Destination of your BW system and select ‘Activate’. This will activate the required DataSources in the (local) backend system, as well as in the business warehouse.
With the BI Content Extensions, you also get the following Xcelsius Dashboard 0XC_POC_MP01 (Dashboard for O2C Scenario) which runs on a SAP BW system >= 7.02 and which is based on the definition of ‘Sales Order Processing (Inquiry to Delivery’) as given above, including the KPI definitions.
You may then have to activate the dashboard directly in the BW using transaction RSOR:
To make it run, you further need to open it from the BW system in Xcelsius and enter the logical system name of the backend ERP client (as defined in table T000), together with the process definition ID in cell $C$7. This is because the process definition ID is defined as compounded with the logical system name in the BW.
The dashboard is interactive. It allows you to change year and aggregation method. You can use the sliders to select a time interval for display in one of the diagrams. You can click one point in the graphs that then updates the lower table, displaying the top 10 or bottom 10 process instances with respect to the diagram chosen from. The levels for changing the color codes are also defined in the dashboard and can be adjusted. You can choose to read the process data either from the BW system after replication, or from the ERP backend directly via VirtualProviders.
Sample Dashboard for Sales Order Processing
As an outlook, we give you here a lab preview of an advanced dashboard, combining Process Observer data with standard BI content of the sales order to give you a deeper insight into the delivered-on-time aspects in the context of perfect order processing.
In the upper left corner, the dashboard preview shows the overdue sales volume compared to the total sales volume. Next to it on the right side, you find the overall rate of sales order items delivered on time, and the average overdue duration for specified time periods.
In the lower left corner, you are able to drill down the overdue and overdue cost information into further dimensions like material, material group, customer or sales organization. On the right side, you would further find the bottom 10 process instances for a given time period and drilldown. From here you’ll be able to navigate to the process monitor.
Lab Preview of an Advanced Delivered-on-Time Dashboard combining Process Observer Data with Stardard BI Content.
In the next blog, my colleague Jens-Christoph Nolte will explain how you Create Process Definition for Process Observer for Built-In Processes (POB) from scratch.
In addition, in one of the next blogs, we will show how you can extend process definitions with additional new activities which require own new events like the change of the promised delivery date.
Please note that we will continue to enrich our preconfigured scenario content for Purchasing Process (Purchase Request to Invoice Receipt) and Sales Order Processing (Inquiry to Delivery) with additional steps and more process details.