I'm with a big doubt!!!
What happens when i transport a change request with many objects to a environment in production, but a object that is being transported, in the moment of the transport, it's being used in target environment.
How the objects are overwritten, if is it being used?
David Milliken replied
The overall requirement for this from SAP is that you attempt to not transport objects into production while users are using the processes that you are effecting. Simple to say but in all actuality - not likely. What actually happens in the guts of the system is that all your programs that you write in ABAP are compiled and additionally are running a cached, compiled version in memory. When you make a transport of an object - if there are related objects with a dependency, upon the next request to access the effected code, it will re-compile on-the-fly and your user will take a few moments to get the transaction that they were looking for (the transport is not the trigger to re-compile).
So those users that are unlucky that are in the middle of using something that is effected will get a short-dump called 'Load Program Lost' or something to that effect (this is one of many dumps that could occur) that states that the program you are using was changed while it was running. Although the code should roll-back properly in the Db, you don't want to do this if you can avoid it. You can get some problems with updates and some objects have such a breadth of effected objects that the re-compilation may effect the entire system and force a shut-down due to a locking issue on re-compiling code. You need to check the transport logs to see the activation report to determine the impact - your QA box should provide enough details to identify how many objects are effected - sometimes changing one include may cause thousands of programs to need a re-compile.
If you want to check this out - you can do a small demo run with SE16 since it is a program that is created on the fly. Access SE16 - do a long query that will take a few minutes to get back - while it is running, open another session and access SE16 for the same table and update the fields for selection and when you do this - it will recreate the SE16 program for the table and short-dump the other one with a 'Load Program Lost'.
There are a number of other issues that have nothing to do with the time the transport was done but when the first next time the program is run to re-compile.
If this answers your questions, please set this thread to answered, if not, please provide your additional requirements so we can address your issues promptly.