SE18 BADIS DEFINITIONa) BADI Nameb) Enhancement SpotSE19 BADIS Implementation.1) Create Implementationa) Classic BADIBADI Nameb) New BADIEnhancement Spot2) EDIT / Change Implementation.a) Classic BADIImplementationb) New BADIEnhancement Implementation.Differences between User Exits and BADIS1) 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 TransactionCodes like CMOD and SMOD.d) We have 4 types of User Exits like1) Field Exit2) Screen Exit3) Function Module Exit4) 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 theTcodes like SE18 and SE19 .d) We have 2 different types of BADIS1) Multiple Uses BADI2) 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 OneFilter.Enhancements:We have to add additional functionality of SAP source and don’t affect theOriginal code we have to Enhancements or User exits.There are 2 types of Enhancements1) Implicit Enhancements2) Explicit EnhancementsImplicit Enhancements:We can easily identify where u have to add the code of any ImplicitEnhancements.We have certain places to add the Code and these places are provided by SAP.First we have to go like thisFirst 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, FunctionPools, 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 Point2) Enhancement Section.
Enhancement Point:We have to add the code After the Enhancement Point in the ExplicitEnhancement.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.UseYou create an explicit enhancement option when processing a Repository object with the relevant tool bycreating an enhancement spot element definition at a point where this is possible. This enhancement optioncan then be called at different points using enhancement spot element calls. The enhancement spot elementdefinition and the corresponding enhancement spot element calls make up the definition of an enhancementoption. For example, when editing an ABAP program with the ABAP Editor, you can define explicitenhancement options in the form of the ENHANCEMENT-POINT statement, which also represents the elementdefinition and element call.Each enhancement spot element definition must be assigned to at least one enhancement spot. For this, anenhancement spot element definition is assigned one or more simple enhancement spots, which in turn areassigned to at least one composite enhancement spot. Simple and composite enhancement spots areRepository objects that form a tree-like structure, where the leaves and branches represent simple andcomposite enhancement spots respectively. A simple enhancement spot is always assigned to exactly oneenhancement technology (ABAP source code enhancement or BAdI).Composite enhancement spots are used for the semantic grouping of simple enhancement spots. A compositeenhancement spot contains either one or more simple enhancement spots and/or one or more compositeenhancement spots of the relevant type. You can use composite enhancement spots to combine simpleenhancement spots into meaningful units:
Call Transaction Method in BDC:1) Call transaction TCODE using BDCTAB MODE A/E/N ScreensUPDATE 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 CALLSession 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 secondtransaction will be started for processing.6) We are using the Function Modules likeBDC_OPEN_GROUP, BDC_INSERT, BDC_CLOSE_GROUP.7) Error logs will be created in Session method.