Functional Module: Procedure that can only be defined in function groups and outside ofclasses. This can be called from all programs. Begins with FUNCTION and ends withENDFUNCTION. It is maintained using the Function Builder of the ABAP Workbench.Functional Module can be checked using T Code SE37 for a package, say in standard SAP CS15will be used for checking the where used list for a material and here it can be checked only forone material, in case if we want to check for a list of materials a small report can be developedusing the functional modules like…CSEP_MAT_BOM_SELECT_WHERE_USED API Bills of Material: Select BOM(s) (or)CS_WHERE_USED_MAT Bills of material; where-used listUser Exit: A point in an SAP program where a customers own program can be called.In contrast to customer exits, user exits allow developers to access and modify programcomponents and data objects in the standard SAP System. On upgrade, each user exit must bechecked to ensure that it conforms to the standard system.There are the following types of user exit:User exits that use INCLUDEs - These are customer enhancements that are calleddirectly in the program.User exits that use tables - these are used and managed using Customizing.User Exits can be viewed or checked using the T Code SMOD and using CMOD a user exit willbe activated.BAdI: A template for BADI objects.Business Add-Ins (BADIs) are the basis for enhancements where BADI methods in object plug-ins can be called from ABAP programs. The calling program controls which BADIimplementations are used by specifying filter values. A BADI consists of a BADI interface, a setof filters and some settings.From Release 7.0, BADIs are edited in the Enhancement Builder and reside in the global classnamespace. You can switch on their implementations via the Switch Framework.There are also classic BADIs, which are edited in the BADI -Builder and superseded functionmodule exits in Release 4.6. Related T Code SE18.BAPI: A Business Application Programming Interface (BAPI) is a precisely defined interfaceproviding access to processes and data in business application systems such as R/3. SAPbusiness objects are accessed through BAPIs (Business Application Programming Interfaces),which are stable, standardized methods. SAP business objects and their BAPIs provide an object-oriented view of R/3 business functions.
SAP provided the first BAPIs for customers and external providers in Release 3.1, enabling themto integrate their software components in the R/3 System and the Business Framework. Thenumber of BAPIs is increasing with each R/3 Release and with this the extent of object-orientedaccess to the R/3 System.As of Release 4.5, A BAPIs can also describe interfaces, implemented outside the R/3 Systemthat can be called in external systems by R/3 Systems. These BAPIs are known as BAPIs usedfor outbound processing. The target system is determined for the BAPI call in the distributionmodel of Application Link Enabling (ALE).BAPIs used for outbound processing are defined in the Business Object Repository (BOR) asAPI methods of SAP Interface Types. Functions implemented outside the R/3 System can bestandardized and made available as BAPIs.BAPIs can be called within the R/3 System from external application systems and otherprograms. BAPIs are the communication standard for business applications.BAPI interface technology forms the basis for the following developments:Connecting: New R/3 components, for example, Advanced Planner and Optimizer (APO)and Business Information Warehouse (BW).Non-SAP softwareLegacy systemsIsolating components within the R/3 System in the context of Business FrameworkDistributed R/3 scenarios with asynchronous connections using Application LinkEnabling (ALE)Connecting R/3 Systems to the Internet using Internet Application Components (IACs)PC programs as frontends to the R/3 System, for example, Visual Basic (Microsoft) orVisual Age for Java (IBM).Workflow applications that extend beyond system boundariesCustomers and partners own developmentsRequired KnowledgeTo use BAPIs to access SAP business objects you will need a good understanding of object-oriented programming. You should also have a basic knowledge of the R/3 System.BAPIs can be accessed from various programming environments, for example, Delphi/Connectfrom Inprise (formerly Borland), Microsoft’s Visual Studio, C++ and Java platforms. You mustbe familiar with the development environment used to access BAPIs.BAPIs are available from development platforms external to R/3 that supports the RemoteFunction Call (RFC) protocol. If you are developing your application in a non-object orientedprogramming language, you need to have RFC programming skills to call BAPIs via RFC. Inparticular, you need to know how to perform RFC calls.