Skip to Content
avatar image
Former Member

How to distinguish the ABAP Code in include program into different TRs

Hello Friends,

In our current project, two teams are working on the developments. One team is for LES related developements and another team is for billing related developments. As part of developments, same programs are sharing by two teams, example -

Include - MV45AFZZ, the userexits in include are using by both the teams for their developments

Now the issue was, since the same program is using by both the teams, and during program activation , system automatically includes the code in both the team TRs. This was causing issue while testing and transport to other testing systems, since billing project is going live in next year and LES in coming november

Hence, we need to understand how we can differentiate the code which should not impact with other TRs.

Many thanks for your inputs

Best Regards,

Goutham

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

7 Answers

  • avatar image
    Former Member
    Sep 20, 2010 at 08:59 AM

    Hi goutham

    Try to create a Z* include for each team for their own code

    Add comment
    10|10000 characters needed characters exceeded

  • Sep 20, 2010 at 09:13 AM

    hi Goutam ,

    There is simple solution for these .

    Use proper comment / documentation in Program which will differentiate between two .

    while changing in MV45AFZZ include there you can create one FORM ENDFORM which will be different for both

    using proper condition .

    regards

    Deepak.

    Add comment
    10|10000 characters needed characters exceeded

  • Sep 20, 2010 at 09:42 AM

    Goutham wrote:

    we need to understand how we can differentiate the code which should not impact with other TRs

    Hi Goutham,

    in my opinion split the source code of a userexit according to the development team name or a project is not a good approach.

    Maybe, it might be more feasable to divide the userexit source code using the application id such as order management, delivery management, billing and so on.

    Try to see if [this blog |/people/andrea.olivieri/blog/2010/01/12/best-practice-for-a-sap-ecc-consolidation-project-filter-dependent-badi-to-organize-the-user-exits-and-enhancements]can help

    Regards,

    Andrea

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Sep 20, 2010 at 10:33 AM

    Hi ,

    Never got into a scenario to o write that code in include of MV45AFZZ but in my opinion i think having includes separated as

    ZXX_LES_YYYY_01

    ZXX_BIL_YYYY_01

    u can try this option as adviced in reply 1.

    If you two includes differntiated in above manner, i think you can handle transport in without much issues.

    BR,

    Vijay

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Sep 20, 2010 at 11:47 AM

    What I have seen done (and it was very effective) is a custom config (ZT...) table, with modification code or number an dON/OFF switch. The modification is assigned a change code, the code is entered into the table as ON or OFF, the exit coding is then wrapped inside logic that checks content of the table (read into memory once upon entry to the exit code usually in field mod, or somewhere similar) for ON. If the control table indicates ON, the code continues, otherwise it drops to the end of the ENDIF/ENDCASE statement. One merely changes the switch to ON when one is ready to test or to promote the code beyond development.

    You probably know already to NOT put CHECK statements in those exits....use READ then IF or CASE if you employ this.

    There is NO way that I'm aware of that will allow you to do what you've asked...if the code is changed it's always assigned to any open (not released) transport containing the same object name. To do othewise would introduce complete chaos into our systems.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Sep 20, 2010 at 12:00 PM

    Hi,

    1. create 2 zee include program in diferent transport request.

    2. include those in main include.

    3. call subprogram in main include like below

    perform les_form if found.

    perform bill_form if found.

    4. create form in include programs.

    5. make comment one include program in main include program which you don't want to transport.

    Regards,

    L.Velu

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Sep 20, 2010 at 12:08 PM

    i´m a lil bit irrritated. When e.G. TEAM1 changes MV45AFZZ and activates they get asked for a TR.

    Once they input this, the object will be in the TR AND the object will be blocked for changes.

    I dont really see how the same object could make its way into 2 seperate TR´s.

    Even if you go for solutions like proposed with two Z-includes in MV45AFZZ you still will have to change MV45AFZZ itself in order to write your INCLUDE statements there, so your problem is not really solved it´s just more easy to come around it.

    Add comment
    10|10000 characters needed characters exceeded