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: 

Sequence of Customizing transports

Former Member
0 Kudos

Hi Community,

I have a question on transports that has been boggling my mind and I haven't found a satisfactory response as yet online.

Here is the scenario: Customizing TR 1 - Contains say plants

                               Customizing TR2  - Contains say storage locations

                               Customizing TR3  - Assign storage location to plant.

So basically, what I am saying is TR3 is dependent on TR1 and TR2.

Now for customizing transports does the sequence of transport matter? Basically, say I move TR3 followed by TR2 and TR1, but I make sure I move all. In that case will the transports fail? When we import customizing TRs, does the foreign key checks run in the importing system?

I was under the assumption that for customizing TRs, sequence doesn't matter. What matters is we move all that make a logical group? Can any of the ABAP experts here help on this? Thanks!!

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Here is how I see it:

1. I can feed in any kind of data in a database table using an ABAP program's 'Update' statement. Hence, I could override any constraint/foreign key check that I would have imposed in SE11.

2. Similarly, if I release a TR, considering the update in the importing system would happen via an ABAP program, my take is the data would get written to the database. However, if we don't move all the TRs, it would lead to an inconsistent customizing, as we had predecessor nodes. For ex, if I just move TR3, what I am saying is, the import would be successful. However, if you open the node in customzing, the view might show error - saying invalid plant or invalid storage location but the TR import as such wont fail.

Hence, the sequence is not important. What is important is we move the complete logical set. The order would not matter. Is this a correct analysis? Any views?

4 REPLIES 4

Former Member
0 Kudos

Here is how I see it:

1. I can feed in any kind of data in a database table using an ABAP program's 'Update' statement. Hence, I could override any constraint/foreign key check that I would have imposed in SE11.

2. Similarly, if I release a TR, considering the update in the importing system would happen via an ABAP program, my take is the data would get written to the database. However, if we don't move all the TRs, it would lead to an inconsistent customizing, as we had predecessor nodes. For ex, if I just move TR3, what I am saying is, the import would be successful. However, if you open the node in customzing, the view might show error - saying invalid plant or invalid storage location but the TR import as such wont fail.

Hence, the sequence is not important. What is important is we move the complete logical set. The order would not matter. Is this a correct analysis? Any views?

0 Kudos

Sequence only matters if you move the same development objects or table keys (customizing) in several transports. This is not the case in your example.

Indeed you are responsible to keep track of all relevant transport requests for your customizing or development effort, otherwise your risk an inconsistent state in the target system.

Thomas

0 Kudos

Thanks for your response.

Actually, we did some customizing (SPRO) in one of our SAP sandbox environments and were getting ready to move it to the next environment. While we typically always sequence the workbench requests, I wanted to confirm if sequencing customizing transports is important or even required? As I understand it now, sequencing customizing TRs is not important. We just need to make sure we have identified all the required ones. Let me know I have understood it right.

On your second point, why would sequence matter if I have the same table keys in multiple transports? The actual data to be transported would get pulled based on the key when we release the transport. Hence, considering the both the TRs are not released, would releasing them mean we would get the latest data pulled from the table to be transported?

0 Kudos

I have to adjust my first post a bit. Sequence also matters for separate development objects if they reference each other, e.g. program calls function moduke. If you import the program before the function moduke, you will have activation errors, obviously.

This is usually not an issue for customizing though.

So my musings were about already released transport requests and the sequencing issues when importing into subsequent systems.

In your specific case, since the customizing transports are not released yet, they would indeed contain the identical settings when released at the same time. It might still make sense to collect all the settings into one new transport and just move that one.

And now off to the Easter holidays...


Thomas