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

Regarding Enhancement Framework

Former Member
0 Likes
2,178

Hi Experts,

My question is regarding Enhancement Framework. I want to know the order in which we can consider Enhancement Framework for our ABAP enhancements.

Prior to EF, for changes SAP recommends the following order;

Personalization e.g transaction/screen variant

If it will not solve the problem then

go for Enhanement (User Exit, BADI's, BTE's)

if it will not solve the prob, then we can copy template..meaning we can copy the object to customer name space and then make changes.

if it's complex and not solve the problem,

Then MODIFICATION was the last option. So basically this was the order.

Now after Enhancement Framework,

As per my understanding (I am new to EF), now we can make any changes to SAP code using EF bcoz of implicit and explicit enhancements, which looks to me is very strong, and after all it's enhancements as the objects are separated from SAP standard objects and store as custom objects in repository.

So my question is; do we still need to look at user exit's/badi's/BTE's or we can implement our enhancement directly thru enhancement framework more quickly because other methods requires a lot of time in researching and have limitations. Is there any drawback? Or Is the older style (BADI/User exit) has some advantage.

Please share your thoughts.

Thanks,

1 ACCEPTED SOLUTION
Read only

mvoros
Active Contributor
0 Likes
1,789

Hi,

I would suggest to look for BADIs first. BADIs are basically spots in code where customers can implement their own logic. They have well defined interface, so you know what you can do and what you can't. Don't forget to always read BADI documentation. Some of the BADIs have restrictions on what ABAP statements are allowed.

After that I would suggest to look for old user exits/customer exits or BTEs. After that I would suggest to look for explicit enhancement points. Similar to BADIs, explicit EPs are places where you can implement your own logic and these places were identified by SAP. The problem is that there is no well defined interface. You have access to local and global variables. Hence you have to be much more careful what you do in your enhancement. There is higher risk that you can break something with your additional code. As the last option I would suggest to look for implicit EPs. Here you have to be even more careful about what you do in your enhancement.

I disagree with your comment that user exits/BADIs require a lot of time in researching. When you are implementing enhancement point, especially implicit EP, then generally, you need to spend much more time on analysis that you are not going to break anything else. As I said, BADIs have well defined interface and are usually documented as well.

If you can't solve your problem using one of the previous technologies, then you need make a copy or modify SAP standard. I guess that I don't need to tell you disadvantages of these two approaches.

Cheers

Hi Experts,

My question is regarding Enhancement Framework. I want to know the order in which we can consider Enhancement Framework for our ABAP enhancements.

Prior to EF, for changes SAP recommends the following order;

Personalization e.g transaction/screen variant

If it will not solve the problem then

go for Enhanement (User Exit, BADI's, BTE's)

if it will not solve the prob, then we can copy template..meaning we can copy the object to customer name space and then make changes.

if it's complex and not solve the problem,

Then MODIFICATION was the last option. So basically this was the order.

Now after Enhancement Framework,

As per my understanding (I am new to EF), now we can make any changes to SAP code using EF bcoz of implicit and explicit enhancements, which looks to me is very strong, and after all it's enhancements as the objects are separated from SAP standard objects and store as custom objects in repository.

So my question is; do we still need to look at user exit's/badi's/BTE's or we can implement our enhancement directly thru enhancement framework more quickly because other methods requires a lot of time in researching and have limitations. Is there any drawback? Or Is the older style (BADI/User exit) has some advantage.

Please share your thoughts.

Thanks,

5 REPLIES 5
Read only

Former Member
0 Likes
1,789

Hi .

First Preference would be given to BADI/User Exit/BTE.

If there is no Go proceeding with the Above then you go for Enhancement Frame Work.

EF problem comes when your SAP System is getting Upgraded from Lower Version to Higher Version.

Hope My Answer Suffice your Question.

Read only

0 Likes
1,789
EF problem comes when your SAP System is getting Upgraded from Lower Version to Higher Version.

Could not get this?? If this is the case, then what is the benefit of Enhancements Framework...we can simply modify the object.

Does EF really cause problem at upgrade??? Does not make sense to me. Why it will cause as the objects are store as custom objects....Please put ur thoughts...

Thanks,

Read only

mvoros
Active Contributor
0 Likes
1,790

Hi,

I would suggest to look for BADIs first. BADIs are basically spots in code where customers can implement their own logic. They have well defined interface, so you know what you can do and what you can't. Don't forget to always read BADI documentation. Some of the BADIs have restrictions on what ABAP statements are allowed.

After that I would suggest to look for old user exits/customer exits or BTEs. After that I would suggest to look for explicit enhancement points. Similar to BADIs, explicit EPs are places where you can implement your own logic and these places were identified by SAP. The problem is that there is no well defined interface. You have access to local and global variables. Hence you have to be much more careful what you do in your enhancement. There is higher risk that you can break something with your additional code. As the last option I would suggest to look for implicit EPs. Here you have to be even more careful about what you do in your enhancement.

I disagree with your comment that user exits/BADIs require a lot of time in researching. When you are implementing enhancement point, especially implicit EP, then generally, you need to spend much more time on analysis that you are not going to break anything else. As I said, BADIs have well defined interface and are usually documented as well.

If you can't solve your problem using one of the previous technologies, then you need make a copy or modify SAP standard. I guess that I don't need to tell you disadvantages of these two approaches.

Cheers

Read only

mvoros
Active Contributor
0 Likes
1,789

Today I found OSS note 1257033 which answer your question. Basically, it's correspond to my previous post but it has little bit more details.

Cheers

Read only

alex_cook
Active Participant
0 Likes
1,789

Does EF really cause problem at upgrade???

Not necessarily but when you upgrade there will be a post-processing task to re-implement the enhancements and make sure that they still compile. You will also have to manually re-test to ensure the functionality is still the same.

I agree with Martin that it takes as much time if not longer to research the appropriate place for an implicit enhancement than it does for a user-exit/BADI. If you don't have complete understanding on what the flow-on effects of your enhancement are, or which other areas of the system also use the same code, then you shouldn't be implementing the enhancement.

Cheers

Alex