Show TOC

Design Recommendations for InterfacesLocate this document in the navigation structure

Use

So that BAPIs can be used intuitively, you should follow the design recommendations below:

  • Parameter data should be grouped together according to business criteria.

  • The inbound interface should be clearly structured and intuitive. Parameters should in the first instance be structured in accordance with the application.

    Example

    Example: Structured parameters should be structured so that they contain all the fields required for the simplest application in one logical block. Additional fields required for special cases should be grouped by application and attached to the "main block".

  • The interface must not contain any fields that external users would not be able to interpret. You must also try to remove any internal details specific to SAP.

  • You should check whether scalar parameters might be used in the future as (more complex) selection parameters (for example in the definition of ranges).

  • To avoid later changes to the interface, which may be incompatible, parameters should be created as "optional wherever possible.

  • Whenever possible, search help (F4 help) should be provided for parameters and parameter fields. This enables the client to easily determine all the possible input values for a field by calling the BAPI Helpvalues.GetList .

    See also: Providing Input Help

    Example

    A search help is defined for the AirlineID parameter (airline ID) in the Flight.GetList method. If you call the Helpvalues.GetList method, the system finds all existing airline IDs.

  • Dependencies between data fields and between parameters must be included in the documentation.

  • All the information supplied with a BAPI should be able to be used easily without having to change any of the data. So export structures should be able to be reused as the input of a different BAPI.

  • All key fields in GetDetail and GetList BAPIs must be displayed as text fields.

    Note

    If there are several texts for one key field, these texts must be stored in a separate table.

  • When you are structuring the interface, you should consider what the BAPI is used for:

    • With BAPIs used for batch processing performance is the most important consideration in the design.

    • BAPIs used for alternative front-ends require a more flexible interface as they tend to be used in more complex processes.

Example

See also: Example of BAPI Conceptual Design.