cancel
Showing results for 
Search instead for 
Did you mean: 

Role of BADI in BPC

Former Member
0 Kudos

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.

Accepted Solutions (1)

Accepted Solutions (1)

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

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

Former Member
0 Kudos

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.

Former Member
0 Kudos

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

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

>

>

> 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

Former Member
0 Kudos

Hi Rich,

Thanks for correcting me.

Actually I messed up Function Module with BADI.

Regards,

G.Vijaya Kumar

former_member788753
Discoverer
0 Kudos

Hi Rich,

How to add filter BADI in BPC.

Regards,

Prudhvi

lenastodal
Product and Topic Expert
Product and Topic Expert
0 Kudos

Thank you for visiting SAP Community to get answers to your questions. I recommend that you familiarize yourself with our Q&A Tutorial: https://developers.sap.com/tutorials/community-qa.html, as it provides tips for preparing questions that draw responses from our members. Tip: by @-mentioning rich.heilman, he gets notified and sees your comment right away.

(By adding a picture to your profile you encourage readers to respond: https://www.youtube.com/watch?v=46bt1juWUUM
Many thanks!)

Answers (3)

Answers (3)

Former Member
0 Kudos

Thank you Rich for your inputs

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

Praveen

0 Kudos

Hi All,

Thanks Rich for your valuable input

Below are some links which i found very helpful. Sharing with you.

Enterprise Performance Management (EPM) How-to Guides - Business Process Expert - SCN Wiki

Regards,

Chetan

Former Member
0 Kudos

Thanks Rich for all your help.

Former Member
0 Kudos

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

Thanks.

Former Member
0 Kudos

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

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

I have written several How-To guides on BPC BAdIs last year. Each of them has a business scenario associated with them. You can find this HTGs on our EPM HTG wiki page.

http://wiki.sdn.sap.com/wiki/display/BPX/EnterprisePerformanceManagement%28EPM%29How-to+Guides

Regards,

Rich Heilman