Sei sulla pagina 1di 5


BADIS DEFINITION a) b) BADI Name Enhancement Spot Implementation.


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 cant 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 : 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 dont 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: 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.

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:


Call transaction TCODE using BDCTAB MODE

A/E/N Screens


Mode A is All Screens will display. E is Error Screens will display. N is No Screens will display.

2) 3) 4) 5) 6)

We are processing small amount of data compare to Session Method. SY_SUBRC will be returned after the call transaction. Processing is always Synchronous. Updating is either Synchronous or Asynchronous. Messages will be handled using BDCMESSAGE CALL

Session Method in BDC: 1) 2) 3) 4) 5) Session Method will be started using the Transaction Code is SM35. Large Amount of data we can process. SY-SUBRC will not be returned in Session Method. Processing is always Asynchronous. 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.