Before everyone headed out to TechEd, I caught a few minutes with SAP mentor Michael Koch (@pixelbase) about his new SAP Insider book ABAP Development for Sales and Distribution in SAP: Exits, BAdIs, and Enhancements.
Learn more about how Michael devised the book with a typical SD team in mind: the ABAP developer working with the SD functional consultants. Michael also shares few tips for web services, CRM integration and field validation.
You can listen to our conversation in our podcast section, or read our interview here.
Kristine Erickson, Insider Learning Network: This is Kristine Erickson with Insider Learning Network. I'm joined today by Michael Koch. He's an SAP mentor, an independent SCM consultant, and author of the newly released SAP PRESS book ABAP Development for Sales and Distribution in SAP.
We're talking today about ABAP customization, specifically for SD, and I just want to thank you for joining us today, Michael.
Michael Koch: Thanks for having me, Kristine.
Kristine: Let's start with SD implementation and customization projects. Your book is focused on ABAP how-tos, but you also have an interesting take on how functional consultants and developers work together -- and the skills involved in these SD projects.
Can you talk about how you wrote the book with these two audiences in mind?
Michael: In my day-to-day work, I come across a lot of examples where functional consultants for SD or on MM, but especially on the SD side, bring a lot of wealth, a lot of experience to the table.
But very often, their technical skills -- basic ABAP skills -- lack the latest features that the ABAP development server provides these days. On the other end of the spectrum, you have very experienced, very often young, ABAP developers, who know new features, like object orientation, persistent objects, web services -- things that go far beyond what you have to have as a normal, standard SD developer.
I wanted to write a book that marries these two things and provides a background for a functional developer that is able to share some of his knowledge with a younger ABAP developer, and also a younger, or very fresh, motivated, with-new-skills-supplied ABAP developer, who can basically share some of the knowledge and wisdom with the functional guy.
The two learn off each other and feed off each other. That's the backdrop for the book I created. They both work for a fictitious company within the logistics space. I take them through different little mini projects that they go through.
Kristine: These two roles in the book, these two characters in the book...you actually give them names: Sean and Christine. Could you talk about one of the examples, where the consultant and the de veloper are learning from each other and the how-to's that come along with that?
Michael: Sure. One example in the book was something I have never really saw covered anywhere else: filtering a web service within the SD function.
In this example, the company that Sean and Christine work for provides confirmations of sales orders that customers have placed. These confirmations are being sent back to customers. No one ever thought about, "Have we really looked through everything that we provide with this web service that customers can consume in their own application?"
This is obviously something that is not just limited to an SAP system. This is information that goes out of an SAP system and is consumed by an application that someone else has developed.
One thing they've noticed is that they are actually giving out price margin information that is provided by the standard service. Sean and Christine have to find a clever way of changing the output of this web service that comes out of SD and filter down to what the company really only wants to give out to some of its customers.
Sean had never even heard of the concept of using a business add-in in this sort of environment. He knew about the web services before, but not that he's also able to actually limit the information using a business add-in.
Christine shows him the technical side of this and how these web services automatically come with a business add-in that can be implemented and then used to filter the information that goes out. I think that was a really good example of how the two learn off each other and how a more technical person can show something to a functional person.
Kristine: I know that you also cover more traditional SD issues, something like field validation. Do you have any suggestions for streamlining customization in field validation issues?
Michael: Sure. I always knew that the book...which is aimed at beginner and intermediate developers, but also at the full range of SD consultants of all types of experiences...I always knew that the book also has to cover some of the basics. Field validation is definitely one of them.
The example that I picked for the book is actually around evaluating an order, depending on its value, and adjusting automatically the payment terms. If an order's within a lower sales order value bracket, then there might be one kind of payment method -- so it becomes payable immediately, for example -- needs to be applied. As the order value goes up, in different sales order value brackets, you then want to automatically change the payment method.
The problem with it in the past was that this type of validation on order value was not in place. Very often, the wrong payment method was set. The company, in terms of cash flow, was losing out.
So, that's the business value of something like that. You actually ensure order value's automatically set, by a filter that kicks in automatically. There's no manual intervention necessary at that point. The business benefit here is that you increase your cash flow by applying the right payment method.
Kristine: I also know that SD brings with it certain integration issues, such as pricing, as it appears in other systems like CRM.
Michael: I wanted to approach, within the book, many customer service issues. When companies want to pay more attention to the needs of their customers and follow up, they look to CRM. In some cases, what they don't do is just actually look at the system where a lot of their information is already held that they could reap and use for their advantage.
So I created one scenario where a CRM system is being told by the ERP system whenever a customer cancels an order. If for some reason an order is late first, then stopped or canceled at one point, the CRM system is automatically instructed to create a message to one of the service advisors to get in touch with the customer. Maybe not on every occasion, but maybe on every tenth order cancellation you want to find out why the customer canceled the order.
I describe in one of the chapters a scenario where an enhancement automatically triggers the creation of such a message within CRM.
This is not something that's covered by any standard. If you want to provide that sort of functionality in your system, you have to use enhancements. That's hopefully where the book will come in really handy.
Kristine: One last question: I'm wondering where you this combination of sales and distribution and ABAP going. Are there any trends that you see?
Michael: In the final chapter of the book, I was trying to look a little bit ahead and talk about how enhancements within an SAP system, which direction it’s going in the future.
It happens very often these days that enhancements to systems and customizations have a really bad rep. That's mainly because a lot of industry analysts say, "Ooh. It will make your upgrades really hard." It's true -- there is some truth in that, definitely.
With all the move towards cloud, that's not going to become easier. Obviously, there will always be a core system with these cloud systems, a core system that cannot really be touched. If something goes wrong with an enhancement or any bit of extra code that you add, you want to make sure that your system doesn't break down. That's certainly one of the challenges for the future.
But at the same time, in terms of stability and where are enhancements and BAdls, and where's the enhancement framework is going to go, I think it's going to stay for quite some time. The core SAP system will - in an on-premise scenario, where it's not cloud-based - will be the main point where you will do these enhancements.
At the end of the day, I see that a lot of enhancements that customers do really can boil down to a competitive advantage. They're really important to be done locally in your own system. In those scenarios, the kinds of skills that the book will give you, and the examples that it will give you, will be really helpful in the future as well.
Kristine: Michael, thank you so much.
For our listeners, if you'd like more information on Michael's new book ABAP Development for Sales and Distribution in SAP, specifically about exits, BAdIs, and enhancements, it's just been released. You can visit the SAP PRESS bookstore at sap-press.com for more information on the book.
Thank you again, Michael for joining us today. These are great insights.
Michael: Thank you