‎2016 Jun 22 1:14 PM
Hi,
I need a small clarification.
I need to move one Transport Request from DEV to Quality.
I moved but it is Unable to Import into the Quality Server , Becasue Error message is Rc == 8,Actually this was created By Some body,
If i checked Carefully,
In program they declare the Structure like .
Data:begin it_table,
include structure ztable
Data:end of it_table.
But he is forgotten to Create the Tr for this Ztable. Now how could check before importing into the server.
Any fields are tabels or Zobjects are missing. Should i depend on Those who created the Transport Request.
Need valuable suggestions.
‎2016 Jun 22 1:27 PM
It's a topic as old as ABAP. I'm not aware of a standard tool, you need to either organize you well, or develop a tool yourself, or try existing tools:
‎2016 Jun 22 1:27 PM
It's a topic as old as ABAP. I'm not aware of a standard tool, you need to either organize you well, or develop a tool yourself, or try existing tools:
‎2016 Jun 22 1:31 PM
‎2016 Jun 22 2:17 PM
Hi,
a very simple method, nowadays widely followed in many SAP development environments:
1 create or change anything, create a transport request when asked to do.
2 create a transport of copies (SE80, Transport organizer, right-click on any existing request, Create, Choose T Transport of copies, name it, OK)
3 Change/Edit the transport request just created.
4 Click Include Objects (7th icon from left on request toolbar).
5 Choose Object list from original request (F4) available (Request and/or Task)
6 Enter your original request/task number
7 In Properties tab: Enter Name of QA system as target
8 Release (Truck icon in status Bar)
9 Acknowledge Warning: "Not all objects in the request could be locked." Release anyway.
10 Import to QA and see what's missing and what has to be done further
Repeat steps 1 to 10 as often as you want or need modifying your original unreleased transport.
11 When your changes are approved and tested by business in QA, release original transport and bring to production THE SAME DAY.
Going this way, any transport conflicts are practically excluded, short feedback cycles are enabled.
Best regards,
Clemens
‎2016 Jun 22 3:04 PM
So you are asking me to create one more task and Pick particular objects from the original task. Am i correct.
‎2016 Jun 22 3:24 PM
You could also identify, release and transport the already existing transport request (if missing objects were not created in a local, no transport, package) if not possible due to some objects not yet ready for transport, consider a transport of copies request.
You could also considering importing both requests together, so at end of import, every request will display a nice green status.
Also if a table/structure was missing, you should also check for missing data element, domain, search helps, etc.
Regards,
Raymond
‎2016 Jun 22 4:03 PM
Suppose Table was created In Local. then .How could i identify.
‎2016 Jun 22 4:14 PM
So that's the problem - I was going to say if the ztable was not present how was the code activated ? If the code was not activated you can't release the transport.
I would suggest using a transport of copies first to see how it would react in the QA system. If there are no errors release the actual transport and then transport that.
If there are errors since the real transport has not been released you can keep modifying the real transport until a transport of copies works without errors. Then release the real one and transport it all the way through as needed.
Rich
‎2016 Jun 22 4:28 PM
I understood What did you Say. But I don't want to See Red color icon RC = 8, Even if i use the method Transport copies.
‎2016 Jun 22 11:23 PM
Exactly. Create transport of copies. Take all objects of original - objects remain locked in original transport.
That's it.
Regards Clemens.
‎2016 Jun 23 4:17 AM
One more small information. I never did it. But i read it.
What is the meaning of transport copies is
Suppose Request 1 is having
object 1
object 2
object 3.
if you want to move only object 2 By using the transport copies, We can create one more New request and we can include the object 2.
But the no of objects of Request 1 is
Object 1
object 3.
New request is having like
object 2.
Am i correct.
In my original scenario. Tr1 is having
Fields
smartform
driverprogram.
But Ztable is missing.
By using Transport copies
New tr2 is creating using Transport copies
Now Tr2 is having objects like
Fields
smartform
driverprogram.
But still ztabel is missing.
Need small clarification please
‎2016 Jun 23 7:10 AM
Even i have a question here, what if i missed some objects to include in TR. And i released that request to import in Quality. During transport it throws RC error.
What are the ways to copy objects from one system to another.
1. I don't want to create a new TR for missing objects.
2. Don't want to make released TR as modifiable to include missing objects and re-release it again.
Suggestions??
‎2016 Jun 23 7:34 AM
Here is a nice post by on the topic, with further links to two related blogs.
You will always need another transport if you get RC = 8 due to missing objects in the target, either to add the missing objects, or to remove the dependencies.
Lucky you, if you're working with ToC from the start. If you can't stand the red lights in the STMS overview, then you can import all related ToCs together again, this should make them green (or at least yellow), because first the import is done for all requests in correct sequence, and then the activation.
Thomas
‎2016 Jun 23 8:13 AM
You don't need to import all the related ToC's.....
You fix the errors in the first ToC by adding the relevant objects to the ORIGINAL transport, and create a ToC of the original again. Then import that. Once the current ToC imports cleanly you then import the real transport.
The reason for this is that ToC's can only be transported to QA, they cannot go to production, and you then only have one transport (the original) to deal with.
Rich
‎2016 Jun 23 8:18 AM
That's the correct approach, however I was specifically referring to turning the red status of already imported ToCs in the QA queue into a green or yellow, should this be desired, as I understood from somewhere above.
Thomas
‎2016 Jun 23 10:58 AM
Ok, I see your point, however that seems just to be box-ticking (or in this case light-colour-turning) for box-tickings sake.
As far as I'm concerned (as I suppose you are too), it'll be the status of the final transport that then goes into production where a red status should be avoided.
Rich
‎2016 Jun 23 11:14 AM
What about the problem of local objects? They are not in any transport request, so it can be easy to get a RC 8 in the target system. Is it possible to forbide the assignment to local packages, or is there something else to prevent these issues?
‎2016 Jun 23 1:56 PM
Absolutely. Box-ticking, I'll have to remember that term. Some customers don't care about red lights in their queues, as long as the end result is fine, and some don't want to see any of these sitting there long-term, doesn't look so nice, I guess.
Thomas
‎2016 Jun 23 2:11 PM
Hmm, maybe assigning S_DEVELOP excluding local package names like $TMP and T*, or programming own checks at release with the CTS_REQUEST_CHECK BADI ? I know you have the code ready for dependency walking and remote existence checks
Not sure what the ABAP package concept / package interfaces can offer in this respect, I have not seen much of this in actual use in customer developments, beyond sheer grouping and maybe a little hierarchy.
In the end, developer's due diligence cannot be replaced...
Thomas
‎2016 Jun 23 2:31 PM
Thanks. Using the authorizations is probably the easiest way. Unfortunately, I couldn't develop the tool further (ABAP program to simulate transports -> http://wiki.scn.sap.com/wiki/display/ABAP/ABAP+program+to+simulate+transports ), and it's still in its original alpha version. I was more interested by the concept of transport of copies, which exists everywhere (i.e. all projects/clients), and is a robust/not bugged concept 😉
‎2016 Jun 23 11:12 PM
To find the missing objects, why don't you just do a "Simulate Release" of the task, or tasks, in the transport request? This will tell you what objects are problematic.
If there are no problems, you will get the following message:
Release of request/task DEVK937482 simulated
We are on 740, support pack 7.
Bruce
‎2016 Jun 23 11:57 PM
But to do a "Simulate Release" of the task, first we have to release that request, right??
And if we have to release TR prior simulation, then what's the benefit.
‎2016 Jun 24 8:41 AM
Simulation is just for simulating the export (for instance there would be an error if there's an inactive object), not the import into another system (what we're talking about).
‎2016 Jun 27 6:46 PM
No, you do not have to release the transport in order to do the simulate.