Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BAdI Question

Former Member
0 Likes
1,062

Hi All,

What does it mean by BAdI can have multiple implementation or multiple instance?

Could anybody explain the same with refernce to an User Exit

Thanks,

S S K

4 REPLIES 4
Read only

Former Member
0 Likes
800

Business Add-in

ME_PROCESS_REQ_CUST Enhancements for Processing Enjoy PReqs: Customer

ME_PROCESS_REQ Enhancements for Processing Enjoy PReqs: Internal

ME_PROCESS_PO_CUST Enhancements for Processing Enjoy Purchase Order: Customer

ME_PROCESS_PO Enhancements for Processing Enjoy Purchase Order: Intern.

ME_PROCESS_COMP Processing of Component Default Data at Time of GR: Custome

ME_PO_SC_SRV BAdI: Service Tab Page for Subcontracting

ME_PO_PRICING_CUST Enhancements to Price Determination: Customer

ME_PO_PRICING Enhancements to Price Determination: Internal

ME_INFOREC_SEND Capture/Send Purchase Info Record Changes - Internal Use

ME_HOLD_PO Hold Enjoy Purchase Orders: Activation/Deactivation

ME_GUI_PO_CUST Customer's Own Screens in Enjoy Purchase Order

ME_FIELDSTATUS_STOCK FM Account Assignment Behavior for Stock PR/PO

ME_DP_CLEARING Clearing (Offsetting) of Down Payments and Payment Requests

ME_PURCHDOC_POSTED Purchasing Document Posted

SMOD_MRFLB001 Control Items for Contract Release Order

EXTENSION_US_TAXES Extended Tax Calculation with Additional Data

ARC_MM_EKKO_WRITE BAdI: Enhancement of Scope of Archiving (MM_EKKO)

ARC_MM_EKKO_CHECK BAdI: Enhancement of Archivability Check (MM_EKKO)

MM_EDI_DESADV_IN Supplementation of Delivery Interface from Purchase Order

MM_DELIVERY_ADDR_SAP Determination of Delivery Address

ME_WRF_STD_DNG PO Controlling Reminder: Extension to Standard Reminder

ME_TRIGGER_ATP Triggers New ATP for Changes in EKKO, EKPO, EKPV

ME_TRF_RULE_CUST_OFF BADI for Deactivation of Field T161V-REVFE

ME_TAX_FROM_ADDRESS Tax jurisdiction code taken from address

ME_REQ_POSTED Purchase Requisition Posted

ME_REQ_OI_EXT Commitment Update in the Case of External Requisitions

ME_RELEASE_CREATE BAdI: Release Creation for Sched.Agrmts with Release Docu.

ME_DEFINE_CALCTYPE Control of Pricing Type: Additional Fields

ME_CHANGE_OUTTAB Enrich ALV Output Table in Purchasing

ME_CHANGE_CHARACTER Customer-Specific Characteristics for Product Allocation

ME_CCP_DEL_DURATION Calc. of Delivery Duration in CCP Process (Not in Standard)

ME_CCP_BESWK_AUTH_CH BAdI for authorization checks for procuring plant

ME_CCP_ACTIVE_CHECK BAdI to check whether CCP process is active

ME_BSART_DET Change document type for automatically generated POs

ME_BAPI_PR_CREATE_02

ME_BAPI_PR_CREATE_01

ME_BAPI_PO_CREATE_02

ME_BAPI_PO_CREATE_01

ME_BADI_DISPLAY_DOC BAdI for Internal Control of Transaction to be Invoked

ME_ACTV_CANCEL_PO BAdI for Activating the Cancel Function at Header Level

MEGUI_LAYOUT BAdI for Enjoy Purchasing GUI

ME_CHECK_ALL_ITEMS Run Through Items Again in the Event of Changes in EKKO

ME_COMMTMNT_REQ_RE_C Check of Commitment Relevance of Purchase Requisitions

ME_COMMTMNT_REQ_RELE Check of Commitment Relevance of Purchase Requisitions

ME_COMMTMNT_PO_REL_C Check for Commitment-Relevance of Purchase Orders

ME_COMMTMNT_PO_RELEV Check for Commitment-Relevance of Purchase Orders

ME_COMMITMENT_STO_CH BadI for checking if commitments for STOs are active

ME_COMMITMENT_RETURN Commitment for return item

ME_CIP_REF_CHAR Enables Reference Characteristics in Purchasing

ME_CIP_ALLOW_CHANGE Configuration in Purchasing: Changeability Control

ME_CIN_MM06EFKO Copy PO data for use by Country version India

ME_CIN_LEINRF2V BADI for LEINRF03 excise_invoice_details

ME_CIN_LEINRF2R BADI for CIN India - Delivery charges

ME_CHECK_SOURCES Additional Checks in Source Determination/Checking

ME_CHECK_OA Check BAdI for Contracts

https://www.sdn.sap.com/irj/sdn/forums

Read only

Former Member
0 Likes
800

Hey SSK,

See if helps you..

A. BAdI Definition

1. SE18

2. Enter the name for the BAdI to be created in customer namespace and press "Create".

3. Enter a definition for your BAdI and on the interface tab enter a name for the BAdI interface. SAP proposes a name and it is pretty good. Meanwhile a BAdI class is also created which is not in our concern.

e.g for "ZTEST", SAP proposes "ZIF_EX_TEST" for the interface and "ZCL_EX_TEST" for the class.

4. Save your BAdI.

5. Double-click on the interface name. It will pass to a Class Builder session to make you implement your interface. If you are not familiar to the Class Builder; it's a bit like Function Builder and it will be easy to discover its procedure.

6. Save and activate your interface.

B. Calling your BAdI from an application program

1. Declare a reference variable with reference to the Business Add-In interface.

e.g. DATA exit_ref TYPE REF TO zif_ex_test.

2. Call the static method GET_INSTANCE of the service class CL_EXITHANDLER. This returns an instance of the required object.

e.g.

CALL METHOD CL_EXITHANDLER=>GET_INSTANCE

CHANGING instance = exit_ref .

3. After those two steps, you can now call all of the methods of the BAdI where it is required in your program. Make sure you specify the method interfaces correctly.

C. BAdI Implementations

1. SE19

2. Enter the name for the BAdI implementation to be created in customer namespace and press "Create".

3. It will request the BAdI definition name to which this implementation will be tied.

4. Enter a definition for your implementation and on the interface tab enter a name for the implementing class. Again SAP proposes a name and it is pretty good.

e.g for "ZIMPTEST", SAP proposes "ZCL_IM_IMPTEST".

5. Save your implementation.

6. To implement a method, just double-click on the method name and you will be taken to the Class Builder to write the code for it. Here you redefine the BAdI interface methods.

7. You must activate your implementation to make it executable. You can only activate or deactivate an implementation in its original system without modification. The activation or deactivation must be transported into subsequent systems

Let me know if u need more help...

Read only

0 Likes
800

I dont see none of the response is relevant to the question.

I expect some good answers please

Thanks,

S S K

Read only

Former Member
0 Likes
800

Well, what i understand by your question is that you want to know the difference between BADI and user exit.

BADI is just an object-oriented version of user-exit. Instead of entering program code into some function module (as in customer-exit), you define some class which has to implement predefined methods and those methods are fired at predefined points just like an old user-exit. BADI can have multiple independent implementations which is much better for software deployment as several developers can implement the same BADI independently

Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project while BADIs can be used actively by any number of customers at the same time.

For further difference b/w User exits and BADI's please refer the following links:

http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm

http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/frameset.htm

http://www.sapfans.com/forums/viewtopic.php?t=172792

Please reward the helpful entries.

Regards,

Raman.