1, BAPIs Must not contain call transaction or submit report.
2, BAPI structure must not use includes or append.
3, BAPIs should not use dialogs.
4, Asynchronous BAPIs use the ALE interface in this way:
.Creates an IDOC from the BAPI data
.Sends the IDOC to the target system
.Receives the IDOC in the target system, create the BAPIs data from
the IDOC and the BAPI.
.An ALE interface for a BAPIs is created in transaction BDBG.
5, Programming a BAPI consists of follow major tasks:
.Defining BAPI data structrues in se11.
.Program a RFC enabled BAPI function module for each method.
.Create a Business object for the BAPI in the BOR.
.Documentation the BAPI.
.Generate ALE interface for asychronous BAPIS.
.Generate and release.
6, Each BAPI must have its own fuction group. we would create related
BAPIs in the same fuction pool. so they will by able to share global
data.
7, Step by step to create BAPI.
.Define a structure for the BAPI.
.Write Function Moudle
.create the API Method Using the BAPI wizard.
.Final steps.
.Release the BAPI function module(in the function builder).
.Release the business object type(in the BOR objecttype->implemented).
.Release the BAPI as a mehtod in the BOR.
.For potential write BAPIS: Release the IDOC and its segments.
8, Every BAPI must have a return parameter that is either an export
parameter or an export table
9, Every BAPI must have an extensionln and an extensionout parameter
to enabel customer enhancements.
10, In BAPI technical conventions: All data elements for date fields
have the format yyyymmdd
11, You cnanot use exceptions in a BAPI. Instead, all error messages
are returned to the calling program using the standardized parameter
RETURN.
12, The documentation developer then saves the active version of the
function module and parameter documentation(otherwise the
documentation cannot be translated).
13, BAPIS are not end user interfaces, they are programming interfaces
that can be used in diverse application areas.
14, In generally, all R/3 currency data types have two digits after
the decimal point.
15, If buffering has benn implemented for a business object type,all
write BAPIs of this business object type must also be implemented with
buffering.
16, BAPIs with buffering must not execute commit work or rollback work
commands.
17,About BAPI Replicate(), Calling the SaveReplicate() methods in the
receiving system.
18, About BAPI message, Note that for type A error messages(abort), an
application log is not created, as in this case there is no commit
work.
19, For sap internal development, each enhancement to a BAPI must be
created in a project in the BAPI explorer.