Business Add-Ins SAP AG 2001, Title of Presentation, Speaker Name 1 Modifications and Enhancements Flexibility Modifications Assisted modifications Business Add-Ins Customer exits Ease of Use SAP AG 2001, Title of Presentation, Speaker Name 2 Modifying the R/3 System to Meet Your Needs Customer Development Modifications Hook Techniques Exit Techniques and Add-Ins Customizing SAP AG 2001, Title of Presentation, Speaker Name 3 SAP AG 2001, Title of Presentation, Speaker Name 4 Interface Add-InAdapter: Publish & Subscribe Filter Control Interface CORE R/3 Interface Architecture: Business Add-Ins Customer extension Industry solution Add-Ins: Definition Add-ins are points in an object’s source code where additional functions or statements can be inserted. Add-ins are defined by the object’s initial developer and allow other developers to easily include additional code in a subsequent phase of development without having to ‘modify’ the original. Additional advantages: No change licences necessary Interfaces are upwardly compatible Less work at upgrade SAP AG 2001, Title of Presentation, Speaker Name 5 Business Add-Ins Delivery of implemented add-ins (country-specific versions, IBU solutions, partner software, ...) Technique can be used by other software vendors Delivery and correction of default solutions (4.6C) Filter-dependent implementation possible ‘Event-like’ add-ins (Publish & Subscribe) Integrated administration and documentation Trace possibilities SAP AG 2001, Title of Presentation, Speaker Name 6 Why Business Add-Ins? Perform calls in programs / using tables Flexible <-> Fuzzy interface (global data,...) Customer exits (SMOD/CMOD) System infrastructure: SAP - customer Naming convention not compatible with namespace extension Business Transaction Events (Open FI) No bundle of objects that belong together No interface elements Business Add-Ins should be viewed as expanded and enhanced business transaction events SAP AG 2001, Title of Presentation, Speaker Name 7 Architecture IF_app_exit Application Program XXX. Customer Generate class Data: exit type ref to if_app_exit. Create object... Call method... SAP AG 2001, Title of Presentation, Speaker Name 8 mth1 mth2 mth3 ... CL_imp_app_exit mth1 mth2 mth3 ... Example Program REPORT BADI . DATA EXIT TYPE REF TO IF_EX_BADI. DATA WORD(15) TYPE C. CALL METHOD CL_EXITHANDLER=>GET_INSTANCE CHANGING INSTANCE = EXIT. START-OF-SELECTION. WRITE:/ 'Please click here'. AT LINE-SELECTION. NEW-PAGE. WORD = 'Business add in'. WRITE:/ 'Original word: ', WORD. CALL METHOD EXIT->METHODE CHANGING PARAMETER = WORT. WRITE:/ 'Changed word: ', WORD. SAP AG 2001, Title of Presentation, Speaker Name 9 Filter Dependence Sometimes it is important for partners to be able to implement and deliver a single add-in with different filter values (for different countries, for example). For this reason, add-ins can be defined for specific filter values. Type of filter: data element with search help Parameter flt_val must be suitably filled when the add-in is called. Add-in must be implemented for a specific filter value. SAP AG 2001, Title of Presentation, Speaker Name 10 Filter-Dependent Add-Ins Add-in implementation Add-in definition IF_app_exit Type of filter dependency: country-specific Exit call ... Exit type ref to IF_app_exit. IF_app_exit Country: Japan Country: China Country = ‚J‘. Call method exit->mth1 exporting flt_val = country. SAP AG 2001, Title of Presentation, Speaker Name 11 ... Business Add-In Manager Definition part (SE18) Specification of common Interface (method collection) Define Add-In Type (publish & subscribe, filter dependent) Automatic generation of adapter classes Implementation (SE19) Select filter value (e.g. country code) Supply code for interface methods Activate Add-In SAP AG 2001, Title of Presentation, Speaker Name 12