Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Changing Standard SAP programs.

Former Member
0 Kudos

Hi-

I was recently asked in an interview the follwoing question:

Interviewer: I know that SAP provides User-exits to change any existing standard programs or functionality in SAP. But can't we modify the standard SAP programs apart from using user-exits?

Me: No we shouldn't modify(even if we have the access key to modify standard SAP programs) because if anything goes wrong the SAP will not support as we tweaked with the standard SAP program.

Gurus, can you comment on this and enlighten what exactly is the standpoint of SAP in such cases.

All useful replies will be awarded points.

Thanks.

Ramesh.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Ananth,

Yes, u r right.

If they really want to modify then copy the Standard program into zprogram and do the rest of the things.

It is not recommended to modify the standard program using Access Key.

Regards

SAB

8 REPLIES 8

Former Member
0 Kudos

Hi Ananth,

Yes, u r right.

If they really want to modify then copy the Standard program into zprogram and do the rest of the things.

It is not recommended to modify the standard program using Access Key.

Regards

SAB

Former Member
0 Kudos

what u have told is exactly correct. If u get the access key and modify the standard sap programs, from then onwards SAP will not support that particular application as the code has been changed according to clients requirement. To avoid such scenarios SAP has provided user exists and customer exists for getting additional functionality.

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

Well, when you modify an SAP object, this actually sets a flag, so that when you do an upgrade, the upgrade process will then see that this object has been modified, and will allow you to do one of two things, you can either keep your version or you can accept the new version of the standard program, and then decide to re-implement your changes afterwards.

As far as support goes, I think it would depend on the change, if you changed the program and it does work correctly, it may not be your change that is causing it to not work, in that case, I would think that SAP would support it, for example, say the modified program calls a function module and the FM is not producing the correct results, hence the modified program is not working, this is not due to your changes, but still SAP will need to support the FM.

Also, to clarify on the question that was asked by the interviewer, there is another way of modifing standard SAP without using access keys, this is the new Enhancement framework delivered with NetWeaver 7.0. THe framework provides implicit and explicit enhancement points where you can enter your own code. This doesn't actually modify the program, but is implemented at the kernal level instead. So this is another option when it comes to modifing standard SAP programs.

Regards,

Rich Heilman

0 Kudos

When we encounter problems with SAP code that we have modified, SAP always comes back and says it's our issue. We have to back out our changes and see if we can duplicate the error. If we can't, we know that it is our problem.

So SAP will still support the program, but you will have to remove your mods.

Rob

suresh_datti
Active Contributor
0 Kudos

SAP has come up with Modification Assistant from 47 on, whereby the modified Std Programs can be easily audited during subsequent upgrades/patches etc.. Using the TCode SPAU, you will be prompted with an option either to reset the code to original or retain the custom code for each Std program that was modified via the Modification Assistant. Having said that, this should always be your last approach, but I don't see anything wrong in modifying Std code if you have exhausted all the other options..

However, with the all new Enhancement Framework, SAP has provided enhancement spots on quite a few Std reports too.. ie you can extend the WHERE clause of a SELECT statement inside a Std report, without having to register the Object for change etc..

~Suresh

0 Kudos

Suresh.

<i>you can extend the WHERE clause of a SELECT statement inside a Std report, without having to register the Object for change etc..</i>

Really? I was not awhere of that. I know of the implicit points as well as the explicit, but I was pretty sure that you can't modify any of the standard code within, only add your own. You can do some fancy things with methods, such as add your own to a class, or even override one, but I was told that you can not manipulate the standard code which has been written, which would make your statement about adding to the WHERE clause of a SELECT statement incorrect. Can you produce some documentation which suggests this? I am very intrigued. Thanks.

Regards,

Rich HEilman

0 Kudos

<i>extending where clause:</i>

I am still on a 47 but do remember seeing that feature mentioned in one of the SDN Webinars on the Enhancement Framework. Will try & dig up the link..

but since you are surprised, I will have to really get this clarified.. quite possible I understood it wrong..

~Suresh

this is the <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/bb54c452-0801-0010-0e84-a653307fc6fc">PDF</a> that I mentioend earlier.. PL take a look at 'ENHANCEMENT-SECTION' in the page7.. I thought we could modify the SELECT there..

Message was edited by:

Suresh Datti

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

Ok Suresh, in this section it is explaining the explicit enhancement section. Here there will be sometimes some standard SAP code within it, which the customer can modify. In this example it is a select statement, so yes, you can change it, but it is not always a select statement, this section can have anything it in and will always allow the customer to change it since it is not "Standard code", but just "Standard Code" implemented in an enhancement.

Regards,

Rich Heilman