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: 

Problem with Z-Table Transport

former_member405801
Discoverer

I am stuck with a unique problem and any help will be appreciated.

Two years back we were working with ECC 6 and in our system there is a Z-Table which is very critical. There was a requirement to add some additional fields to the table and We took a project to revamp the process and for that. For some reasons the development became slow and I was working on it on and off. I also released the original request which was created to add the fields and took the development to Quality server. But the development never was moved to Production Server.

Now one of the column to be added to the table was to be a flag denoting "Rest Of World", so I added a column with name "ROW" and Z Data Element ZROW. SAP allowed me to do that without even a warning at that time.

Now it so happened that in last 2 years we had a number of projects running in parallel including the one for migrating to SOH Hana for which numerous patches and updates were to be applied on the system. In some of the patch/upgrade SAP has made ROW (which was my column name of the table) as its keyword. In doing so it didnt give any error, but just gave a warning message and which is why my subsequent development didnt stop. Now the table activation in itself happened during the patch/upgrade activity, I dont know which.

Since this Z-Table is extremely critical before moving such old requests to PRD I decided to write another program which would make a copy of the table and populate the entire data into it. In this program however I got stuck because it was attempting to create a new table with column name "ROW" which now is a key word. It creates a Transparent table but will not activate. Not even through database utility(SE14).

My problem is that if the system is not allowing me to make a copy of the table in Development Server itself, it will not allow me to transport it to Production server too for the same reasons. If I am not wrong, when any Transport request with changes to Table are sent to Production server, the system regenerates and activates the table and if it fails to do the activity, the Transport returns with an error.

Now even if I have to rename/delete the field from the table, it will happen in a new Transport request, and I simply cant send the second request coz the system will not know which field to rename/delete as the original request had not reached PRD. And the first request will not go because the of the ROW keyword problem.

This is a huge development with close to 200 abap objects locked in about 7 TR's and scrapping everything and starting from scratch is not an option. Please help.

1 ACCEPTED SOLUTION

matt
Active Contributor

It was pretty unfortunate that ROW became a keyword, but I have to say it's a pretty poor choice for a fieldname. You've got, what 16, characters? Wouldn't something like REST_OF_WORLD be more meaningful? With code completion it's not going to slow down development.

That's by the by.

Create a new transparent table, with the field REST_OF_WORLD instead of ROW. Write a program to copy the data in the old table to the new table, mapping ROW to REST_OF_WORLD. Transport to production and run it. Now your data is in a table without syntactical issues.

Next in development change all programs in your application so that they use REST_OF_WORLD instead of ROW.

Now create brand new transport request, and put ALL the objects of your application into it. All open transports you should delete. Anything transports in the import queue you just have to delete from the import queue.

3 REPLIES 3

p244500
Active Contributor
0 Kudos

What is the error your getting when you try to transport? and just check anyone has change the table in production

matt
Active Contributor

It was pretty unfortunate that ROW became a keyword, but I have to say it's a pretty poor choice for a fieldname. You've got, what 16, characters? Wouldn't something like REST_OF_WORLD be more meaningful? With code completion it's not going to slow down development.

That's by the by.

Create a new transparent table, with the field REST_OF_WORLD instead of ROW. Write a program to copy the data in the old table to the new table, mapping ROW to REST_OF_WORLD. Transport to production and run it. Now your data is in a table without syntactical issues.

Next in development change all programs in your application so that they use REST_OF_WORLD instead of ROW.

Now create brand new transport request, and put ALL the objects of your application into it. All open transports you should delete. Anything transports in the import queue you just have to delete from the import queue.

Sandra_Rossi
Active Contributor
0 Kudos

I don't see what the question is. You have to change the name of the column, what problem do you have?