Reason SAP introduced the new BAdi technology are as follows:
Overview of BAdis in the Enhancement Framework

Unlike classic BAdis, new BAdis always belong to, and are managed by, enhancement spots. Although SAP will create new BAdis going forward, there are still many enhancements provided by classic BAdis, and therefore they are still very important.
Classic BAdis

A BAdi definition and an interface are created using SE18. The creation of the BAdi and interface results in the automatic generation BAdi adapter class and a corresponding bridging method, which the SAP application call to branch to the relevant code. The only task of this bridging method is to call the existing active implementations of industry solutions, partners, and customers, one after the other. The sequence in which they will be called cannot be guaranteed.
Classic BAdi Program exit – Call syntax in the SAP program

This figure shows the syntax that is used to prepare and call the bridging method in the SAP program. In the SAP program, a reference variable is defined using the type of the BAdi interface, which has already been defined.
When the GET_INSTANCE static method of the standard class CL_EXITHANDLER is called, an instance of the adapter class is created. The bridging method is then called through the BAdi instance, and it branches to the relevant implementations.
To search for a classic BAdi Program Exit
Alternatively, you can set a breakpoint for method GET_INSTANCE and get the BADI name
Steps to implement a classic BADI Program Exit: