Sensitivity: Internal
BADI:
BADI stands for Business Add Ins. BADI is a technique to enhance
standard code based on the business requirements. BADI can have multiple
implementations.
How to Find BADI:
Go to Tcode: SE84, Then press Enter
Now Expand the 'Enhancements' , Then Expand 'Business Add-ins'
Then Click in Definitions
Sensitivity: Internal
Now give the package name for which tcode you want to find out the BADI
In our case we want to find out the BADI for tcode MIGO
So the package name fro MIGO is 'MB'
Pass the package name and click on execute button
Now in below screen shot you can see all the available BADI for tocde MIGO
Sensitivity: Internal
To check appropriate BADI we can check in SAP accelerator HUB.
Customer Exit: customer exits are provided to the customer in the
form of function module which holds the include in the customer namespace.
The developer can add own source code in it. This is an enhancement. This
does not affect sap standard source code.
1 Customer Exit are Implemented as FM.
2. Customer Exit are Created in customer namespace.(eg.ZXPADU02 )
3. In Customer Exit we do not require access key to make changes.
4. Customer exits are available for MM, SD, FI, HR. Basically
Designed for all modules.
User Exit: user exits are empty sub routines that is provided by sap. you
can fill it with your own source code. this is a modification. this affect the
source code.
Sensitivity: Internal
user exits means there is need of access key, as we are going to modify the
sap std. code.
1. User Exit are Implemented as Subroutines.
2. User Exit Created in SAP namespace.(eg.FV64A001 )
3. In User Exit You require access key to make changes
4. User exits are Basically designed For SD module.
Example of User exit is : MV45AFZZ
How to Find Customer exit:
Go to Tcode: SE84, Then press Enter
Now Expand the 'Enhancements' , Then Expand 'Customer Exists'
Then Click in Enhancement
Sensitivity: Internal
Now give the package name for which tcode you want to find out the
Customer exit
In our case we want to find out the Customer exit for tcode CO11N
So the package name for MIGO is 'CORU'
Pass the package name and click on execute button
Now you will see all the Customer exit available for tcode CO11N
Sensitivity: Internal
Now double click on any Exit name, in our case I double click on (CONFPI03)
Now you can see the available Function exit name
Now double click on Function exit name(EXIT_SAPLCORF_403)
Now you will see the customer exit highlighted below
Sensitivity: Internal
BAPI:
BAPI is Business Application Programming Interface.
BAPI are remote ebabled function module which are used to communicate
with other [Link] are stored in in BOR(Business Object Repository)
How to Find BAPI:
Execute the Tcode: BAPI, Then press Enter
Sensitivity: Internal
Now Expand the module for which you want to find out the BAPI.
In our case I want to find the BAPI to create Sales order
Expand Sales and Distributions->Sales ->sales Order
Then double click on CreateFromDat2
On the right side you can see the BAPI Name as '
BAPI_SALESORDER_CREATEFROMDAT2'
Sensitivity: Internal
Debugging:
Key commands - The following commands can be used while debugging an
ABAP program:
1. Single step (F5): The single-step command executes one instruction at
a time while you go ahead. Suppose you give a single-step command
at a subroutine or function call. In that case, the debugger will navigate
to the program for that subroutine, a function module, or any other
object that is used for the modularization.
2. Execute (F6): When you take the execute action, the debugger steps
over a given line. If the line contains a function or a subroutine the
function will be executed, and the result will be returned without
debugging each line inside that subroutine or function.
3. Return (F7): While debugging if you get inside a subroutine or function
module with single steps, the return command navigates the debugger
to the line where the current function or subroutine was called.
4. Continue (F8): Executes the whole program and switches to the output
screen. (Or halts at the next breakpoint if encountered)