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

Delete enhancement spot and enhancement implementation using program?

mahendragulla
Explorer
0 Likes
3,901

Hi all,

I have requirement, that I need remove custom package(Devclass) using a program. This package contains also enhancement point , enhancement implementation. At present I am deleting the entries from  ENHOBJ and  ENHHEADER tables for enhancement implementation, ENHSPOTOBJ and ENHSPOTHEADER tables  for enhancement spot .  By removing entries from the a fore said   tables, I am not able to remove enhancements correctly. Could please guide me that How i can remove enhancement spot and enhancement implementation properly using abap code?

Thanking you,

With best regards,

Mahendra

1 ACCEPTED SOLUTION
Read only

naimesh_patel
Active Contributor
0 Likes
2,593

You should not delete the entries directly but instead use the same class which SE80 uses to delete the Spot. See subclasses of CL_ABSTRACT_ENH_TOOL to understand the class hierarchy. Also this classes has DELETE method to delete the enhancement. E.g. CL_ENH_TOOL_HOOK_IMPL is for Implicit enhancements.

If you want to go the delete from table route, you can find all the tables by checking the enhancement spot entry in the transport (SE09). Open the task and navigate to the enhancement. Here, you will see the classes which contains the entries.

Regards,
Naimesh Patel

4 REPLIES 4
Read only

naimesh_patel
Active Contributor
0 Likes
2,594

You should not delete the entries directly but instead use the same class which SE80 uses to delete the Spot. See subclasses of CL_ABSTRACT_ENH_TOOL to understand the class hierarchy. Also this classes has DELETE method to delete the enhancement. E.g. CL_ENH_TOOL_HOOK_IMPL is for Implicit enhancements.

If you want to go the delete from table route, you can find all the tables by checking the enhancement spot entry in the transport (SE09). Open the task and navigate to the enhancement. Here, you will see the classes which contains the entries.

Regards,
Naimesh Patel

Read only

0 Likes
2,593

Hi Naimesh,

Thank you very much for your help. I have tried delete enhancement spot using class CL_ENH_TOOL_HOOK_DEF.  But it seems not deleting the implementation.

for the table route you gave me  following suggestion.

If you want to go the delete from table route, you can find all the tables by checking the enhancement spot entry in the transport (SE09). Open the task and navigate to the enhancement. Here, you will see the classes which contains the entries.


Here you mean to say the tables. If yes could please let me know how can I find the those tables. I tried find  the tables by selecting enhancement spot entry from  SE09. There i can't see any tables. Could you please either refer me to some resource or give me the detail steps to find the tables.

Thanking You again,

With best regards,

Mahendra

Read only

0 Likes
2,589

Yes, I meant the Tables.

Create a new implementation or Make changes to the enhancement implementation and Save it in the TR. Now follow these steps:

  1. Find your TR in SE09
  2. Expand the TR to display the Task
  3. Double click on Task to see the objects in the Task. Here you would see the entry R3TR ENHO Zxxxx
  4. Double click on this entry and you would bunch of tables.

Step 3 would bring you here

Step 4 would bring you on the tables

These tables may be different based on the different type of enhancement implementation (BADI , Implicit, etc)

Regards,
Naimesh Patel

Read only

0 Likes
2,589

Mahendra,

Why you want to delete it through a Program ?

Why not follow a standard procedure through SE20 or going to the respective program where you have created it ?

Better follow the standard procedure and let the sanctity of the system prevail.

K.Kiran.