You are on page 1of 6

ABAP Development: How-to store dependencies between transport requests

Posted by Nicolas Busson Apr 7, 2012 I've always found it annoying that SAP does not provide any functionnality to check transport request dependencies before importing them to a target system (even limited to the obvious ones). And at least we would expect the possibility to record those dependencies manually. Which unfortunately you cannot do unless you are working with "transport control using projects", and trying to set dependencies between requests belonging to different projects... See online help for more information in this area: http://help.sap.com/erp2005_ehp_04/ helpdata/en/ce/ed31375fc9342ae10000009b38f839/content.htm

Would be great to know why SAP decided to limit this very cool feature so much. I mean: if it is a best practice to re-use abap objects, then it shoudn't be that unusual to develop a program which uses data elements created for another program whithin the same project (and you cannot put both programs into the same transport request for whatever reason...).

So if you ever faced a situation where you developped something new (which you included in transport request ZZ) and knew at the time of coding that transport request XX should be transported beforehand because you were re-using some of its components, but couldn't save this dependency anywhere which resulted in error status 8 when transport request ZZ was imported to QA system (because your colleague forgot to transport XX before going on holidays), you migth be interested in the following trick...

Open the transport organizer (tcode SE03) and click the "Display/Change request attributes" button under the "Administration" folder:

Generated by Jive on 2012-04-18+02:00 1

ABAP Development: How-to store dependencies between transport requests

Create a new attribute that you will use to record the ID of any transport request (XX in the above example) that needs to be transported before the one selected (ZZ):

Save.

Generated by Jive on 2012-04-18+02:00 2

ABAP Development: How-to store dependencies between transport requests

Now if you create/change a transport request (tcode SE01), the attribute that you've just created can be filled in on tab "properties" with any dependent request:

You're done.

When you (or any other person) release this transport request, it is very easy to check that every request under the "ZPREV_REQUEST" attribute is already imported to your target system. And an even better option would be to automate this check in badi CTS_REQUEST_CHECK...
545 Views Tags: transport_request, dependency, cts, se01, se09, sapbasis Apr 8, 2012 10:16 AM Pete Moxon

Generated by Jive on 2012-04-18+02:00 3

ABAP Development: How-to store dependencies between transport requests

Thanks for the blog post Nicolas.

You know what, I never really gave this much thought but it is always a pain when transporting objects, transports fail due to objects your development is reliant upon not being in the target system.

As someone who works with BW quite a lot this happens on just about every decent size project I've worked on. BW is a little bit different in that it does have its own transport organiser, but it would be great if the people moving BW objects could check transports automatically in a source system such as ECC prior to moving the transport to the next system in the transport route.

I guess this is where some custom BADI coding would come in.

Cheers, Pete

Apr 8, 2012 11:22 AM Nicolas Busson Pete Moxon in response to

Hi Pete,

Thanks for sharing your thoughts. Actually a friend of mine has been working on a "transport sequencer" program the past weeks... and I'm looking forward to seeing his project in the code exchange section soon :-)

It follows a very simple logic: you select a transport request, and the program will scan every 'Z' object (function module, method, include, etc.) to check if every component used in the code is already included in a released request (we assume every released request is transported for now). It relies on regular expressions, so every statement like DATA, CALL FUNCTION, CALL METHOD, etc. is easily traced down recursively...

Generated by Jive on 2012-04-18+02:00 4

ABAP Development: How-to store dependencies between transport requests

In the end the program gives you the correct sequence to release/import your requests. We've been using it for a couple of weeks and I must admit that it successfully prevented many transport failures...

Hope to see it soon on SDN so the community migth help us improve it. I'll update this post with the corresponding link once the nugget is available.

Cheers, Nicolas.

Apr 8, 2012 12:26 PM Pete Moxon Nicolas Busson in response to

That sounds like a really useful tool. I'll keep an eye out for it.

Apr 10, 2012 12:11 PM Suhas Saha

Hello Nicolas,

In my previous project we used TR attributes extensively, but i feel that this feature is not very widely known. Thanks for sharing this info

I have an observation - i'm on ECC5.0 & the TR attributes administration is available in SE03 trxn & not SE09. May be you made a typo!

BR, Suhas

Generated by Jive on 2012-04-18+02:00 5

ABAP Development: How-to store dependencies between transport requests

Apr 10, 2012 12:19 PM Nicolas Busson Suhas Saha in response to

Oupsss... thanks a lot for your feedback. Indeed it is SE03. Just made the correction.

Cheers, Nicolas.

Apr 10, 2012 1:38 PM Srithar T

thanks for sharing

Generated by Jive on 2012-04-18+02:00 6

You might also like