11 Replies Latest reply: Mar 25, 2014 4:13 PM by Chetan Patil RSS

Role of BADI in BPC

Zack Thacker
Currently Being Moderated

Hello Gurus, Where exactly does BADI come into picture in BPC? From reading the description of BADI, it seems like its similiar to what ABAP does. so what would be the difference between the two?

 

Thanks.

  • Re: Role of BADI in BPC
    Rich Heilman
    Currently Being Moderated

    BPC NW runs on top of the NetWeaver ABAP stack. So all BPC logic is written in ABAP.  BAdIs are a way to add modifications to the standard code line in BPC without touching the standard code.  BAdI implementations are defined by SAP, and implemented by the customer.  There are specific places within the standard code which call specific BAdIs.  When you implement a BAdI, you write ABAP code in the implementation.

     

    Hope this helps.

    Regards,

    Rich Heilman

    • Re: Role of BADI in BPC
      Zack Thacker
      Currently Being Moderated

      Thanks Rich, couple of clarifications please-

       

      You said "When you implement a BAdI, you write ABAP code in the implementation." - so basically what you mean is BAdi is just a predefined/prepackaged ABAP code?

       

      Also, you mentioned "NetWeaver ABAP stack", could you please elaborate on that?

       

      Thanks.

      • Re: Role of BADI in BPC
        Vijaya Kumar G
        Currently Being Moderated

        Hi,

        BADI is nothing but the most flexible way in defining your logic or planning functions. You use ABAP codes for defining the logics.

         

        Let me keep it simple, BADI is nothing but the standard way to write ABAP code.

         

        And the role of BADI in BPC is, In NW platform of BPC all the functionalities like, adding any BPC object, Processing etc are implemented using BADI.

         

        In BPC for NW we have two stacks, Java and ABAP stack. Java Stack is nothing but the one used in providing the user interface like the status update when you process a dimension etc.

         

        ABAP stack is mainly for getting the task to be performed from .Net Server through Java Stack and trigger the process(Function Module) accordingly in NW system.

         

        Please check the BPC NW architecture in the sizing document to get more detailed information on this.(You can get this in service market place)

         

        https://websmp204.sap-ag.de/~sapdownload/011000358700000250732010E/BPC_75.pdf

         

        Hope this helps,

         

        Regards,

        G.Vijaya Kumar

        • Re: Role of BADI in BPC
          Rich Heilman
          Currently Being Moderated

          >

          G.Vijaya Kumar wrote:

           

          >

          > And the role of BADI in BPC is, In NW platform of BPC all the functionalities like, adding any BPC object, Processing etc are implemented using BADI.

          >

          > In BPC for NW we have two stacks, Java and ABAP stack. Java Stack is nothing but the one used in providing the user interface like the status update when you process a dimension etc.

          >

          > ABAP stack is mainly for getting the task to be performed from .Net Server through Java Stack and trigger the process(Function Module) accordingly in NW system.

           

           

          Actually, that's not right at all.  BAdIs are NOT responsible for all functionalites in BPC.  BAdIs are object oriented version of user exits, or customer exits. The definitions and hooks are placed specific at certain points in the product, so that you can implenment your own code at those points.  They are not predefined packages of code, they do NOT even contain code untill you implement them.  We only supply the definition, and the actual call to the BAdI in the main codeline.  You then implement the BAdI, insert your own code, and this code is executed at the correct time.

           

          Also, in BPC NW, we do not even use the java stack for anything.  It is not responsible for the user inteface at all. The user interface for BPC is written in VBA which makes web service calls to the .net server, which then makes RFC calls to the ABAP tier.

           

          Cheers,

          Rich Heilman

  • Re: Role of BADI in BPC
    Zack Thacker
    Currently Being Moderated

    One last question Rich, can you give me a couple of situations where we have to use BAdi?

     

    Thanks.

    • Re: Role of BADI in BPC
      Sreeni P
      Currently Being Moderated

      Hi Zack,

       

      Just to answer your specific questions- There are various reasons for BADI usage in BPC. As a result, SAP created mutiple BADI enhancement spots which customers use to create their implementations (custom code). We have

      UJD_ROUTINE -  (to create start or end routines and use the BADI filters created as part of the definition in the BPC transformation file ( There is a how-to on this. Refer this for more business context information.

       

      UJ_CUSTOM_LOGIC -  This is used if you have a functionality or a business logic that cannot be achieved through native BPC script logic. We can write the custom code in ABAP in the BADI implementation using this and and call it from the script logic.

       

      We have a scenario where we wanted to read the value of sign data of an account in BPC. The value of could be either 1 or 2. If the value is 1 then , a certain processing needs to be initiated. If the value of the account is 2, then a different processing. It was not possible to do this kind of processing with native BPC script logic.

       

      There is also another BADI enhancement spot called UJR_WRITE_BACK. There is also information about this in SDN. This is for writing back data to parent members using this.

       

      Hope it is clear now.

       

      Thanks

  • Re: Role of BADI in BPC
    Zack Thacker
    Currently Being Moderated

    Thanks Rich for all your help.

  • Re: Role of BADI in BPC
    PRAVEEN GAJULA
    Currently Being Moderated

    Thank you Rich for your inputs

     

    Can you please give us links of your guides as the above link is not working.

     

    Praveen

Actions

Incoming Links