cs

Home / Posts tagged "cs" (Page 2)

Serial Numbers – Number Scheme

Since I got a request for more posts about Service management, I thought I’d dig into my bag of tricks.  One of the things I’ve run into a lot of issues is serialization.  For some reason, serial numbers seems to hold a special place of confusion for many customer.  Today I want to talk about the serial number number scheme.  I’ve picked this as my starting point for serialization because many of my recent projects have had a lot of trouble coming to decisions on this topic.
Serial numbers have a great starting point when it comes to numbering.  As of ERP 5.0 or 6.0 (not sure exactly when), SAP added a field called SerializLevel.

This field allows you to make the serial number number scheme unique at a global level or unique at a material level.  This subtle difference has huge implications on the number scheme.  If SerializLevel is blank, then serial number is only unique at a material master level.  To put things simply, the combination of serial number and material number is unique, but the same serial number can show up for any material number.  If SerializLevel is set to 1, then the serial number is unique across the SAP instance.  This means that no serial number will ever show up  for any other material.  SAP accomplishes this by linking the serial number to the equipment record number.  I’ll have a future post that goes into the details of serial numbers vs. equipment records.  Since every business is different, and you can often become locked into a particular numbering scheme.  The number one decision to make is if the serial number is unique across the organization, or if it can be reused for materials.

There are some things to beware of when using this functionality.  The SerializLevel field is plant dependent.  This means that you do have the ability to set this value differently across different plants.  I discourage setting this differently for the same material.  If you were to set the value to be unique across the origanization in one plant, but unique by material in another, you’ll see some very inconsistent results in the history.  I’ll go into the serial number history in a future post, but when it comes to serialization, consistency is key.

The final issue to cover when it comes to serial numbers is what I’ve heard called “intelligent” serial numbers.  When I say intelligent serial numbers, I use the term loosely.  This can be anything from adding a prefix by product to each number, adding in a manufacture date, or it could be a combination of alphanumeric characteristic that have a decoder ring to explain them.  In my humble opinion, this is a very slippery slope and should be avoided at all costs.  When you move down the path of “intelligent” number schemes, you must introduce ABAP code to accomplish this.  I believe the user exit is IEQM0003 (don’t remember for sure if this is the correct exit).  Regardless, if you start creating an “intelligent” number scheme, you must have multiple number ranges available, you need code to possibly shift from one range to the next.  For anyone that’s been doing SAP for a while, you know that every time you introduce code, you introduce risk, and you introduce additional time to implement.

The most important question to ask is “Why do you need an “intelligent” serial number?”  A serial number should be nothing more than a tracking mechanism for a product.  Requiring the serial number to mean something is a not something that add value to a product, but it does increase the cost.  Anyway, I’ll get off my soap box now.  You get the idea that I think intelligent number schemes are costly, risky and unnecessary.

I hope you found this useful.  I hope to hear your comments, thoughts, or let me know things I missed.

Thanks for reading,

Mike

Service Availability

It’s been a while since I talked service, so I thought I’d start posting some simple tips and tricks again.  In case you forgot, and if you read my blog often you might have, I’m actually a functional consultant, not a basis guy =)  Service and VC are favorite areas to work in.  I think they provide an interesting set of challenges and are often areas where it is hard to find good people (which is awesome for me).  Anyway, I’m working on a 5 – 10 part course talking about the basics of service management.  I haven’t decided how long it will end up being, so stay tuned.  I have so much in the hopper, but I want to actually show you guys I do know something about SM, service availability.

Today, I want to talk about Service Availability.  I’ve seen it used sporadically in places, but never very well.  So I want to talk about the how and why.  Now, before I get into the meat of the topic, let me explain why this part is important.  Just as in sales, knowing if all of the components are available is extremely important to managing your workload.  SAP provides the same availability functionality in the service order as it does in the production (except of course, running it in mass…  but for that, check Armory by JaveLLin Solutions. couldn’t help the shameless plug).  Transaction IWBK is actually a good transaction to show you all of the availability associated with a service order, and it even gives you fancy traffic lights to let you know at a glimpse if everything is available.  In addition, the status of the service order itself lets you know if all components are available.

Now, you may be asking, why do I care?  Often you have a decent workload of service orders and you require components in order to begin work on them.  Wouldn’t it be nice to see at a glance if all the components are available to know if you should start working on the order?  Perhaps you released the order to get some MRP requirements out there for parts.  Well, if you don’t know when the parts are available, how do you know when you can start working on the order?  Meanwhile, the clock is ticking for getting this part back to the customer.  Your metrics look worse and worse, all because you don’t know if you have parts to start working on a repair.

Alright, you understand the problem, so what can you do about it?  First thing you need to do is make sure the availability check is configured the way you need it.  Just like the availability for sales and production orders, you can have a unique one for service (or more often you’ll use the same one that production uses).  The screen shot below shows you were to find the configuration to see what in the system.

If you look at the Define Checking Rules, you’ll see the following.  Please note, SM is the default.

Next go the Define Scope of Check…  this is where the real work is done.

Remember, that the scope of check can be different depending on the material availability check.

This example shows 02 – SM

Every one of these options determines things that either availability includes or excludes.  Every organization is different, so I can’t tell you there are default settings to use.  I can tell you that you should experiment with whatever you do select.  Have a service order with some components and make sure your settings do what you expect.  ATP is touchy…  powerful, but touchy…  in my e-class, I’ll go into more details about the exact settings.

finally, you need to assign the availability check to the plant/order.  And you also can change the check for creation vs. release.

Here’s the settings you can control:

Alright, now that you’ve seen where to configure the availability check, you should understand how to run it…

Well, it’s pretty simple.  SAP only offers one place to execute availability.  IW32.

Press this button to availability.  There are several important system status that relate to availability:

MANC – Availability not checked
MSPT – Missing parts
MACM – All parts Available

If you use IW38/IW39 or Iw72/Iw73 and you look at system status, this will give you the quick look to determine if you have components available or not.  Please note, this doesn’t do a hard allocation of the components.  it simply says, based on the availability check (see above) that it is in stock.

I hope this little overview gives you an understanding why availability could be an important piece of service that you’ve overlooked.

Thanks for reading,

Mike

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.