Badis

5
SE18 BADIS DEFINITION a) BADI Name b) Enhancement Spot SE19 BADIS Implementation. 1) Create Implementation a) Classic BADI BADI Name b) New BADI Enhancement Spot 2) EDIT / Change Implementation. a) Classic BADI Implementation b) New BADI Enhancement Implementation. Differences between User Exits and BADIS 1) User Exits : a) User exits are client Dependent. b) We can’t assign More than one User Exit to One single Project. c) We have to Create and Display User Exits using the Transaction Codes like CMOD and SMOD. d) We have 4 types of User Exits like 1) Field Exit 2) Screen Exit 3) Function Module Exit 4) Menu Exit. 2) BADIS : a) BADIS are Client Independent. b) BADIS are dependent on ABAP OOPS. c) We can Create Definition and Implementations we have to use the Tcodes like SE18 and SE19 .

description

BADIS in ABAP

Transcript of Badis

Page 1: Badis

SE18 BADIS DEFINITION

a) BADI Name b) Enhancement Spot

SE19 BADIS Implementation.

1) Create Implementation a) Classic BADI

BADI Name b) New BADI

Enhancement Spot

2) EDIT / Change Implementation. a) Classic BADI

Implementation b) New BADI

Enhancement Implementation.

Differences between User Exits and BADIS

1) User Exits : a) User exits are client Dependent. b) We can’t assign More than one User Exit to One single Project. c) We have to Create and Display User Exits using the Transaction

Codes like CMOD and SMOD. d) We have 4 types of User Exits like

1) Field Exit 2) Screen Exit 3) Function Module Exit 4) Menu Exit.

2) BADIS : a) BADIS are Client Independent. b) BADIS are dependent on ABAP OOPS. c) We can Create Definition and Implementations we have to use the

Tcodes like SE18 and SE19 . d) We have 2 different types of BADIS

1) Multiple Uses BADI 2) Filter Dependent BADI

1) Multiple Uses BADI :

Page 2: Badis

We can use same with Multiple Implementations. 2) Filter Dependent BADI :

Each and every Implementation we can create One Filter.

Enhancements:

We have to add additional functionality of SAP source and don’t affect the

Original code we have to Enhancements or User exits.

There are 2 types of Enhancements

1) Implicit Enhancements 2) Explicit Enhancements

Implicit Enhancements:

We can easily identify where u have to add the code of any Implicit Enhancements.

We have certain places to add the Code and these places are provided by SAP.

First we have to go like this

First we have to click Spiral Icon to implement the code.

EDIT Enhancement Operations Show Implicit Enhancement Options.

1) Begin and End of All Programs ( Reports , Module Pools, Function Pools, Includes)

2) Start and End of Forms. 3) End of Structure. 4) End of Local, Private, Protected Classes.

Explicit Enhancements:

These Explicit Enhancements are 2 types.

1) Enhancement Point 2) Enhancement Section.

Enhancement Point:

Page 3: Badis

We have to add the code After the Enhancement Point in the Explicit Enhancement. Enhancement Section: After removing the code we can add the code here.

Enhancement-point -- You can only add additional codes, you cannot change the existing code.

Enhancment-secton -- You can change or replace the existing SAP code.

Enhancement Spot:

The enhancement spots are used to manage explicit enhancement options.

Enhancement spots carry information about the positions at which enhancement options were created.

One enhancement spot can manage several enhancement options of a Repository object.

Conversely, several enhancement spots can be assigned to one enhancement option.

Use

You create an explicit enhancement option when processing a Repository object with the relevant tool by

creating an enhancement spot element definition at a point where this is possible. This enhancement option

can then be called at different points using enhancement spot element calls. The enhancement spot element

definition and the corresponding enhancement spot element calls make up the definition of an enhancement

option. For example, when editing an ABAP program with the ABAP Editor, you can define explicit

enhancement options in the form of the ENHANCEMENT-POINT statement, which also represents the element

definition and element call.

Each enhancement spot element definition must be assigned to at least one enhancement spot. For this, an

enhancement spot element definition is assigned one or more simple enhancement spots, which in turn are

assigned to at least one composite enhancement spot. Simple and composite enhancement spots are

Repository objects that form a tree-like structure, where the leaves and branches represent simple and

composite enhancement spots respectively. A simple enhancement spot is always assigned to exactly one

enhancement technology (ABAP source code enhancement or BAdI).

Composite enhancement spots are used for the semantic grouping of simple enhancement spots. A composite

enhancement spot contains either one or more simple enhancement spots and/or one or more composite

enhancement spots of the relevant type. You can use composite enhancement spots to combine simple

enhancement spots into meaningful units:

Call Transaction Method in BDC:

1) Call transaction TCODE using BDCTAB MODE A/E/N Screens

Page 4: Badis

UPDATE SYNCHRONUS / ASYNCHRONUS .

Mode A is All Screens will display.

E is Error Screens will display.

N is No Screens will display.

2) We are processing small amount of data compare to Session Method.

3) SY_SUBRC will be returned after the call transaction.

4) Processing is always Synchronous.

5) Updating is either Synchronous or Asynchronous.

6) Messages will be handled using BDCMESSAGE CALL

Session Method in BDC:

1) Session Method will be started using the Transaction Code is SM35.

2) Large Amount of data we can process.

3) SY-SUBRC will not be returned in Session Method.

4) Processing is always Asynchronous.

5) Updating is Synchronous processing. Means after the first transaction completed then only the second

transaction will be started for processing.

6) We are using the Function Modules like

BDC_OPEN_GROUP, BDC_INSERT, BDC_CLOSE_GROUP.

7) Error logs will be created in Session method.