The most misunderstood thing about transports
Quick SAP transport quiz:
Let’s say I have a table with a configuration with 3 settings–a, b, c. The initial state of the table is blank.
I first save to setting a to transport #1001
I come back later and change the setting to b but I save to transport #1002
Lastly, I come back again and save the table with a value of c and save to #1003
I then release the transports and direct the basis team to move the transports to my QA environment in the order #1001, #1003, and lastly #1002 .
What value will be transported? (Read to the end of the blog for the answer)
When I went through SAP HR training many, many moons ago, I recall being impressed with the thoroughness of the curriculum. My training was several weeks in length and went through SAP HR soup-to-nuts.
However, I remember being distinctly shocked on my first assignment when I was tasked with updating some configuration and then being asked to place my changes something called a transport. Back then, the most common use of the term “transport” was a minivan from Pontiac. Wasn’t sure what to do!
My point is that functional resources are often given precious little guidance on the nature of transports.
The objective of this blog is to clear up a single misconception about transports. It’s a misconception that I held for a long time myself. It was not until I was able to play “junior basis dude” on an internal system that I fully understood how the alchemy of transports actually works. A quick summary:
- When I press save in my config step and am prompted for a transport request, an entry is written internally to the transport record that “points” to the row in the table where I made the change. The contents of the table are not written to the transport.
- I can go back to the same table to the same row and change the value as often as I’d like and there will be no change–but nothing new is written to the transport.
- When I release my transport, SAP takes a snapshot of the content of the row and writes to a file. This file is then moved and updated in the new environment.
Armed with a better understanding of how transports work, let’s revisit the quiz from before. As we learned, what gets written to the transport is the table’s current value at the time of release. Since the transports were all released at the same time, they will all have the same value–C. Therefore, this is the value that gets transported regardless of transport order.
Hope you’ve enjoyed this blog. Follow me on Twitter @brandontoombs to find out what ridiculously entertaining subject I tackle next.