Home / Archive by category "Blog"

Service Management – Using Cost Element Groups

Now this is one of the few tricks that I’ve picked up when it comes to the finance portion of the world 🙂  And the only reason I care about this is because it simplifies my configuration for service order costing and also resource related billing.  The concept is called Cost Element Groups.  And they are exactly what they sound like, a group of cost elements.  Now, why do I care?  in both service order cost display and resource related billing, I can enter each cost element into the configuration, transport it, and call it good.  Now, when a new cost element is suddenly introduced, I now need to go back to my dev environment, make sure the cost element exists, then add it to my configuration again, and transport everything.  Cost Element Groups let this all be controlled through master data.  I connect the cost element group one time, and I’m covered for life.  so, let me show you how easy they are, and you can be the judge.

Everything starts with transaction KAH1/KAH2/KAH3.  Below, I’m showing you KAH2 for an existing cost element group, but it’s basically the same for any of the create/change/display transactions.


Enter in the name of the group and hit enter, or the hierarchy button.


This will bring you to the above screen.  You can add or change the name of the group, then press the Cost Element button.


Once you press the button, you will see some new blanks show up.  You can either enter in individual cost elements (just enter the number in the left column) or you can do a range, by entering the start in the left and finish in the right.  Then it will show you all the cost elements that were located within the range.

Simply save, and you’re ready to go.  Now, you do need to remember to create this master data in every system you want to use it, but the flexibility is worth the master data effort.

Thanks for reading,

Service Management – Copy Partner from Sales Order to Service Order

If you have ever been banging your head against the wall trying to figure out why my Sold-To party would not copy to my service order (like I have). There is a table called TPAER_PM.  This table defines by PM/SM partner determination procedure which partners should be copied.

Strangely, only some of my partners were selected by default for copy.  No idea why.  In addition, there is a report you can use RIPACOPY.  This report will copy all of your procedures and partners into the table.  You will still need to add an X into any column that you want to copy.  So make sure you visit SE16N and set these values if you want them copied from the sales orders.

Thanks for reading,

Service Management – Setting up a Work Center for Service

On my most recent assignment, I learned a lot about setting up the service work center properly.  One of the biggest take aways from this that I learned is that the formulas for service orders are very particular.  In particular, there is one field that is essential if you wish to see the planned cost show up in the service order.


The highlighted field above needs to be SAP008, or something using the following data.


This becomes very important, because production orders have a far greater range of formula variables that work than service (or network) orders.

So, if you find that planned costs just aren’t showing up in your service order, take a look at the formula assigned to the routing.

Thanks for reading,


Service Management – Service Order Purchase Req Delivery Address

In the service order, you have the option that you can create a purchase requisition for any non-stock item.  This could be for an one-time item, or a service.  Well, when you create the purchase requisition, it turns out that the ship-to delivery address in the purchase order takes the sold-to party from the service order.  While this functionality seems fine if you’re going to drop ship something to a job site, if you need to have the material shipped to your own repair facility, then you need to perform an extra step:

Go to the purchase order, delivery address tab, press Reset Address.

This will pull in the plant address, rather than the sold-to party address.

Every day, something new.  Thanks for reading,

SAP – Finding the Enhancement from the Exit Function Name

I learned a new trick recently.  I often find time where I know an exit name, like EXIT_SAPMIEQ0_001 for example.  But when I go to SMOD to find the actual enhancement, I find myself doing a lot of hunt and peck.  I finally visited my friend the google to learn how to do it right.  Here’s what you do.

  1. Go to transaction SMOD
  2. Use the menu: Utilities –> Find

This brings up the familiar search screen that proved to be no help in the past.

But if you press:    you end up with the following screen.

Notice the field Component name now lets you enter in the exit to search for the enhancement.

Thanks for reading,

Service Management – Service Exchange

I’ve run into an issue with the service exchange or advanced exchange scenario within SAP for years.  The issue, and it’s likely you recognize it, is that in a standard repair procedure, if you receive in the customers equipment, you can run program SDREPA01 and it will automatically generate the service order line for you.  If you try the same thing in advanced exchange, it does nothing.  I even tried submitting an OSS message, and SAP pretty much told me it works as designed.

Well, that answer never sat well with me.  Especially since I consistently run into new clients that have this scenario.  Currently the answer is that you have to manually go into the repair sales order and add a line on the repairs screen.  UGH!  So, I finally carved out some time, and did a whole bunch of research on the process that SAP uses to create that service order.  WOW.  I understand after days of debugging why they said it works as designed.  The code is integrated and all over the place, that making a simple change to it could break a whole lot of stuff in SD or SM.  So I finally built my own version of SDREPA01 that can handle both standard repairs and advanced exchange.

if this sounds like something you’d be interested, let me know.

Thanks for reading,

Service Management Costing Issues

I recently tried to recost a material so it would show up properly on my service order.  Turns out, there is a piece of config (that I relearn every few months) that allows you to mark and release cost estimates.  It’s a very easy transaction, but something I always forget.

TXN:  CK22

simply select the current period (and any future periods) to open.  Enter in the costing variant (for me it’s PPC1) and save.  Easy, but a pain when you are just trying to do a quick costing 🙂

Thanks for reading,

Service Management – Equipment Partner History

I recently discovered a little trick.  I’ve been familiar with the action log and the display changes section of the equipment master.  If you aren’t familiar, go into IE03 and use the menu:  extras -> action log or extras -> display changes.  Now, the interesting thing that I didn’t realize is that by default the partners are not included in the change log.  There is a way you can add them, but you need to check 2 pieces of configuration.

Assign Partner Determination Procedure to Equipment Category

If you are dealing with the customer equipment type (S), then by default the KUND1, 2 & 3 fields will be checked.  So make sure these fields are included in your equipment type and Usage History is checked.

Assign Partner Determination Procedure to Equipment Category


Now, normally, I only pay attention to the partner determination procedure.  What I discovered is that by entering in the partner functions, it allows the history functions to capture the partner types entered in this piece of configuration.

If you need to collect the partner function history, use these simple steps.

Thanks for reading,

Bill of Material Usage

A recent question put me on the path of talking about bills of materials.  I’m always looking for a topic to write about, so this worked out well.

If you aren’t that familiar with BOM’s, this can seem pretty big.  First, a BOM is a BOM, the usage define where it explodes and/or how it is used, but once you get inside of the BOM, they are all the same.  So if you understand exactly how to add a material and recognize that each item has different flags, you are in good shape.  When it comes to the BOM usage, much of the difference is in setting the item flags for if something is sales relevant, costing relevant, etc.  So I wanted to talk about the different usages, at least the ones I’m familiar with.

If you go into transaction CS01 and do a pull down on the BOM usage, you will likely see a list something like the one listed below.

  • 1 + . – . . – Production
  • 2 . + – . . – Engineering/Design
  • 3 . . – . . . Universal
  • 4 – – + . . – Plant Maintenance
  • 5 . . – . . + Sales and Distribution
  • 6 . . – . + . Costing
  • 7 . – – – . . Empties
  • 8 – . – – – – Stability Study
  • M . . . . . . External Munitions Display

For me, I typically use 1, 2, 3, 4 & 5.  The others, I really haven’t needed in my travels.  So let me give you the quick low down on these.

1 – Production:  this is the BOM that will be used to build the product.  On the items, it will set the Production relevant, which basically tells production orders to use this BOM to build the product.  That in turn tells MRP what components to order and have available at the work center when production begins.

2 – Engineering/Design:  this is the BOM used when you are prototyping or making something new.  I have always used it to build the final production BOM, but didn’t want anyone mass producing something.  Think of this as the BOM in progress.  You aren’t complete, maybe you are still missing materials, or maybe the materials haven’t been extended to the proper plants yet.  Either way, this BOM is a “not ready for prime time” list of components.

3 – Universal:  I have been in some locations that only use a 3.  It’s a catch all.  it works for production, sales, plant maintenance, etc.  Personally, I prefer to have different usages so I can vary what things look like, but if you are in environment where the BOM is identical for everything, then this is a great way to cut down on master data.

4 – Plant Maintenace:  this is the BOM that is used for maintenance.  Think of this as the spare part list, or components that may be needed to maintain the equipment after it is in use.

5 – Sales and Distribution:  this is the BOM that will only explode on the sales order.  It is not for production.  This is common when you are dealing with a kit, or with variant configuration.  If you want to type in a single material on a sales order, but have it list our 5 different assemblies, this how you do it 🙂

6 – Costing:  never used this one…  but it sets the costing relevant flag.  I suppose this would be useful if you don’t want all the components included in the overall cost, or need different versions.

This is the quick and dirty explanation of the BOM usages I am familiar with.

Thanks for reading,

Bills of Materials

I recently had a request to talk about bills of materials (BOMs).  So I thought, why not?  I started to give it some thought and realized that it is a big topic, but that one of my friends has likely covered at some of it.  So thanks to my friend Rama, he has this great post as a starting point.

Bill of Material Functionality in SAP – ASUG Wisconsin – 072414 – v2

This was a presentation done at a regional ASUG in Wisconsin, and it has a lot of information.  So use this as your starting point.  Next up, I’ll go into a little more detail on the types of BOM’s and why you would use them.

Thanks for reading,