Structure of Function Module Documentation 

Before you start to document a BAPI, keep in mind that BAPIs are business (not technical) interfaces to the R/3 System and a thorough knowledge of the R/3 System and the R/3 development environment is not required to use them. Many readers will not be R/3 experts or business application experts.

Function module documentation for BAPIs is structured as follows:

Keyblock

Contents

Functionality

What does the method do exactly?

Describe the business functionality of the BAPI and how it can be used?

Describe its functions in detail to help the user decide whether this method could be used to perform a specific work task. Use appropriate examples.

Include important limitations, that is, functions that you cannot perform with this BAPI.

This section does not contain information about the technical implementation of the BAPI.

Example

Do not write any documentation in this keyblock. It is used for source code examples, which are platform-dependent and become outdated quickly.

Notes

What should users you pay particular attention to when implementing this method?

Here you should describe:

  • Authorizations required for the BAPI.
  • If the BAPI contains the COMMIT WORK command, you need to mention this explicitly, as this is an exception to the rule. Ask your developer about it.
  • If the BAPI is a write BAPI with buffering, add this sentence: "This method works with buffering. This means that other change methods of instances created/changed (note for documentation developers: delete as applicable) by this method can be executed in the same LUW, without a prior posting being necessary."
  • If the BAPI is a read BAPI that takes write BAPIs with buffering (see above) into account, add this sentence: "This method includes changes made in the buffer by create/change BAPIs of the same business object type which have not yet been posted."
  • Customizing dependencies

Create links to the IMG (see Hyperlinks to the IMG).

  • Parameter interdependencies, for example, are there either/or relationships between certain parameters.
  • Situations where related methods can be used.
  • Dependencies between this BAPI and other BAPIs.
  • Combinations that affect performance either negatively or positively.

Using an INCLUDE command, insert a standard sentence in this section as follows: "Insert the character /: on the left side in the format column and the command INCLUDE.BAPI_RET in the relevant lines in the SAPscript editor." This automatically inserts the following sentence:

"Messages are returned in the parameter Return. The parameter documentation shows the return codes and their meanings."

For SAP interface types add the following:

"This BAPI is a method of an interface type and provides the definition of the standardized interface. It is implemented by the system wanting to provide this interface.

The data in the structure predefined by the BAPI is passed to the receiving system. The receiving system must make sure that this data is entered into the correct database tables. This can be done by implementing the interface defined by this BAPI. "

Further Information

If possible, refer to documentation in the R/3 System for this function. These references are important for people who are not fully conversant with the R/3 System or with the application in question. If this is the case, include the following standard sentence:

"For further information, see <title> in the R/3 Library."

Do not describe any parameters in the function module documentation. You write the documentation on individual parameters separately, as described in Writing Parameter Documentation. Parameter documentation is then automatically linked to the function module documentation.

For an example, see BAPI Function Module Documentation.