SAP Overall Equipment Effectiveness Management (SAP OEE Management) allows to measure and analyze plant performance both in real-time and historically. SAP OEE enables to measure availability and performance of the equipment and the quality of goods produced by the equipment. It provides analytics and charts that focus on OEE and different kind of losses like performance loss, availability loss, quality loss related KPIs. It has drill down capability to enable root cause analysis of those losses.
To measure the performance of manufacturing process and resources, its necessary to define the KPIs and set specific target values that need to be achieved. Its also important to measure those KPIs continuously to ensure the process is stable and optimized.
SAP OEE has in built standard KPI named as AVAILABILITY, PERFORMANCE, QUALITY AND OEE. Apart from these four, there could be industry specific KPIs that need to be captured and monitored in a plant.
So, here in this document the methodology has been described to achieve custom KPI calculation for all key performance indicators in SAP OEE.
Following steps are required to achieve custom KPI calculation or update standard KPI calculation which are displayed in KPI panel of OEE dashboard.
- For custom KPI calculation, those custom KPIs must be defined along with standard KPIs and target values should be set under plant hierarchy in ERP system.
Once that is defined and transferred through Plant hierarchy IDocs, same starts reflecting under Display SAP ERP Master Data.
Below IDocs need to be sent from ERP to SAP MII which are having KPI information:
Below standard OEE database tables will get an update on triggering IDoc from ERP. These three tables are utilized to store KPI related data information.
Table Name |
Description |
MPM_KPI |
This table contains client specific standard and custom KPIs created in ERP, UOM, KPI_Type |
MPM_KPIT |
This table contains description of all KPIs maintained in MPM_KPI table in all languages supported by SAP OEE |
MPM_KPITARG |
This table contains client and plant specific KPIs, Target values of each KPIs, Material specific Node ID of Workcenter maintained under plant hierarchy. This data comes with Plant hierarchy IDoc. |
- On click of Details button, KPI actual values are displayed with a color-coding set based on the target value range. If this target value is not maintained in ERP, then display of actual values with color coding will not appear in the dashboard.
Below standard OEE database tables will get an update on triggering IDoc from ERP. These three tables are utilized to store KPI related data information.
3.Using SAP MII workbench, custom business logic service is developed and all the custom KPI calculation will be performed inside the transaction.
- Activity Configuration:
- Go to SAP MII Menu Page
- Navigate Worker UI management--> Activity Configuration.
- Create two custom activities- one is for custom extension and another for displaying custom KPI in OEE dashboard.
- Choose Create Activity.
- Give proper activity ID
- Class or URL is defined as sap.oee.ui.oeeOperatorDashboardStandardDeliveredActivityForPanel2
- Activity Type is UI
- Put Description as ALLOWED_KPI
- Under Option tab, assign ALLOWED_KPI (same as description) and define all required custom and standard KPI name
- AUTO_REF_TIME_IN_MIN parameter can be defined to achieve auto refresh functionality on OEE dashboard in a certain frequency interval (defined as value of the parameter) to get runtime custom value of KPIs and displayed them on dashboard.
Activity ID creation for custom extension:
- Give proper activity ID
- In the Activity URL, specify Custom transaction path created in MII workbench.
- Choose Activity Type as Transaction.
- Put Proper description of that Activity.
- Dashboard Configuration
- Under operator dashboard, Create a copy of standard Operator dashboard.
- Give Dashboard ID.
- Put Dashboard Description.
- Content for section B would be replaced by ALLOWED_KPI which was created earlier as an activity for displaying KPIs on OEE dashboard. So, on loading of OEE operator dashboard current shift KPIs panels positioned to second layout gets updated with computed KPI values.
- General Configuration
- Go to SAP MII Menu Page
- Navigate Worker UI management--> General Configuration.
- Select client and plant to see the plant hierarchy.
- In that Plant hierarchy select line or work center for which extension configuration needs to be done.
- Under Extension configuration select Get OEE KPIs
- Click on Add button (+) to assign the activity.
- Assign that Activity ID description under which your custom transaction URL has been defined.
Extension Type: POST (as we need extension needs to be run after the method)
Extension sequence: Set a sequence number to enable extension
Click on checkbox to enable the extension and save it.
So, on loading of OEE dashboard screen, this Get OEE KPIs method is basically getting executed first as extension type is chosen as POST. As an output of this service method, we will receive two XML inputs (structure of these two has been explained later in this section). Once, this method gets executed, output will be passed into custom transaction which has been assigned under the activity defined in extension configuration. Finally, output of the transaction will be shown in dashboard through the activity defined for displaying custom KPI.
7. In custom transaction, below properties need to be defined:
- XMLInputString
Data Type: XML
Type: Input
This Input parameter holds details of Client, Plant, Shift Start and End Time, Node ID of the Line or work center on which KPI is going to be calculated.
XMLInputString structure:
<?xml version="1.0" encoding="UTF-8"?><ns2:InputKPIService xmlns:ns2="com.sap.xapps.oee.dto.kpiservices">
<client></client>
<endTimestamp></endTimestamp>
<nodeID></nodeID>
<plant></plant>
<startTimestamp></startTimestamp>
</ns2:InputKPIService>
- XMLModifiedOutputString
Data Type: XML
Type: Output
This is the final Output that is assigned with all custom KPI computed values. This Final Output XML is passed in the OEE dashboard to show all custom KPI values.
- XMLOutputString
Data Type: XML
Type: Input
XMLOutputString sample structure:
<?xml version="1.0" encoding="UTF-8"?><ns2:OutputKPIService xmlns:ns2="com.sap.xapps.oee.dto.kpiservices">
<availability>100.0</availability>
<changeoverTime>0.0</changeoverTime>
<customKpis>
<entry>
<key>SPEED</key>
<value/>
</entry>
</customKpis>
<flowTime>0.0</flowTime>
<loadingTime>5422.0</loadingTime>
<netOperatingTime>412.0</netOperatingTime>
<netProductionTime>5422.0</netProductionTime>
<oee>6.89814</oee>
<performance>7.599</performance>
<quality>90.777</quality>
<qualityLossTime>38.0</qualityLossTime>
<scheduledDowntime>0.0</scheduledDowntime>
<speedLossTime>0.0</speedLossTime>
<theoreticalSpeedLossTime>5010.0</theoreticalSpeedLossTime>
<timeUom>SECOND</timeUom>
<totalProductionAndLossQuantityInStandardRateUOM>1100.0</totalProductionAndLossQuantityInStandardRateUOM>
<totalShiftBreakDuration>0.0</totalShiftBreakDuration>
<unScheduledDowntime>0.0</unScheduledDowntime>
<unaccountedTime>5010.0</unaccountedTime>
<valueOperationTime>374.0</valueOperationTime>
</ns2:OutputKPIService>
Loading Time = Shift duration – scheduled downtime
If one order runs for entire shift (let’s say from 6:00 AM. To 2 P.M.), then it will consider entire shift duration. But if order starts at 6:00 AM and completes at 10 AM and no other new order is active for next 10:00 AM – 2:00 PM then shift duration will only be considered from 6-10 AM.
Net Production time = Loading time- Unscheduled downtime
Net Operating Time = Time required to produce quantity reported (Yield + Scrap) for one shift.
Quality Loss Time = Total time loss for Scrap quantity that has been reported for one shift
Value Operation Time = Time taken to produce Yield quantity for one shift.
KPI Calculation formula:
Availability = netProductionTime / Loading Time
Performance = netOperatingTime / netProductionTime
Quality = ValueOperationTime / netOperatingTime
OEE = Availability * Performance * Quality
This XML contains all standard KPI values and custom KPI name along with other parameters which are utilized to calculate custom KPI values.
Finally computed custom KPI value is mapped against each custom KPI value node under custom KPIs segment.
Below Points need to be considered:
- KPI will be calculated and shown for one shift. If we move to the next shift, then all KPIs are shown as zero except availability (as it depends on downtime). To check KPIs for previous shift, we need to change shift timing.
- For one shift, if multiple orders are running then KPI is shown for that workcenter/Line as aggregated result of all downtimes, quantity reported for those orders.
- Loading time is affected by only reported scheduled/planned downtime. There is no impact on loading time if unscheduled or unplanned downtime is reported.
- Workcenter/Line for which KPI calculation need not to be shown, we can set Irrelevant for OEE calculation as YES from customization configuration under general configuration.
Conclusion:
With all the configuration that has been explained and by creating custom transaction, custom KPI calculation can be done and displayed on the OEE dashboard KPI panel.