Application Development and Automation 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: 
Read only

Implicit enhancement vs User Exits

Former Member
0 Likes
8,545

I want to understand the difference between user exits and implicit enhancements.

So user-exits are seen as a modiification by SAP since the code is inserted in their standard code. Let’s say I insert an implicit enhancement in the user exit. Will the enhancement not have the same access as the user exit. And if so, why are User exits considered modifications and not enhancements if the enhancement point has same access and can do same modification.

Please help, I’m unable to find an answer.

I want to understand the difference between user exits and implicit enhancements.

So user-exits are seen as a modiification by SAP since the code is inserted in their standard code. Let’s say I insert an implicit enhancement in the user exit. Will the enhancement not have the same access as the user exit. And if so, why are User exits considered modifications and not enhancements if the enhancement point has same access and can do same modification.

Please help, I’m unable to find an answer.

9 REPLIES 9
Read only

Sandra_Rossi
Active Contributor
0 Likes
5,592

No, the implementation of a user exit is not considered a modification of standard code! (it's not because you have to request a key for old modules like SD that it's considered a modification of standard code - that's allowed, nobody will tell you "don't do that").

It's just 2 different technologies.

Read only

0 Likes
5,592

Hi,

Both User Exit and Implicit enhancement are different.

User Exit.

User exit is the earliest form of change option offered by SAP. User exit is implemented in the form of a Subroutine i.e. PERFORM.

In case of a PERFORM, you have access to almost all the data. So you have better control, but more risk of making the system unstable.

Implicit Enhancement.

It is type of enhancement framework. User Exits provided by SAP is not suitable for all customer requirements. Hence forth they came up with Implicit Enhancements through which we have the leverage to create it at different juncture of the program provided the Hooks (For Eg: Start and end of perform, Start and end of FM etc.. )

Read only

matt
Active Contributor
5,592

Implicit Enhancements are a way of modifying standard SAP code in certain places which are probably safer. But there's still scope to destroy your system if you use them carelessly. It's a bit like you can use an unreleased FM, but it's not advised.

The order of preference is

  1. User exit (from specific forms, through CMOD, BADI, Explicit Enhancements + a few others)
  2. Implicit enhancements
  3. Direct code changes
  4. Cloning standard code
Read only

Dominik_Tylczynski
SAP Champion
SAP Champion
0 Likes
5,592

I would prefer direct code changes with change assistant on to implicit enhancements. In my opinion well document direct code changes are easier to maintain. The fact that might get SPAU conflict during note application / patching / upgrade gives an opportunity to review the change, to check if the change is still needed, or if it's covered by new SAP version.

Dominik Tylczynski

Read only

Former Member
5,592

3a9e4ce873a94034b33dc62b0ce600ee
There is also a tool for resolving conflicts caused by (implicit) enhancements called SPAU_ENH. And you can also get an overview according to the enhancement technique or hierarchy using the repository information system.

Read only

ChrisSolomon
Active Contributor
5,592

That is very VERY incorrect information. To help you, "user exits" are the very older way to allow customers to place custom code within existing SAP code (ie. dynpros). That have existed "forever"....and not just "mostly in SD". This became a maintenance issue during upgrades and such as well as other disadvantages. So SAP came up with the newer concept of explicit and implicit enhancements. More recent still, SAP has attempted to push even "newer" means of injecting custom code, but I won't go into that. Just read up on them to understand when/where to make use of them.

Read only

Sandra_Rossi
Active Contributor
0 Likes
5,592

matthew.billingham Maybe could you convert your comment into an answer, because current answers are very imprecise.

Read only

Sandra_Rossi
Active Contributor
0 Likes
5,592

I agree, both enhancements and direct code changes can be considered equally because they change the behavior of standard programs in an uncontrolled manner. Some people think they are different only because enhancements do not require to register modification keys at SAP support portal.

Read only

matt
Active Contributor
5,592

Earlier comment converted to an answer as suggested.