2013 Feb 11 8:08 AM
Hi,
I need to delete various development objects assigned to one package from the system .
For example, I have a main package Z***_MAIN which has several sub-packages. In each sub-package I have various development objects: domains, data elements, tables, views, FMs, classes, BAdis, smart- and pdf-forms, etc.
Is there any easy way to physically delete all these objects from the system (programmatically or using transport requests)?
All of them are under one transport request.
Thank you!
2013 Feb 11 10:19 AM
Hi,
You can do the manually or Write a report for that we have some function modules are there just use it.
just read the TADIR for paricular PKG and use below FMs and delete it.
RS_DD_DELETE_OBJ -- > DDIC objects
RKE_DELETE_REPORT --- > Reports
I hope u can understand
Regards
Mahesh
2013 Feb 11 8:16 AM
Hi ,
<< Invalid & dangerous suggestion removed >>
Hope this helps.
Thanks,
Tooshar Bendale
Message was edited by: Kesavadas Thekkillath
2013 Feb 11 8:33 AM
Thank you for your reply!
But this is not correct way. This will only remove objects from the package, but the objects still will be in the system.
2013 Feb 11 9:49 AM
Hi Alex,
What is the problem with the conventional way to delete development objects? Like going to the respective transaction and pressing delete?
2013 Feb 12 10:56 AM
2013 Feb 11 9:55 AM
Hi Alex,
Two Steps involved
1.)First delete the object from the Transport Request
2.)Right click on the object in the package(SE80) and enter the option delete.
It will delete from system also.
you can also refer the link below.
2013 Feb 12 10:59 AM
Thank you for your reply,
but I have too much objects, so do that manually isn't possible...
2013 Feb 11 10:19 AM
Hi,
You can do the manually or Write a report for that we have some function modules are there just use it.
just read the TADIR for paricular PKG and use below FMs and delete it.
RS_DD_DELETE_OBJ -- > DDIC objects
RKE_DELETE_REPORT --- > Reports
I hope u can understand
Regards
Mahesh
2013 Feb 12 11:07 AM
Hi,
I agree with you!
I have already started to write a report, which takes objects list from TADIR table and than deletes objects using special FM depending on the object type.
But I thought that there is an easy way to do that without writing a report So, now i know, that report is only way.
Thank you.
2013 Feb 12 12:35 PM
Yes exactly report is the only way i also tried but the objects are available but the records are not available in TADIR table (if u deletes the records like "Tooshar Bendale" said in this thread ).
Any way i given helpful answer thanks for closing thread etc...
Regards
Mahesh .
2013 Feb 12 12:40 PM
What is the actual requirement (what is the need of this report or where you are using this report).
Regards
Mahesh
2013 Feb 12 4:24 PM
There might be an easier way to do this.
In SE80, enter your package and expand the entire tree (using the respective button). Then mark the first object, then - while holding down the shift key - the last one.
Then choose "Delete" from the context menu. Then choose "Delete all" button.
I don't have a package right now to try this out on, so please report back with the result
Thomas
2013 Feb 13 2:09 PM
I've just tried. It is not possible to call context menu after expanding package and selecting sub-folders (Dictionary objects, Class Library, Programs, etc.). I can select them, but can;t call the context menu.
2013 Feb 13 2:12 PM
2013 Feb 13 3:19 PM
This seems to be dependent of the number of objects selected, for a very large package I did not have "Delete" in the context menu either. Not sure where the limit is, try selecting smaller blocks and repeat a few times.
Make sure you select the single objects too, not just the folders.
Thomas
2013 Feb 13 4:20 PM
Ok, now I can select "Delete" option, after pressing 'Delete all" button, process starts, but after short time I receive a lot of error messages (it is for small package, with only several tables, DTELs, domains and program):
In packages with classes, enhancements, etc. I even cant receive message like above, i just receive 'Program errors' with help message:
Message no. 0K534
A common cause is that the output table passed to the ALV is not defined globally but locally. Thus, the reference to the table is lost. The ALV no longer has an output table.
Define the output table globally.
So, unfortunately, this way can't help me
2013 Feb 14 9:58 AM
Looks like you are running into syntax errors and/or dependency checks here. You might have to delete these objects one by one. I'm sceptical about a programmed solution like suggested above, since this might bypass important checks and leave you with an inconsistent state. Also, you probably want your deletions inside a transport request.
By now you would be done deleting 500 objects one by one
Thomas
2025 Jun 30 11:56 AM - edited 2025 Jun 30 11:56 AM
Hello,
I have a similar requirement: I need to delete several objects that begin with a specific namespace and then transport them. The challenge is that there are approximately 10,000 objects in TADIR with this namespace.
Can anyone suggest an efficient and reliable approach to handle this?
Thanks,
Smriti
2025 Jul 01 10:12 AM - edited 2025 Jul 01 10:13 AM
Use abapGit - "https://abapgit.org/"
abapGit s/b one of the first things about which SAP training teaches people IMO.
Remember, there is no such thing as "on-premise" in real English.
"Premise" is a concept.
"Premises" is a location.
"https://collectivecontent.agency/2018/04/19/should-i-say-on-premise-or-on-premises-it/"