Month: April 2012

Home / 2012 / April

SAP SM Blueprinting Questions – Master Data

One thing I’ve noticed over and over again, is that when it comes to blueprinting for SAP Service Management or Customer service, the same questions and same processes always apply.  And inevitably, the same gotcha’s show up because one of these questions is missed.  So today I wanted to talk about the list of SAP SM blueprinting questions I use.  If you see something I missed, please add it to the comments.  I’ve lumped things together into major categories and I’ve included questions if you’re already on SAP or if you’re about to blueprint from a completely different system.  Together I think we can make a great list for all of us to work.  This first post will focus on all of the master data related to SM/CS.

How many service products do you use?

If your audience is currently on SAP, this finds out what service materials are currently in use.  From here, the follow-up questions would be what service materials do you have, and what are each of them used for.

How many serviceable materials do you have (ballpark)?

This is to get an idea of how many materials are currently being repaired.  One of the big things that often catches customers by surprise is the amount of data that may need to be created if you choose to have different valuations for repaired materials.  Especially in an environment that keeps quick turn around stock in their warehouse (I call that process advanced exchange or service exchange).  There are usually 2 ways to handle this situation.  One is multiple valuation for a single material.  This can often be very messy and transaction intensive for the entire organization.  An alternative method to handle this is a second material material (prefixed or suffixed with something to show it’s a rebuilt/repaired/etc version).  This material can then be stocked under a different number, with different costs, profit centers, etc.  Short story, you need the answer for this to know if you might have to create an additional 10,000 materials to account for all of the serviceable materials.

Do you serialize?

This simple question is often one of the most important questions you’ll ask during blueprinting.  I’ve worked at multiple companies that did not serialize their products, but wanted to start serializing in SAP.  While this sounds like a simple request, there are a lot of follow questions you must find out during your blueprinting phase of the project.  Here’s where to start:

  •      Do you use equipment records or serial number records?
    • There isn’t a huge difference between the pieces of functionality, and won’t have a large impact on how you configure the system.  However, be prepared to explain the difference between a serial number & an equipment record.
  • Do you use an installed base or serial number hierarchy?
    • The use of an installed base or serial number hierarchy won’t impact your configuration that much, but it will have a big impact on your processes.  Both of these pieces in SAP require a lot manual maintenance, or perhaps some heavy programming work to accomplish.  It’s something you want to know as soon as possible, if you ask me.
  • Do you use an equipment BOM or Plant Maintenance BOM for any serial numbers?
    • This is important to understand because in SAP you have the option to maintain individual bills of materials for each equipment/serial number.  Again, this won’t impact your configuration, but will impact your processes.  If they answer yes to this question, you then need to understand how do they use this bill of material?  is it purely to maintain the as-built/as-maintained history record, or do they use it for creating materials using the same bill of material.
  • How much information do you capture in your serial number?
    • With SAP serial numbers/equipment records you have the ability to capture an immense amount of data.  While this often sounds like a great thing, the new user will quickly learn that SAP doesn’t really maintain most of this data without a lot of custom development.  Often, I encourage my clients to only use what they NEED.  Now need is of course subjective, but it’s important to stress that it will be easy for this data to get out synch unless you have a good master data process.  These are the most common pieces that are maintained, but remember, there are a lot of options for more data, just be cognizant of the manual nature of most of the fields.
      • Partner Information
      • Warranty information
      • Serial Number Hierarchy
      • Location information
      • Classification information
      • Etc
  • Do your customers register their serial numbers with you to begin warranty or receive additional support?
    • This question is another important piece of serial number maintenance.  If they do have customer registration, you will need to follow up and find out how they receive the registration from their customers.  Is it online, mailed in, phoned in?  How should the warranty be handled?  does it differ by product, or does everything get a 90 day warranty.  This and much more is all part of the registration portion.

Do you use master warranties?

The master warranty is another piece of data that you want to capture early on.  The entire warranty conversation will inevitably take up a lot of your blueprinting time.  We’ll go into more details in some of the following posts.  For now, find out if the customer uses master warranties, or if they have a set of warranty rules for a defined period of time/products/services/coverages etc…

  • How do you currently determine what master warranty to assign to each product? or does everything get the same master warranty?
  • When does the warranty period begin?  When the product ships?  when it’s registered?  or some other method?
  • How many characteristics are you tracking in the warranty?
    • Are you tracking things by time, mileage, working hours, or all of the above?

Do you use measuring points?

Measuring points are another major piece of master data associated with SAP Service Processing.  You first need to determine if they have materials that need measuring points.  Then you need to find out if you are measuring time, distance, operating hours, etc to make sure you can properly handle the setup.  Finally, you need to understand how those measurement points get loaded into the system.  Are they currently automated?  does someone manually enter them on a weekly/monthly basis?  What are the measurement points used for.  Are they used for warranty information?  to provide automated service notices to the customer for their next oil change? or are they simply tracked on internal equipment?

These are the big things I always try to cover when I start talking master data.  Obviously, every one of these pieces leads into other questions and business processes, but I wanted to start with one piece at a time.

Thanks,

Mike

www.paperstreetenterprises.com

SAP SM: Quoting In-House Repairs

One issue I’ve found in SAP Service Management (Customer Service) is that most companies want to quote the repairs they perform in house.  The problem is that the standard repair process doesn’t give a good alternative to handle this.  You can only use the DP80 functionality if you use a service order that is non-revenue bearing, but you must use a revenue bearing service order to perform in-house repairs.

Up until now, I’ve always handled it manually.  Simply creating a quotation with reference to the repair sales order.  The problem is that the connection to the process is loose at best, and you cannot use the information from planned service order to automatically update the quote.

Recently I found the following OSS notes.

Note 153869 – Creation of quotation after goods receipt for repair

Note 204874 – Settled costs in resource-related billing

This OSS note maps out a process that uses the original repair sales order as both the quote and the order.  Through the use of different item categories, we can use DP90 to perform quoting functions, as well as the actual billing.  Now, several things needs to be taken into account for this process to work.  The first is that you will need to add some addition item categories and item category usages.

I recommend you create Item category Usage, ZEIN & ZENI so you can control the quotation item categories.  Then you can leave SEIN & SENI for use in the billing items.  Be sure to add these new usages to the item category determination for your repair sales orders.

The next step is to properly setup the DIP profile in order to accommodate the new changes. What you need to do is change the billing portion of the profile to include the planned costs.  This will allow DP90 to pull in all of the planned costs, which can be used for quoting. DIP 1.jpg

The other thing you need to decide is if the quotation items will be statistical or not.  This depends on if you want all of the items to be displayed to the customer on the quotation, or if you plan to simply roll the items up for easy calculation of your quotation price.    The basic code provided by SAP assumes that quoting will be actual pricing, and billing will be statistical.  In order to provide some additional flexibility in the solution provided by SAP, I included a check in the code to look at the materials of the quotation usage to determine if each was statistical or not.

DIP 2.jpg

In my code below, if the Material Determination for an item was set to C: Transfer qty only, then it was statistical.  In all other options, it was normal pricing.  This does require you to maintain the items in both the quotation and the invoicing portion of the DIP profile, but the flexibility was worth the one time maintenance.

Be sure to setup ODP4 to show the cost in the sales order.  Be sure the condition you use (EK01 is recommended) is also a part of the pricing procedure for the repair.

Finally, the biggest thing to consider is the output changes that will be required for this process to work. I encourage you to create a new quotation Smartform.  It can be similar to your current quote or order confirmation, but you will want to handle the item categories appropriately for your customers.  For example, you may want to show the itemized quotation costs, but not show any of the repair process items like the inbound delivery.  You will also need to setup the form to show your pricing at the appropriate level.

Here’s the code I used in the exit: V46H0001 ->EXIT_SAPLV46H_001

data: da_vbak like vbak.
data: da_vbkd like vbkd.
data: lv_quant type AD01INVQUA.

CHECK NOT I_VBAKKOMVBELN IS INITIAL.

CALL FUNCTION ‘SD_VBAK_SELECT’
EXPORTING
I_DOCUMENT_NUMBER 
= I_VBAKKOMVBELN
IMPORTING
E_VBAK            
= DA_VBAK
EXCEPTIONS
DOCUMENT_NOT_FOUND
= 1.

CHECK SYSUBRC = 0.

* only in repair environment
check da_vbakvbklt ca ‘FG’.

* read billing form of repair main item
CALL FUNCTION ‘SD_VBKD_SELECT’
EXPORTING
I_DOCUMENT_NUMBER
= I_VBAKKOMVBELN
I_ITEM_NUMBER    
= C_VBAPKOMUEPOS
IMPORTING
E_VBKD           
= da_VBKD.

CASE I_SDSM_DLIWRTTP.
WHEN ’01’ or .                      “resource related quotation
CASE da_vbkdFAKTF.                 “billing form
WHEN ’01’.                        “fixed rate
select SINGLE INV_QUANT from AD01C_MAT into lv_quant
where PROFNR = I_SDSM_DLIFFPRF and
DPUS  
= ’11’ and       ” quotation
INV_MAT
= I_SDSM_DLISD_MATNR.
if sysubrc  <> 0.
select SINGLE INV_QUANT from AD01C_MAT into lv_quant
where PROFNR  = I_SDSM_DLIFFPRF and
DPUS   
= ’11’ and       ” quotation
MAT_DIR
= ‘X’.
endif.
case lv_quant.
when ‘C’.
C_VBAPKOM
VWPOS = ‘ZENI’.       “statistical
when others.
C_VBAPKOM
VWPOS = ‘ZEIN’.       “not statistical
endcase.
*         C_VBAPKOM-VWPOS = ‘SEIN’.       “not statistical
WHEN ’02’.                        “costs
*         C_VBAPKOM-VWPOS = ‘SENI’.       “statistical
C_VBAPKOM
VWPOS = ‘ZENI’.       “statistical
ENDCASE.

WHEN ’04’.                            “resource related invoice
CASE da_vbkdfaktf.
WHEN ’01’.                        “fixes rate
C_VBAPKOM
VWPOS = ‘SENI’.       “statistical
*       when ’02’.                        “costs
*         no change at the moment, because no change necessary
*         – item with service product   => SENI statistical
*         – items from costs            => SEIN non statistical
*         c_vbapkom-vwpos = ‘SEIN’.       “non statistical
ENDCASE.
ENDCASE.