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

regarding BAPI

Former Member
0 Likes
864

hi everybody,

please explain the following.

What is BAPI?

How it is called in a program?

What is SMR client?

thanks

jaison

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
845

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

5 REPLIES 5
Read only

Former Member
0 Likes
845

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

Read only

Former Member
0 Likes
845

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

Read only

Former Member
0 Likes
845
Read only

Former Member
0 Likes
846

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

Read only

Former Member
0 Likes
845

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