Application Development and Automation 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: 
Read only

diff b/w cust exit and BADI

Former Member
0 Likes
969

Hi there,

"Among others, this enhancement technique has the advantage of being based on a multi-level system landscape (SAP, country versions, IS solutions, partner, customer, and so on) instead of a two-level landscape (SAP, customer) as with the customer exits"

Whats the real meaning of it in real time?

(where we use badi in multilevel landscape in real time...?)

Hi there,

"Among others, this enhancement technique has the advantage of being based on a multi-level system landscape (SAP, country versions, IS solutions, partner, customer, and so on) instead of a two-level landscape (SAP, customer) as with the customer exits"

Whats the real meaning of it in real time?

(where we use badi in multilevel landscape in real time...?)

6 REPLIES 6
Read only

Former Member
0 Likes
919

Hi,

Difference between BADI and USER-EXIT.

i) BADI's can be used any number of times, where as USER-EXITS can be used only one time.

Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project.

ii) BADI's are oops based.

A. BAdI Definition

1. SE18

2. Enter the name for the BAdI to be created in customer namespace and press "Create".

3. Enter a definition for your BAdI and on the interface tab enter a name for the BAdI interface. SAP proposes a name and it is pretty good. Meanwhile a BAdI class is also created which is not in our concern.

e.g for "ZTEST", SAP proposes "ZIF_EX_TEST" for the interface and "ZCL_EX_TEST" for the class.

4. Save your BAdI.

5. Double-click on the interface name. It will pass to a Class Builder session to make you implement your interface. If you are not familiar to the Class Builder; it's a bit like Function Builder and it will be easy to discover its procedure.

6. Save and activate your interface.

B. Calling your BAdI from an application program

1. Declare a reference variable with reference to the Business Add-In interface.

e.g. DATA exit_ref TYPE REF TO zif_ex_test.

2. Call the static method GET_INSTANCE of the service class CL_EXITHANDLER. This returns an instance of the required object.

e.g.

CALL METHOD CL_EXITHANDLER=>GET_INSTANCE

CHANGING instance = exit_ref .

3. After those two steps, you can now call all of the methods of the BAdI where it is required in your program. Make sure you specify the method interfaces correctly.

C. BAdI Implementations

1. SE19

2. Enter the name for the BAdI implementation to be created in customer namespace and press "Create".

3. It will request the BAdI definition name to which this implementation will be tied.

4. Enter a definition for your implementation and on the interface tab enter a name for the implementing class. Again SAP proposes a name and it is pretty good.

e.g for "ZIMPTEST", SAP proposes "ZCL_IM_IMPTEST".

5. Save your implementation.

6. To implement a method, just double-click on the method name and you will be taken to the Class Builder to write the code for it. Here you redefine the BAdI interface methods.

7. You must activate your implementation to make it executable. You can only activate or deactivate an implementation in its original system without modification. The activation or deactivation must be transported into subsequent systems

<b>Reward points</b>

Regards

Read only

0 Likes
919

thanks..SSK.

I know those points.

plz see my query. am asking about landscapes..

Read only

Former Member
0 Likes
919

The enhancement concept of

user exit

allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.

Add-ons attached to exits have the advantage that:

· They do not affect standard SAP source code
· They do not affect software updates

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.

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.

    • if it helpfu rewards poits are appreciated

Read only

0 Likes
919

hi pierluigi,

thanks for ur respane.

you have mentioned

"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.

"

what does it's real meaning.

you repeated my question as ur answer:)

Read only

0 Likes
919

Hi,

What that means is SAP procides its implementation as default implementation for the BADI or provides it directly in the code.

Then Partner's who have their own requirement can go ahead and create their own implementation for the BADI which includes say SAP implementation also (Just in case if this BADI is single instance)(If we can have multiple implementations active then Partner can just provide his implementation).

Then Customer can provide his own implementation on top of SAP's and Partner's. That is a third level of implementation. Again by checking the BADI behaviour he needs to either copy both SAP and Partners code into His implemenation and make his Implementation as Active if this is a Single instance BADI.

SO this advantage of an implementation per EACH STEP OF LANDSCAPE was possible only with BADI's but not possible with Custormer exits.

Hope this is clear for you now.

Regards,

Sesh

Read only

0 Likes
919

Hi,

What that means is SAP procides its implementation as default implementation for the BADI or provides it directly in the code.

Then Partner's who have their own requirement can go ahead and create their own implementation for the BADI which includes say SAP implementation also (Just in case if this BADI is single instance)(If we can have multiple implementations active then Partner can just provide his implementation).

Then Customer can provide his own implementation on top of SAP's and Partner's. That is a third level of implementation. Again by checking the BADI behaviour he needs to either copy both SAP and Partners code into His implemenation and make his Implementation as Active if this is a Single instance BADI.

SO this advantage of an implementation per EACH STEP OF LANDSCAPE was possible only with BADI's but not possible with Custormer exits.

Hope this is clear for you now.

Regards,

Sesh