ā2015 Jun 17 11:16 AM
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
ā2015 Jun 17 5:42 PM
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
ā2015 Jun 17 5:42 PM
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
ā2015 Jun 18 2:50 PM
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
ā2015 Jun 18 3:33 PM
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:
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
ā2015 Jun 19 8:00 AM
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.