Topics covered under this are:
•What is BAPI?
•Some Conventions about BAPI
•Example showing How to Create a BAPI
What is BAPI?
BAPI is an abbreviation used for Business Application Programming Interface. These are interfaces within the business framework to link SAP components to one another and SAP components with third-party components.
The SAP Business Objects are an essential part of the Business Framework and the prerequisites for interoperability. SAP Business Objects cover a broad range of R/3 business data and processes and can be accessed using BAPIs. The SAP Business Objects and their BAPIs thus provide an object-oriented view of R/3 business functionality.
The SAP Business Object types are defined by the following:
Object type
The object type describes the features common to all instances of that object type. This includes information such as the unique name of the object type, its classification, and the data model.
Key fields
The key fields determine the structure of an identifying key, which allows an application to access a specific instance of the object type. The object type "Employee" and the key field "Employee.Number" are examples of an object type and a corresponding key field.
Attributes
An attribute contains data about a Business Object, thus describing a particular object property. For example, "EMPLOYEE.NAME" is an attribute of the "EMPLOYEE" object type.
Events
An event indicates the occurrence of a status change of a Business Object.
Interfaces
Interfaces are groups of related methods associated with an object type.
SOME CONVENTIONS ABOUT BAPI
•Methods
•Parameters
•Standardized BAPIs
•Standardized Parameters
•Guidelines for BAPI development
•BAPI/ALE Integration
Methods
A method is an operation that can be performed on a Business Object and that provides access to the object data. A method is defined by a name and a set of parameters and exceptions, which can or must be provided by the calling program in order to use the method. BAPIs are examples of such methods.
•If the BAPI to be implemented is a standardized BAPI then make use of generic names Like CheckExistence, GetList etc.
•The method name can be of maximum 30 characters and should be in English.
•Underscores are not allowed in BAPIs so to separate the words make used of a combination of upper and lower case characters for e.g. GetDetail
•BAPIs have return parameter that can be either an export parameter or an export table.
•So that customers can enhance BAPIs, each BAPI must have an ExtensionIn and an ExtensionOut parameter.
Parameters
•If standardized parameters are used, you have to use the names specified for standardized parameters.
•BAPI parameter names should be meaningful. A parameter name can be of maximum 30 characters. For example if some BAPI is related to some customer where in customer code is to be input, the parameter name can be CUSTOMERCODE or CUSTOMERNO.
The components of a parameter name in the Business Object Repository (BOR) are separated by upper and lower case letters to make them easier to read. Example: CustomerCode
•Unit of measure fields must accompany all quantity fields and currency identifiers must accompany currency amount fields.
Standardized BAPIs
Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
For details use the link http://www.sap-img.com/abap/bapi-conventions.htm
BAPIs are actually created by and maintained with other BAPIs. The BAPI that creates BAPIs is in the BOR, and is called Create. (There’s also a variation, CreateFromData, that is sometimes useful.) Objects that have already been created, and need to be modified, may be manipulated with the BAPI Change, also found in the BOR.
Other BAPI utilities for object manipulation include Delete and UnDelete, Replicate and SaveReplicate, GetStatus, GetDetail, and ExistenceCheck, all of which are self-explanatory. These handy utilities exist alongside the workhorse BAPIs in the BOR. There is also a convenience in SAP called the subobject—objects attached to a greater object, such as line items on a purchase order. The BOR provides you with Add(subobject) and Remove(subobject) to facilitate these.
Typical of an object-oriented system, BAPIs must be treated as objects. Some are instance-dependent (a specific occurrence of an object); some are instance-independent (requiring class methods). When creating a BAPI, you must obviously be clear about which applies. As an example, if you’re working with a class-method BAPI (e.g., the SalesOrder class), GetDetail isn’t useful, because it returns data items from a specific sales order. Instead, you would use GetList, which would return a list of all instantiations of SalesOrder.
Guidelines for BAPI development
•BAPI structures must not use includes.
•There should be no functional dependencies between two BAPIs
•BAPIs must perform there own authorization check
•BAPIs should not use dialogs
•CALL TRANSACTION or SUBMIT REPORT must not be invoked in a BAPI
•Instead of COMMIT WORK a BAPI must make use of the BAPI TransactionCommit to execute the commit after the BAPI has executed.
•Program should not get terminated due to BAPIs but instead the BAPI must communicate relevant messages through the return parameter.
BAPI/ALE Integration
When you use the BAPIs for asynchronous messaging, the application in the sending system calls the generated ALE IDoc interface instead of the BAPI. Asynchronous BAPIs use the ALE interface this way:
•Creates an IDOC from the BAPI data
•Sends the IDOC to the target system
•Receives the IDOC in the target system, creates the BAPI data from the IDoc and calls the BAPI
An ALE interface for a BAPI is created in transaction BDBG.
BADI, BAPI'S, BDC, HR, Interview Questions, Programming, Reports, RFC, TCodes, ABAP-Java, ALE, IDOCs, ALV's, BSP, BTE, Data Dictionary, Dialog Programming, FICO, SD, MM, Function Modules, Interactive Reports, Internal Tables, Locking, Logical Database, OOPS,PM,PP,QM,R/3,BW,SCRIPTS,SMART FORMS
Tuesday, June 10, 2008
Subscribe to:
Post Comments (Atom)
Archives
-
▼
2008
(112)
-
▼
June
(57)
- TABLE TYPES IN SAP
- TYPES OF VIEWS IN SAP
- ABAP DATA BASE UPDATES COMPLETE
- SAP LOCK CONCEPT
- ORGANIZING DATABASE UPDATES
- ENHANCEMENTS TO DICTIONERY ELEMENTS IN SAP
- LESSON 5 DATA BASE DIALOG
- LESSON 12 ABAP DICTIONARY
- LESSON 13 PERFORMANCE DURING TABLE ACCESS
- LESSON 15 DEPENDENCIES OF DICTIONARY OBJECTS
- LESSON 16 CHANGES TO DATA BASE TABLES
- LESSON17 VIEWS IN ABAP
- LESSON 18 SEARCH HELP
- EFFECTIVE CODING IN ABAP 1
- EFFECTIVE CODING IN ABAP 2
- mySAP ABAP Certification - Criteria For Application
- BDC AND LSMW COMPARISION
- TABLE CONTROL IN BDC
- BDC 1
- BDC 2
- BDC 3
- BDC 4
- BDC5
- BDC 6
- BDC 7
- BDC 8
- BDC 10
- ABAP BDC TABLE CONTROL
- Creating Update Function Modules-BDC
- Standard Function Module : BDC , Miscellaneous ,Fi...
- Free Download SAP ABAP BDC & LSMW pdf book
- What is SAP ABAP BDC and How you use it?
- Free Download SAP BDC Presentation
- SAP BDC Notes
- Defining ABAP BAPI Methods in the BOR
- EXAMPLE SHOWING HOW TO CREATE A BAPI
- HOW TO CREATE OWN BAPI’S
- Free Download BAPI User Guide (CA-BFA)
- Create BAPI step by step procedure (by Dinesh desh...
- Difference Between SAP BADI and User Exits
- Learn BADI - A Quick Look at BADI
- LOCKS IN ABAP
- REPLACE COMMENTARY IN ALV
- ALV WITH POV SAMPLE CODE
- ALV HIRACHICAL REPORT SAMPLE CODE
- ALV LIST DISPLAY SAMPLE CODE
- ALV LAYOUT DISPLAY SAMPLE CODE
- ALV BLOCK SAMPLE REPORT
- ALV CHECK BOXES SAMPLE CODE
- ALV INTERACTIVE REPORT SAMPLE CODE
- ALV DOUBLE CLICK SAMPLE CODE
- ALV SIMPLE SAMPLE CODE
- ALV COLURING SAMPLE CODE
- ABAP ALV IN BRIEF
- ALV DOCUMENTATION COMPLETE
- OOPS AT A GLANCE
- ALV IN BRIEF
-
▼
June
(57)
No comments:
Post a Comment