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

How to physically delete all development objects assigned to one package from the system?

Former Member
0 Likes
9,341

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!

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
7,209

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


18 REPLIES 18
Read only

Former Member
0 Likes
7,209

Hi ,

<< Invalid & dangerous suggestion removed >>

Hope this helps.

Thanks,

Tooshar Bendale

Message was edited by: Kesavadas Thekkillath

Read only

0 Likes
7,209

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.

Read only

kakshat
Product and Topic Expert
Product and Topic Expert
0 Likes
7,209

Hi Alex,

What is the problem with the conventional way to delete development objects? Like going to the respective transaction and pressing delete?

Read only

Former Member
7,209

Hi!

It is not good way, because I have 500+ objects

Read only

Former Member
0 Likes
7,209

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.

http://scn.sap.com/thread/74956

Read only

0 Likes
7,209

Thank you for your reply,

but I have too much objects, so do that manually isn't possible...

Read only

Former Member
0 Likes
7,210

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


Read only

0 Likes
7,209

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.

Read only

0 Likes
7,209

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 .

Read only

0 Likes
7,209

What is the actual requirement (what is the need of this report or where you are using this report).

Regards

Mahesh

Read only

0 Likes
7,209

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

Read only

0 Likes
7,209

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.

Read only

0 Likes
7,209

What happened if you press Suppress key ?

Read only

0 Likes
7,208

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

Read only

0 Likes
7,207

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:

Program errors

Message no. 0K534

Diagnosis

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.

Procedure

Define the output table globally.

So, unfortunately, this way can't help me

Read only

0 Likes
7,207

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

Read only

smritigupta
Explorer
0 Likes
4,923

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

Read only

0 Likes
4,871

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/"