Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How easily customizable are SAP industry-specific solutions?

First of all, I have a very superficial knowledge of SAP. According to my understanding, they provide a number of industry specific solutions. The concept seems very interesting and I work on something similar for banking industry. The biggest challenge we face is how to adapt our products for different clients. Many concepts are quite similar across enterprises, but there are always some client-specific requirements that have to be resolved through configuration and customization. Often this requires reimplementing and developing customer specific features.

I wonder how efficient in this sense SAP products are. How much effort has to be spent in order to adapt the product so it satisfies specific customer needs? What are the mechanisms used (configuration, programming etc)? How would this compare to developing custom solution from scratch? Are they capable of leveraging and promoting best practices?

like image 600
Dan Avatar asked Jan 18 '10 13:01

Dan


People also ask

Can SAP be customized?

Therefore, customization and development are made possible by SAP. However, before deciding to tweak your standard SAP system, you have to understand the accompanying challenges and costs. You also need to identify the reason why SAP development and customization is necessary.

How many Industry Specific Solutions does SAP offer?

There are more than 27 SAP Industry Specific Solutions and a significant number of solutions developed by SAP partners, such as the poultry solution, well drilling solution, and dairy solution.

What is the customization in SAP?

You use Customizing in SAP ERP under SAP Customizing Implementation Guide Integration with Other SAP Components Integrated Business Planning to set up the system infrastructure and to configure the transfer of data from SAP ERP to SAP Integrated Business Planning (IBP).

What is industry specific SAP?

SAP IS - U/ CCS refers to 'Industry Specific Solution for Utilities - Customer Care & Service' and is a power-packed sales and information system that is well equipped to support varied utility services and business processes.


2 Answers

Disclaimer: I'm talking about the ABAP-based part of SAP software only.

Disclaimer 2, ref PATRYs response: HR is quite a bit different from the rest of the SAP/ABAP world. I do feel rather competent as a general-purpose ABAP developer, but HR programming is so far off my personal beacon that I've never even tried to understand what they're doing there. %-|

According to my understanding, they provide a number of industry specific solutions.

They do - but be careful when comparing your own programs to these solutions. For example, IS-H (SAP for Healthcare) started off as an extension of the SD (Sales & Distribution) system, but has become very much more since then. While you could technically use all of the techniques they use for their IS, you really should ask a competent technical consultant before you do - there are an awful lot of pits to avoid.

The concept seems very interesting and I work on something similar for banking industry.

Note that a SAP for Banking IS already exists. See here for the documentation.

The biggest challenge we face is how to adapt our products for different clients.

I'd rather rephrase this as "The biggest challenge is to know where the product is likely to be adapted and to structurally prepare the product for adaption." The adaption techniques are well researched and easily employed once you know where the customer is likely to deviate from your idea of the perfect solution.

How much effort has to be spent in order to adapt the product so it satisfies specific customer needs?

That obviously depends on the deviation of the customer's needs from the standard path - but that won't help you. With a SAP-based system, you always have three choices. You can try to customize the system within its limits. Customizing basically means tweaking settings (think configuration tables, tens of thousands of them) and adding stuff (program fragments, forms, ...) in places that are intended to do so. Technology - see below.

Sometimes customizing isn't enough - you can develop things additionally. A very frequent requirement is some additional reporting tool. With the SAP system, you get the entire development environment delivered - the very same tools that all the standard applications were written with. Your programs can peacefully coexist with the standard programs and even use common routines and data. Of course you can really screw things up, but show me a real programming environment where you can't.

The third option is to modify the standard implementations. Modifications are like a really sharp two-edged kitchen knife - you might be able to cook really cool things in half of the time required by others, but you might hurt yourself really badly if you don't know what you're doing. Even if you don't really intend to modify the standard programs, it's very comforting to know that you could and that you have full access to the coding.

(Note that this is about the application programs only - you have no chance whatsoever to tweak the kernel, but fortunately, that's rarely necessary.)

What are the mechanisms used (configuration, programming etc)?

Configurations is mostly about configuration tables with more or less sophisticated dialog applications. For the programming part of customizing, there's the extension framework - see http://help.sap.com/saphelp_nw70ehp1/helpdata/en/35/f9934257a5c86ae10000000a155106/frameset.htm for details. It's basically a controlled version of dependency injection. As a solution developer, you have to anticipate the extension points, define the interface that has to be implemented by the customer code and then embed the call in your code. As a project developer, you have to create an implementation that adheres to the interface and activate it. The basic runtime system takes care of glueing the two programs together, you don't have to worry about that.

How would this compare to developing custom solution from scratch?

IMHO this depends on how much of the solution is the same for all customers and how much of it has to be adapted. It's really hard to be more specific without knowing more about what you want to do.

like image 73
vwegert Avatar answered Oct 31 '22 21:10

vwegert


I can only speak for the Human Resource component, but this is a component where there is a lot of difference between customers, based on a common need.

  • First, most of the time you set the value for a group, and then associate the object (person, location...) with a group depending on one or two values. This is akin to an indirection, and allow for great flexibility, as you can change the association for a given location without changing the others. in a few case, there is a 3 level indirection...
  • Second, there is a lot of customization that is nearly programming. Payroll or administrative operations are first class example of this. In the later cas, you get a table with the operation (hiring for example), the event (creation, modification...) a code for the action (I for test, F to call a function, O for a standard operation) and a text field describing the parameters of a function ("C P0001, begda, endda" to create a structure P001 with default values).
  • Third, you can also use such a table to indicate a function or class (ABAP-OO), that will be dynamically called. You get a developer to create this function or class, and then indicate this in the table. This is a method to replace a functionality by another one, or extend it. This is used extensively in the ESS/MSS.
  • Last, there is also extension point or file that you can modify. this is nearly the same as the previous one, except that you don't need to indicate the change : the file is always used (ZXPADU01/02 for HR modification of infotype)

hope this help
Guillaume PATRY

like image 44
PATRY Guillaume Avatar answered Oct 31 '22 20:10

PATRY Guillaume