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

BADI Differences between 4.7 and ecc 6

Former Member
0 Likes
440

Dear experts,

Can any one tell me the differences in BADIs in 4.7 and in ECC 6.0

Thanks in advance

somesh

Dear experts,

Can any one tell me the differences in BADIs in 4.7 and in ECC 6.0

Thanks in advance

somesh

2 REPLIES 2
Read only

Former Member
0 Likes
407

Hi Venkat,

SOURCE:

The u2018BADI-su2019 (Business Add-Ins), as they exist in pre NW04s releases are now called old classic-BADIu2019s (release 4.6 ). This was the first object-oriented way to enhance the ABAP system. This, to a certain extent, allows multiple implementations with limited filter support. The classic-BADIu2019s are implemented using ABAP Objects.

With the introduction of Enhancement framework from E.C.C 6.0 a new BADI concept in additional to the old classical BADIs has evolved called as Kernel-BADI enhancement.

The old classic-BADIu2019s are implemented purely at the ABAP Workbench level; that is, both the definition and implementation are realized as workbench repository objects (global classes and interfaces).

The new Kernel-BADI takes it to the ABAP language level. Because of this, the new Kernel-BADIu2019s are much faster compared to the old classic-BADIu2019s.

There are two new ABAP statements available now to support the Kernel-BADIu2019s, namely GET BADI and CALL BADI.

Example:

data bd_hdl type ref to badi_name.

GET BADI bd_hdl filters filt_1 = u2018VALUEu2019.

CALL BADI bd_hdl->method

exporting param_1 = 10.

The old classic-BADI used to mix both implementation selection and method call in the same CALL METHOD statement. The implementations could only be chosen at run-time because of the above reason and due to the fact that the BADI handle could only be gotten from another method call by passing the BADI name.

Whereas in the new Kernel-BADI, the active BADI implementations are included into the load of BADI handle at compile time and the filter criterion are expanded as IF statements. This is the reason the new Kernel-BADIu2019s are much faster than classic-BADIu2019s.

Some of the other new features of Kernel-BADIu2019s are,

u2022 Improved Filters with complex filter condition editor

u2022 Stateful BADI support and Context based lifetime control

u2022 Possibility to inherit the implementations

u2022 Switchable using Switch Framework 9

Have A Nice Day

Chaitanya.

Read only

Former Member
0 Likes
407

Ok