You want to use a BAdI to extend the functions of an SAP program. Which of the following tasks is necessary?
A. Call the BAdI.
B. Create an enhancement project using a customer exit.
C. Define an interface for the BAdI.
D. Implement a class that implements the BAdI interface.