Application Development 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: 

Incorrect values after table extension - how to delete them???

Former Member
0 Kudos

Hello everybody,

I'm facing the folowing problem:

We used have a customer table with fields: Client (key field), Value (key field), description. We have inserted several records into the table and released it to the Q and P system.

Later on, the custmomer required to add to more key fields - Controlling Area, Language key. So now we have a table with fields: Client (key field), Controlling Area (key field), Value (key field), Language key (key field), description. The developer made the extension and released the change to Q and P system. The error was, that, all the values should have been delete first and then the extension should be released.

So no we have values without Controlling Area (key field) and Language key (key field) in the table. There shouldn't be any values with the complete key - Client, Controlling Area, Value, Language key!!!

Is there any way how to delete these values in the Q and P systems by transport???

Thank you very much for any hint.

Petr

10 REPLIES 10

Former Member
0 Kudos

Hi Petr,

First of all, the change done by your developer has been a very dangerous one. Usually modification of any the key fields results in the database table to be inconsistent. So, always use the Database Utility (SE14) Transaction Code to modify the changes. For a complete details on the Database Utility have a look at the following link:

http://help.sap.com/SAPHELP_ERP2004/helpdata/EN/cf/21f0e3446011d189700000e8322d00/frameset.htm

I guess you are talking about the Customization Tables where you are able to transport the changes to the Q and the prod systems. If this is so, you can delete all the tables entries in the Customization or in the Maintain Table View and then lock the same in the Transport Request and release the changes. But this you need to do it in the customization client in the development system.

Hope this helps.

Thanks,

Samantak

0 Kudos

Hello Samantak,

Thank you very much for you feedback.

You are right about the transports - we can only change the values on the customization client of the development system and transport the changes. We do the changes via maintenance view in SM30.

But the problem is, that I deleted the entries in the development system and included this change into the transport. After releasing the transport, this change (deletetion of wrong values) was not done on the other systems - Q and P;( Now the inccorect values don't exist on the D system any more, but they still exist on Q and P systems.

I've been told, to change the table/object key definition of the values directly in the transport request like this:

Client = '*'

CO Area = ''

Value = ''

Language = ''

I've been told, that if the transport will be released, that the values with empty CO Area and Language key will be deleted - it was deleted when I copy the transport via SCC1 to other client but the behaviour in the Q and P systems is different - nothing happens;(

Any other idea?

Thanks.

0 Kudos

Hi Petr,

Well, you can try one more approach. You can delete the Table in the developement system and release the same so that the table gets deleted from the Q System and the Prod. Systems. And as soon as you release the Transport, create the same table properly with all the KEY Fields and lock it in a new transport and then release it.

Well, you will lose all the data and you need to take a backup if you see that the data is of importance. Also, do a where-used-list for that table before doing the deletion to note all the places the table has been used. Is the Go Live already has happened for the customer ? Then try this approach as the last one and do check and test properly for all the affected areas of this change.

I got this idea as the last resort It would be great if you can check out with the BASIS Administrator if he can come with a better approach as to this hard delete.

Hope this will help.

Thanks,

Samantak.

0 Kudos

Hello Samantak,

Again thanks for idea. This is I think not possible, because these are data for the CDFs on different CO objects and they have already been populated in the migration runs;(

My last idea is to change the way of maintenance of the table on all the systems/clients and delete it manually - NOT via transport. But I've been continously searching for better solution using transport and not unlocking the maintenance of the table.

Petr

0 Kudos

Hi Petr,

Well, ideally for the Customization Tables the Transport Request concept should have worked fine. But no idea as to why it's not working.

Can you create a Z Report Program in the development system and release the same through a Transport Request which will delete all the data from the table in the Q System and Prod. System and then delete that Z Report through another Transport Request once the data is deleted ? This will atleast keep the table consistent.

But do make the Report store the data in a backup table in case some thing goes wrong

Hope this helps.

Thanks,

Samantak.

0 Kudos

Hello,

This is a interesting solution;) I will think about all the possibilities we've discussed today!

Thanks

0 Kudos

Hi,

Sure. I will let you know if I can come up with another other work around.

Thanks,

Samantak.

0 Kudos

Do I understand correctly that you want to delete ALL rows of this table in Q and P? Maybe you can use SE14 directly in Q and P to delete the entire table from the DB and recreate it again right afterwards. It will have the new structure without any entries.

To be save, maybe save the existing rows via SE16 beforehand.

Thomas

0 Kudos

Unfortunatelly no - I don't want to delete all values in the table.

I need to delete only the incorrect values - values without CO Area and Language key.

0 Kudos

We have opened the system and corrected that.