Blog

Home / Archive by category "Blog" (Page 11)

SAP – Digging for Answers

A long time ago, one of my friends once told me I was a digger.  I don’t think that really set in for me until I started to look at myself.  When he was talking about that, I had just gone through sifted through a lot of code, some custom tables, and found a solution that we could implement quickly.

Looking back, I finally get exactly what he meant.  One of my biggest skills in SAP is knowing how to dig for information.  So most consultants are really good at getting tables and field names, and even doing some debugging of screens.  What really separates the good from the great consultants is how persistent they are in finding the answer 🙂

I wanted to talk a little about my process, and I’ll give you an example.  A client of mine has some custom code to do lots of stuff within a notification.  Well, like any custom code, somehow a record got corrupted.  It had to do with a task record, and because of the fields that got wiped out, you could no longer make changes to the notification.  So I started digging.  Here’s what I did (not necessarily in this order).

  1.  found the BAPI’s for updating a notification.  I even tried running them in SE38 and doing the commit.  I got no errors, unfortunately no changes to the notification either.
  2. Next, I looked up the table and found it was QMSM.
  3. Then I went to Txn: Se11 and pulled up the where used of that table.  Unfortuantely, it was a rather large list.
  4. So I look that list, and when to SE38 and ran my favoriate report:  RPR_ABAP_SOURCE_SCAN
    1. I entered in the list from the where-used, and looked for anyplace with the term update (since I needed a way to update the record without doing all the standard checks).
  5. Then it was a bit of trial and error to look at each of the results.  Luckily, I even found a different piece of custom code that I could execute.  and happily, everything got fixed.

Now, there is also the alternative of changing fields in debug.  I was in production for this event, so that wasn’t an option, and it’s also something you need to be very careful doing, as you are likely to run into unexpected results 🙂  so try that in development first.

None of this is rocket science, but some days I’m just too persistent to know when to quit.

Thanks for reading,

Service Management – Revisiting the Exchange Process

I’ve been visiting the advanced exchange scenario recently.  One of the challenges I have always struggled with is that if you create a default exchange line as soon as you create the main line and inbound delivery line, that you cannot automatically generate a service order.

So my repair procedure is setup like the following:

101 Accept repair 101 Returns  (default)
101 Accept repair 106 Replacement Part (default)
102 Start repair 102 Repairs 01 (default)
102 Start repair 107 Scrapping 03
102 Start repair 108 Credit memo
102 Start repair 109 Debit memo
103 Confirm repair 103 Outbound Delivery
103 Confirm repair 107 Scrapping 03
103 Confirm repair 108 Credit memo
103 Confirm repair 109 Debit memo

The important part is the 101 & 102 areas.  The repairs line should be able to be added automatically by just visiting the repairs screen.  Unfortunately, this doesn’t work.  What I found out is that it is related to the user status for the main line item.  As soon as you ship out a unit, it sets the status to BDMD (business decision made).  The repair line is looking for BDRQ (business decision required).  With this system status, SAP will ignore this line, assuming that it OK since you shipped a part out already.

My next mission is to see if I can reset this status to be re-opened.  If I can pull that off, it should be possible to have SDREPA01 create the service order in the background.  More to come.

Thanks for reading,

Service Management – Accounting Indicator from DP90

I recently discovered something with DP90 I hadn’t previously discovered.  I was doing DP90, and I had the accounting indicator set as one of my fields.  However, when it added the items to my debit memo request, it wasn’t bringing over the accounting indicator field.  Normally, I might not have noticed this, but I have it as part of my pricing.  So when it wasn’t getting populated, I started scratching my head.

The trick turns out that unless you check the box NoSummarization in the DIP Profile (Transaction ODP1), it won’t copy that field.  I checked the box, and my problems were solved.

Thanks for reading,

Service Management – Create a General Task List

Sometimes it’s nice to go through a simple walk-thru.  I’ve been playing a lot with task lists lately, so why not add it to the blog.  A perfect addition to my next book 🙂

Transaction IA05

Don’t enter anything here.  Just press enter.

For me, the highlighted fields are typically the ones I care most about.  The assembly part number is critical if you choose to use maintenance BOM’s.

Press the Operation Button 

Enter in the operations you want in the list.

Press the Components button: 

From here, you can press the Component Selection  if you want to insert an entire maintenance BOM, or you can manually enter in the components.

If you enter in a maintenance BOM, it will pull in all the components from the BOM and allow you to select the items you want.  Typically, I will press  to pull in all the items.  Then I press Control and select the main item so it will not be pulled in.

Press:  to select the items you want.

Or you can manually enter in the items and quantities.  Be sure to include storage locations, bulk material flags, backflush flag, etc.

Press the green arrow back: 

Press Save: 

Thanks for reading,

Pricing – Condition Table Limitation

I recently discovered a limitation with creating a pricing condition table.  I never ran into this before, because I typically haven’t run into much automated pricing for service (usually it’s made up on the fly.  ha ha )  Or typically, just time and material with a markup.  Well, I was attempting to create a pricing table with 13 key fields.  YIKES!  But when I attempted to activate it, I kept getting the following error:

ERROR: VK709 Activation was interrupted

Well, it turns out that you can have a maximum of 11 fields when creating a new condition table.  Luckily, I found a way to combine what I needed (or overall, a better approach), but be aware of how complex you choose to go with your pricing.

Thanks for reading,

Variant Configuration – S/4 and IPC

I recently found an interesting discovery.  The new platform of SAP S/4 will no longer support the IPC.  I this very interesting as SAP has spent so much time and effort to build this better platform, but currently according to OSS, there is no plan to integrate it.  If any of you out there have heard the plan in the CWG, please let me know.

The concept is that since IPC is java based, and HANA/S/4 have no concept of Java…  so it means that within S/4 you cannot select a configurable material and make it IPC to look nicer.

Would love to hear any input on this, I was certainly disappointed.

Thanks for reading,

Outlook – Adding Categories to IMAP accounts

Well, I’m back to this again.  I had it working for a while, and then suddenly it was only working in one of my accounts.  I’m not quite sure what happened, but I found a trick to fix this.  Since I’m always dabbling in multiple things, it means I have quite a few different email accounts.  It turns out that you need to define the categories for each different account.  Not just one time for all the accounts.

Reclaim Outlook categories for IMAP accounts

This post walked me through how to get the categories set up for each account.  The trick is to open up a new message.  You can just update it or add categories anywhere.  This was the piece that helped me out.

Thanks for reading,

Service Management – Spreading annual price across multiple periods

For me, I run in this with service contracts, but it could be anywhere you use a billing plan.  The idea is that you charge an annual price.  Say $12,000 for the year, and you want the billing plan to spread this evenly across periods. (say $1000/month or $3000/quarter).

The first thing that needs to happen is to update the pricing condition type.

Update the calculation type to be M for monthly or N for annual.

Now, if you choose annual, please be aware that the calculation is performed by days, not by months.  So if you bill monthly, the amount for Jan will be greater than Feb because of the difference in days per month.

SAP does provide OSS note:  92655 as a work around for this.

Thanks for reading,

Service Management – Copy Partners from Sales Order to Service Order

If you use the RAS or RA order types, no doubt you recognize that you need integration of a lot of data between the two documents.  I recently ran into the issue where my partners were not copying from the sales order to my service order.

I checked that the partner determination procedure was assigned to the service order, all the standard order integration was in place.  Finally, I found a little used piece of configuration:

SPRO -> Plant Maintenance and Customer Service -> Master Data in Plant Maintenance and Customer Service -> Basic Settings -> Partners -> Copy Partner Functions to Master and Movement Data

What I forgot is that when you create a new partner determination procedure, you need to manually assign the partner functions that should be copied.

Simply check the box for all the functions you need.  Next time you create a service order, it will copy the partner functions to your service order.

Thanks for reading,