Learn the settings to activate the enhanced table design functionality in SAP enhancement package 5. Discover its effect on your settlement options and the Financials reports you see. Looking at the costs per operation allows you to see the costs for each task performed for the order. Previously, all costs were assigned to the order as a whole and it was not possible to distinguish between the different tasks.
Key Concept
Operations (i.e., tasks performed as part of an order) structure the maintenance and service tasks to be performed within an order. They specify the planned time to complete the task, any spare parts needed, and whether the operation is performed internally or externally. Where the difference in costs between the various operations on an order is significant, there is a need to be more accurate in the cost assignment. I’m regularly asked why an SAP system lets you record time and labor by operation in logistics, but not to report by operation in Managerial Accounting (CO). The questioners usually assume they are missing some critical setting in customizing and that I am able to set them straight. However, in fact the table design in CO is such that while the confirmation document records the time and labor performed for each maintenance task, the CO document records only the cost center and activity type.
Any cost analysis for the order only shows you the hours of activity provided, but not the operations for which the work was performed. Once the business knows what it is spending for each task, it can provide more accurate reports to the Federal Energy Regulatory Commission (FERC) and similar authorities and improve its internal reporting because it can understand the cost impact of each type of task.
As external and internal reporting requirements have become more stringent, maintenance costs are under increased scrutiny. Therefore, businesses sometimes need to analyze the costs for each operation separately. For this reason, you can now choose whether you assign costs at the order header level or at operation level.
The new option is delivered by the business function LOG_EAM_OLC (Operation Account Assignment). This function enables you to have your operations act as mini-orders within the main order. If you are familiar with Project System, this is the same choice you make when you choose the option Activity Account Assignment for networks. Technically, the network activity is the same as the order operation, which is why you find the terms operation and activity being used interchangeably. The business function uses the term operation (Operation Account Assignment), but the flag in the order type uses the term activity (Account Assignment on Activity Level).
Before you activate the business function LOG_EAM_OLC (Operation Account Assignment), you need to decide which maintenance and service orders merit the capture of costs at operation level. Clearly keeping data at an operation level rather than at a header level increases your data volumes, giving you a cost object for each operation within the order and thus more objects to settle at period close.
Focus on those order types for which the maintenance or service tasks are complex and there is a significant difference between tasks, rather than activating the function for all Plant Maintenance. Also, look at the typical number of operations for each order type. The new function makes each operation into a cost object, so consider differentiating between operations (which now carry costs) and sub-operations (which don’t carry costs) if you fear for your data volumes.
As is the case with Project System, you are effectively turning your operations into account assignment elements and your sub-operations into planning elements in the sense that the sub-operations can carry planned costs but not actual costs. Note that the new option does not support refurbishment or investment orders (or indeed any manufacturing orders).
Figure 1 shows the settings for the business function LOG_EAM_OLC in the Switch Framework. You can reach this screen by choosing transaction SFW5, selecting Enterprise Business Functions, and then scrolling down to LOG_EAM_OLC. Notice that the naming convention puts the business function in logistics, but that the affected application component is CO.

Figure 1
Business Function LOG_EAM_OLC (Operation Account Assignment)
Settings for the Order Type
Once you analyze your typical maintenance and service orders, you are ready to activate the operation as an account assignment for your chosen order types. Follow IMG menu path Plant Maintenance and Customer Service > Maintenance and Service Processing > Maintenance and Service Orders > Functions and Settings for Order Types > Costs at Operation Level > Define Cost Settings. Figure 2 shows a list of plant maintenance order types for each plant. In Plant 0001, I activate operation level costing for two order types: POLC (maintenance orders) and SOLC (service orders). I do this by checking off the appropriate boxes under column A (account assignment on activity level).

Figure 2
Activate operation level costing by order type
Maintenance orders (order type POLC, in my example) are essentially internal orders and only of interest to the controlling department, but the costs for service orders (order type SOLC) are billed to the customer. Although the costs for the service orders can now be collected by operation, the revenues continue to be collected at the header level. To keep my analogy with Project System, the order header is effectively the billing element.
Check that the order types that you use for your service orders allow revenue postings. Follow IMG menu path Plant Maintenance and Customer Service > Maintenance and Service Processing > Maintenance and Service Orders > Functions and Settings for Order Types > Configure Order Types. Figure 3 shows the settings for the order type SOLC, which allows Revenue postings. In Figure 3, you also notice the settings for the Settlement Profile and the Budget Profile. I discuss these settings later.

Figure 3
Maintenance order types with the revenue postings flag for billed services
Once you complete these steps, you can start testing your maintenance and service orders. I now walk you through the maintenance and service process to illustrate the various questions raised by the new function from a CO perspective.
Creating a Maintenance or Service Order
To create a maintenance order, use transaction IW31 or follow menu path Logistics > Plant Maintenance > Maintenance Processing > Order > Create (General) and enter the order type and the equipment to be maintained (Figure 4).

Figure 4
Create a maintenance order
You notice a new field Settlement Rule in this screen. This setting allows you to copy your settlement rule from a similar maintenance or service order. Choose Header data.
In the next screen, you can identify maintenance and service orders with operation level costing by the status ACAS (activity account assignment) in the order header as shown in the System Status line in Figure 5. This status prevents you from making postings to the header and forces you to enter data by operation.

Figure 5
A maintenance order showing order status ACAS
To enter the operations for your order, choose the Operation tab. Figure 6 shows all the operations for my maintenance order. To see details of where these costs are assigned within the organization, select an operation and choose the Acct Assgt (Activity Account Assignment) button at the bottom of the screen.

Figure 6
The list of operations that form the basis for cost analysis
Figure 7 shows the Account Assignment Details for the first operation. Notice that many of the organizational assignments that you usually find at the header level are now at the operation level. Although the company code and plant are clearly the same for each operation in the order, you can select the other parameters (profit center, business area, functional area, object class, costing sheet) whether you simply copy the parameters from the order header or use the Business Add-In (BAdI) BADI ES_EAM_OAA_DEFAULT to change this assignment to meet your needs. You might, for example, decide to take a different approach to overhead calculation for some operation types, and so you need to configure the costing sheet assignment to reflect this approach.

Figure 7
Operation Details showing details of all fields relevant for cost accounting
If you use Project System in combination with maintenance orders, the operation details also raise the question of whether the whole order needs to be assigned to a Work Breakdown Structure (WBS) element or individual operations. However you choose to make your assignment, the order and its operations appear in the standard Project System structure reports under the relevant WBS element. Any operations that aren’t assigned to WBS elements appear in the Project System reports under their order header but outside the Project System structure.
To see the costs, you have to either save the order or choose Order > Functions > Determine Costs before navigating to the Costs tab shown in Figure 8. The procedure for cost calculation remains unchanged. Each operation is assigned to a work center and a control key. I enter the planned time for each activity type. To apply a value to this time, the system selects the cost center that is assigned to the work center in the operation and the activity rate for the hours planned for each operation.

Figure 8
Planned costs, estimated costs, and actual costs for a single operation
Alternatively to see the costs for all operations, use the Operation Cost Overview shown in Figure 9. You can navigate to this report from the maintenance order by choosing Extras > Cost Reports > Operation Cost Overview or by calling transaction IW40N.

Figure 9
Operation Cost Overview showing all the operations in order and their associated costs
Technically, each of the operations in the order is represented in the CO tables as object type OV for operations and activities rather than the more familiar OR for orders. Unless you have written your own ABAP reports or use technical reports such as RKACSHOW, you won’t need to know this. All reports that normally read the maintenance order objects (OR) now automatically read the costs for the assigned operations (OV) and summarize them on the fly to give you the costs per order. In the case of the period-close transactions, the operation field automatically appears in transactions, such as KGI2 (overhead calculation) and KO88 (order settlement), so that you can test the process for each operation separately.
Now that I have calculated costs for each operation, the next element to consider is how to settle the costs. To generate the settlement rule, choose Order > Functions > Generate Settlement Rule. This results in the status SETC (settlement rule created) being set for the operation. To display the settlement rule, choose GoTo > Settlement Rule. Figure 10 shows the settlement rule for the settlement of the costs on the first operation. In this case, I am settling the costs back to the cost center for the equipment being maintained. Again, the default is that the settlement rule for the header is copied to the assigned operations, but you might want to manipulate this logic using the BADI BADI_OLC_SETTL_RULE_DET_OPR. When you are happy with the maintenance order, release it by choosing Order > Functions > Release and save by choosing Order > Save.

Figure 10
Settlement Rule for operation
Executing a Maintenance or Service Order
From a cost accounting perspective, the first thing you need to know as you start to execute your orders is that the costs are now at the operation level, but the budget remains at the order level. Each time costs are incurred during material movements, confirmations, and so on, the costs per operation are aggregated. A check is made against the budget per order if you have maintained the budget profile (Figure 3) to activate budget control for your maintenance and service orders.
The next thing that you need to know is that order confirmation needs to take place at the operation level. As you create confirmations using transaction IW42, the system issues a message if you do not enter an operation along with the order number. You also find new fields for the operation in the journal entry (FB50), manual reposting (KB11N), purchase requisition (ME51N), purchase order (ME21N), goods movement (MIGO), and invoice receipt (MIRO) transactions. Figure 11 shows the manual reposting transaction (KB11N) with an adjustment posting being made from operation 0010 on order 4008941 to operation 0010 on order 4008749.
In this example, I’ve selected transaction KB11N, entered the document and posting dates, and switched the screen variant from Cost Center to Order. I then clicked on the document line to focus on the detail of how to transfer costs from one order operation to another.

Figure 11
Manual reposting of primary costs for orders with operation level costing
You should also review the billing process for service orders that use resource-related billings. If you want to adjust the billing object for any reason, use the new BAdI BADI_SD_BILLING. When you use the new business function, transactions DP80 (resource related quotation) and DP90 (resource related billing) read the costs for the individual operations to determine the resources to be billed to the customer. Since the operations are your internal way of structuring the order, the operations are automatically removed from the billing document that the customer sees. However, you can find them stored in the sales document as a reference in the fields AUFPL_OAA and APLZL_OAA.
When it comes to overhead calculation and settlement at period close, the operation on the screens for KGI2 (overhead calculation) and KO88 (order settlement) are useful for testing. However, when it comes to selecting hundreds of maintenance orders at period close, transactions KGI4 (overhead calculation) and CO88 (order settlement) automatically select all the operations assigned to the order header. If you settle from the Project System, then all the operations are automatically selected if you choose the With Orders option in transaction CJ88 (project settlement).
Reporting on Maintenance and Service Orders
You find the new fields for the operation in reports, such as transaction IW40N (Operation Cost Overview), as shown in Figure 12. You saw this report earlier, but now you have performed the confirmations and can see the actual costs alongside the planned costs for each operation.

Figure 12
Operation cost overview following order execution
You also find the operations in reports such as IW37 (list of order operations), as shown in Figure 13.

Figure 13
The list of order operations
Finally, in CO the new field for the operation is available in transaction KOB1 (display order line items), but you may need to change your display layouts to include it. In Figure 14 I’ve started to display the costs with the standard layout 1SAP (Primary Cost Posting) and then accessed the complete field catalog by choosing Change Layout. I’ve scrolled down to the Operation field to move it into the list of Displayed Columns.

Figure 14
Field catalog for order list reporting
This results in the report layout shown in Figure 15, in which you see the line items by operation in the order report, provide a degree of transparency in order reporting that many users have searched for in vain in the past.

Figure 15
Line-item report (KOB1) showing actual costs per operation
Janet Salmon
Janet Salmon joined SAP in 1992. After six months of training on R/2, she began work as a translator, becoming a technical writer for the Product Costing area in 1993. As English speakers with a grasp of German costing methodologies were rare in the early 1990s, she began to hold classes and became a product manager for the Product Costing area in 1996, helping numerous international organizations set up Product Costing. More recently, she has worked on CO content for SAP NetWeaver Business Warehouse, Financial Analytics, and role-based portals. She is currently chief product owner for management accounting. She lives in Speyer, Germany, with her husband and two children.
You may contact the author at janet.dorothy.salmon@sap.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.