ABAP Workbench,sap bapi;SAP Tcodes workbench;Workbench, SAP Refresh Buffer, SAP BADI

How To find SAP BADI and User exit for any SAP transaction

SAP BADI: Enhancement of a SAP Standard Program/Class/function are a daily routine for ABAP-er ( at least for me ).
The most harsh part is to find the right place to put the custom code.

This article will give two different step-by-step guides to find the BADI or User-Exit for a transaction or program. It is up to you to choose the most relevant for your case.

  • Debugging the CL_EXITHANDLER Class
  • Analyse SQL Trace

Find BADI with CL_EXITHANDLER

How To Find BADI and User Exit for any SAP Transaction ?

The simplest way is debugging a method of exit handler class. You will go through all the existing BADI and Exit one by one.

Check also   How to Delete SAP CRM Product - Step by Step Guide

The class CL_EXITHANDLER: Class for Ext. Services Within Framework of Exit Technique

Then put a break-point in the method GET_CLASS_NAME_BY_INTERFACE.

For each Standard Transaction, the framework calls the class CL_EXISTHANDLER to retrieve the list of BADI.

Let take an exemple and try to find all the exit for Customer transaction ( XD02 ) in SAP SD.

Method CL_EXITHANDLER-GET_INSTANCE

Go to SE24: CL_EXITHANDLER
And then navigate to method and select GET_INSTANCE

SE24 CL_EXITHANDLER

check also

Put the Break Point

Place a BREAK-POINT after the call of method GET_CLASS_NAME_BY_INTERFACE.

Find BADI EXIT_NAME Debug

The Name of SAP BADI will be in variable EXIT_NAME

Execute your Transaction

Find BADI EXIT_NAME Debug In Our Case, we want to list all the SAP BADI called for Customer Save.

Check also   HTML Template in ABAP

And the list for SAP SD Customer Transaction Save is:

  • ADDRESS_CHECK
  • GOS_SRV_SELECT
  • CVI_CALL_BTE
  • CUSTOMER_ADD_DATA
  • CUSTOMER_ADDRSCR_CHG
  • UKM_R3_ACTIVATE
  • UKM_FILL

Tips: Activate only the Break-point only before the action you want to find BADI for.

SAP BADI Tcodes

Tcode Description
SE18 Business Add-Ins: Definitions
SE19 Business Add-Ins: Implementations.

 

Other Ways to find BADI in SAP

Use the performance Trace ( SQL trace ) with Tcode ST05. Don’t forget to set field “Buffer trace” as flagged.
Actually, the BADI Database are buffered.

In the Trace result, filter on Object Name: V_EXT_IMP and V_EXT_ACT.