Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

BADI concept

Former Member
0 Kudos

From SAP Help:-

In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.

<b>What is this two-level and multi-level? Can anybody explain with a suitable example?(I mean what is SAP,Partner,Customer,country versions,industry solutions....)</b>

1 ACCEPTED SOLUTION

uwe_schieferstein
Active Contributor
0 Kudos

Hello Ravi

BAdIs can be filter-dependent which means:

<i>"Filter dependence for BADI definitions means that each interface method

automatically has an importing parameter FLT_VAL assigned ot it. This

parameter must be filled with a filter value as current parameter when

it is called.

A BADI definition should be marked as filter-dependent whenever the

characteristic of the BADI implementation should match the

characteristics of the filter type - that is, whenever the

implementation of different filter values should be different or should

only exist at all for certain filter values.

Typical filter types are line of industry or country."</i>[Reference: Documentation of data element FLT_DEP]

This means that you can have several implementations of the same method in different implementing classes of the BAdI interface.

Now who will implement these classes?

Either it is yourself (= customer) or you may look around if somebody else offers suitable implementations (e.g. partners of SAP or SAP itself). So here you have already multi-level solutions.

Regards

Uwe

4 REPLIES 4

Former Member
0 Kudos

Hi,

Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.

As with customer exits two different views are available:

In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.

In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available

In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.

SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.

The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example).

All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task.

Lakshminarayanan.

P.S.Mark all helpful answers for points

0 Kudos

hi lakshminaraynan!

I've already given the material from SAP help(1st para).You provided the same.I need expaination on 2 level and multilevel which i couldn't understand from sap help.Please provide an example scenario if u can.

0 Kudos

See basically in India, when an invoice is generated in a manufacturing unit, it is mandatory that excise invoice must also be created, so that the excise invoice should get printed in the invoice copy, when the goods actually leave from the factory premises.

So, this was a scenario. An invoice left oout of the factory without an excise invoice no getting printed in the invoice. its actually an offence in India because all the goods which are sold are excisable and we pay 16% excise duty to the Government.

So in order to tackle this issue, there is a BADI available in the system BADI_INV_PRTDATA - Customer Exit for Data Procurement for Invoice Printing.

So whenever, the user printed an invoice using transactions VF02, VF31 etc, the system would check whether an excise invoice has been created for that particular invoice or not. If its not created an error message will be issued which shall stop further printing of invoices.

Through this way, we ensured that only when an excise invoice no is generated in the system, an invoice can physically leave from the factory premises.

Lakshminarayanan

P.S. Mark all helpful answers for points.

uwe_schieferstein
Active Contributor
0 Kudos

Hello Ravi

BAdIs can be filter-dependent which means:

<i>"Filter dependence for BADI definitions means that each interface method

automatically has an importing parameter FLT_VAL assigned ot it. This

parameter must be filled with a filter value as current parameter when

it is called.

A BADI definition should be marked as filter-dependent whenever the

characteristic of the BADI implementation should match the

characteristics of the filter type - that is, whenever the

implementation of different filter values should be different or should

only exist at all for certain filter values.

Typical filter types are line of industry or country."</i>[Reference: Documentation of data element FLT_DEP]

This means that you can have several implementations of the same method in different implementing classes of the BAdI interface.

Now who will implement these classes?

Either it is yourself (= customer) or you may look around if somebody else offers suitable implementations (e.g. partners of SAP or SAP itself). So here you have already multi-level solutions.

Regards

Uwe