‎2006 Feb 09 6:56 AM
hi everybody,
please explain the following.
What is BAPI?
How it is called in a program?
What is SMR client?
thanks
jaison
‎2006 Feb 09 7:14 AM
HI Jaison
BAPI is a special type of function module which has a business purpose attached to it.
Eg: we have bapi's for sales order craetion, purchase order creation, change , etc.
We have a whole list of bapi's for specific purposes.
Business Application Programming Interfaces (BAPIs) are functional interfaces. They use the business methods from the business objects. BAPIs may be addresses within or outside the R/3 System.
For specifications and more information about BAPIs, see the alias bapi in SAPNet.
A BAPI is a point of entry to the R/3 System - that is, a point at which the R/3 System provides access to business data and processes.
n Each object in the BOR can have many methods, one or more of which can be implemented as BAPIs.
n BAPIs can have various functions:
ÂCreating an object
Retrieving the attributes of an object
 Changing the attributes of an object
A BAPI is an interface that can be used for various applications. For example:
Â
Internet Application Components, which make individual R/3 functions available on the Internet or an intranet for users with no R/3 experience.
Â
R/3 component composition, which allows communication between the business objects of different R/3 components (applications).
Â
VisualBasic/JAVA/C++ - external clients (for example, alternative GUIs) that can access business data and processes directly.
An example business object from the training course data model is called FlightBooking. It contains a booking. Each booking is uniquely identifiable from its key information: AirlineCarrier , ConnectionNumber (flight number), DateOfFlight, BookingNumber. The following methods are available for this object:
Ÿ FlightBooking.GetDetail returns detailed information on a booking
Ÿ FlightBooking.CreateFromData creates a booking
Ÿ FlightBooking.Cancel
Ÿ FlightBooking.GetList returns a list containing details of all the bookings for that flight.
Generally displays fewer details for each booking than GetDetail.
You can display more information on business objects and the BAPIs that belong to them using BAPI Explorer Information. The screen is in two parts: a hierarchy area and a details window. The hierarchy area displays the component hierarchy. You can expand an application component to find out which business objects belong to it. If you expand a single business object, the system displays a sub-tree, showing you which key attributes and API methods belong to it. (API stands for Application Programming Interface).
Calling a BAPI in a Programm is just like calling any other RFC ...
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENTIN =
ORDER_HEADER_IN = l_order_header
ORDER_HEADER_INX =
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
SALESDOCUMENT = l_salesdocument
TABLES
RETURN = it_return
ORDER_ITEMS_IN = it_order_items
ORDER_ITEMS_INX =
ORDER_PARTNERS = it_order_partners
ORDER_SCHEDULES_IN = it_order_schdl
ORDER_SCHEDULES_INX =
ORDER_CONDITIONS_IN = it_order_conditions
ORDER_CONDITIONS_INX =
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CFGS_BLOB =
ORDER_CFGS_VK =
ORDER_CFGS_REFINST =
ORDER_CCARD =
ORDER_TEXT =
ORDER_KEYS =
EXTENSIONIN =
PARTNERADDRESSES =
.
if not l_salesdocument is initial.
order successfully created
message i001(00) with text-001 l_salesdocument.
endif.
Cheers:)
Mithlesh
‎2006 Feb 09 7:01 AM
BAPI is a standard interface to do various operations in SAP (like getting details,updating details etc)..these can be called from 3rd party applicatins like VB,.NET,delphi etc...the advantage is whatever validations done in the front end while entering records will also be done while inserting/updating details through BAPI...
they can be implemented by RFC function modules or like methods in a class etc...they can be called from SAP also
‎2006 Feb 09 7:04 AM
hi jAISON
BAPIs provide a stable, standardized method for third-party applications and components to integrate into the Business Framework. These interfaces are being specified as part of SAP's initiative with customers, partners and leading standards organizations. Also, SAP has implemented the emerging Object Application Group (OAG) specifications with BAPIs.
IF WANT I CAN SEND THE STEPS INVOLVED IN CALLING THE BAPI TO YOUR MAIL.
REGARDS
KISHORE
‎2006 Feb 09 7:08 AM
Just to clarify , check this :
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975d943b111d1896f0000e8322d00/frameset.htm
Thanks & Regards,
Ankur
‎2006 Feb 09 7:14 AM
HI Jaison
BAPI is a special type of function module which has a business purpose attached to it.
Eg: we have bapi's for sales order craetion, purchase order creation, change , etc.
We have a whole list of bapi's for specific purposes.
Business Application Programming Interfaces (BAPIs) are functional interfaces. They use the business methods from the business objects. BAPIs may be addresses within or outside the R/3 System.
For specifications and more information about BAPIs, see the alias bapi in SAPNet.
A BAPI is a point of entry to the R/3 System - that is, a point at which the R/3 System provides access to business data and processes.
n Each object in the BOR can have many methods, one or more of which can be implemented as BAPIs.
n BAPIs can have various functions:
ÂCreating an object
Retrieving the attributes of an object
 Changing the attributes of an object
A BAPI is an interface that can be used for various applications. For example:
Â
Internet Application Components, which make individual R/3 functions available on the Internet or an intranet for users with no R/3 experience.
Â
R/3 component composition, which allows communication between the business objects of different R/3 components (applications).
Â
VisualBasic/JAVA/C++ - external clients (for example, alternative GUIs) that can access business data and processes directly.
An example business object from the training course data model is called FlightBooking. It contains a booking. Each booking is uniquely identifiable from its key information: AirlineCarrier , ConnectionNumber (flight number), DateOfFlight, BookingNumber. The following methods are available for this object:
Ÿ FlightBooking.GetDetail returns detailed information on a booking
Ÿ FlightBooking.CreateFromData creates a booking
Ÿ FlightBooking.Cancel
Ÿ FlightBooking.GetList returns a list containing details of all the bookings for that flight.
Generally displays fewer details for each booking than GetDetail.
You can display more information on business objects and the BAPIs that belong to them using BAPI Explorer Information. The screen is in two parts: a hierarchy area and a details window. The hierarchy area displays the component hierarchy. You can expand an application component to find out which business objects belong to it. If you expand a single business object, the system displays a sub-tree, showing you which key attributes and API methods belong to it. (API stands for Application Programming Interface).
Calling a BAPI in a Programm is just like calling any other RFC ...
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENTIN =
ORDER_HEADER_IN = l_order_header
ORDER_HEADER_INX =
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
SALESDOCUMENT = l_salesdocument
TABLES
RETURN = it_return
ORDER_ITEMS_IN = it_order_items
ORDER_ITEMS_INX =
ORDER_PARTNERS = it_order_partners
ORDER_SCHEDULES_IN = it_order_schdl
ORDER_SCHEDULES_INX =
ORDER_CONDITIONS_IN = it_order_conditions
ORDER_CONDITIONS_INX =
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CFGS_BLOB =
ORDER_CFGS_VK =
ORDER_CFGS_REFINST =
ORDER_CCARD =
ORDER_TEXT =
ORDER_KEYS =
EXTENSIONIN =
PARTNERADDRESSES =
.
if not l_salesdocument is initial.
order successfully created
message i001(00) with text-001 l_salesdocument.
endif.
Cheers:)
Mithlesh
‎2006 Feb 09 7:51 AM
hi jason,
Bapi's are extended RFC's. they are a little mroe standardised than RFC's with added functionality.
try the example in the following link and you'll have an idea about BAPI
http://www.sapgenie.com/sapgenie/docs/BAPI%20JCO.pdf
http://www.sapgenie.com/abap/bapi/index.htm
cheers
ajay