Select language:

 Allgemeine Programmierrichtlinien für BAPIs

Verwendung

Um sicherzustellen, daß BAPIs als Schnittstellen von SAP-Business-Objekttypen die Daten und Prozesse des Systems R/3 konsistent und eindeutig bereitstellen, müssen nicht nur für die Definition von BAPIs, sondern auch für deren Programmierung bestimmte Regeln festgesetzt werden. In diesem Abschnitt erhalten Sie allgemeine Informationen und Richtlinien zum Programmieren von BAPIs.

Die inhaltlichen Aspekte in bezug auf den Funktionsumfang eines BAPIs können nur schwer formalisiert werden. Bei jedem BAPI sind die Inhalte anders, auch wenn mehrere BAPIs ähnliche Aufgaben erfüllen, z.B. die standardisierten BAPIs. Die Unterschiede ergeben sich hauptsächlich durch die verschiedenen SAP-Business-Objekttypen und deren Anwendungsinhalte.

BAPI-spezifische Richtlinien

Beachten Sie zusätzlich zu den allgemeinen Richtlinien folgende, spezifische Richtlinien bei der Programmierung von BAPIs:

Programmieren von Standardisierten BAPIs

Verwendung von BAPIs in Verteilten Systemen (ALE)

 

Allgemeine Empfehlungen

Folgende Empfehlungen sollten Sie bei der Entwicklung Ihres BAPIs in Betracht ziehen:

Empfehlung

Weiterführende Informationen

Reduzieren Sie die Komplexität der Schnittstelle soweit wie möglich.

Stellen Sie am BAPI das Minimum an benötigten Daten bereit und gruppieren Sie die Daten nach betriebswirtschaftlichen Gesichtspunkten.

 

Gestalten Sie Ihr BAPI performant.

Performance-Aspekte

 

Verbindliche Richtlinien

Folgende allgemeine Richtlinien gelten verbindlich für alle BAPIs:

Allgemeine Muß-Regeln

Weiterführende Informationen

In einem BAPI darf kein "COMMIT WORK"-Kommando abgesetzt werden.

Transaktionsmodell für die BAPI-Entwicklung

In einem BAPI dürfen folgende Kommandos nicht verwendet werden:

  • CALL TRANSACTION
  • SUBMIT REPORT
  • SUBMIT REPORT AND RETURN

Transaktionsmodell für die BAPI-Entwicklung

In BAPI-Strukturen dürfen keine INCLUDE-Strukturen verwendet werden.

Bestimmen der Entwicklungsobjekte im Dictionary

Datenbankveränderungen dürfen nur über die Verbuchung durchgeführt werden.

Transaktionsmodell für BAPIs ohne Commit

Der globale Speicher darf nicht zur Übergabe von Werten verwendet werden.

Transaktionsmodell für die BAPI-Entwicklung

Aus Gründen der Transparenz wird dringend empfohlen, auf Set- und Get-Parameter zu verzichten.

Transaktionsmodell für die BAPI-Entwicklung

Bei Bedarf muß jedes BAPI eigene Berechtigungsprüfungen durchführen.

 

Customizing-relevante Werte dürfen nicht verändert werden.

Programmieren von Create()-BAPIs und Programmieren von Change()-BAPIs

Sprachabhängige Werte dürfen nicht als Schnittstellenparameter verwendet werden

 

Ein BAPI darf keine Ausgabe auf einem Bildschirm hervorrufen, d.h. es darf keine Listen, Abfragen oder Dialogfenster an das aufrufende Programm zurückgeben. Dies gilt für das BAPI selbst und für alle Funktionsbausteine, die indirekt von dem BAPI aufgerufen werden.

Ein BAPI selbst darf keinen Programmabbruch erzeugen, es darf nur im Return-Parameter eine entsprechende Meldung (Meldungstyp A, Abbruchmeldung) zurückgeben. Auch die direkte Ausgabe von Meldungen des Typs E (Fehlermeldung) und A (Abbruchmeldung) im Programm ist nicht erlaubt.

Return-Parameter (Fehlerdarstellung)

 

Felder und Parameter

Folgende Richtlinien gelten verbindlich für Felder und Parameter in BAPIs:

Muß-Regeln für Felder und Parameter

Weiterführende Informationen

Standardisierte Parameter müssen einheitlich implementiert werden.

Programmieren von Standardisierten Parametern

Jedes BAPI muß einen Parameter Return haben, in dem Meldungen an die aufrufende Anwendung zurückgegeben werden.

Return-Parameter (Fehlerdarstellung)

Alle Feld- und Parameternamen müssen in Englisch sein.

Bestimmen der Parameternamen im Funktionsbaustein

Bestimmen der Entwicklungsobjekte im Dictionary

Allen Mengen-/Betragsfeldern müssen Mengeneinheitsfelder mitgegeben werden.
Allen Währungsbetragsfeldern müssen Währungsbezeichnungen mitgegeben werden.

Interne/externe Datendarstellung

Allen Schlüsselfeldern in GetDetail()- und GetList()-BAPIs sollten Textfelder mitgegeben werden.

 

Wenn immer möglich muß F4-Wertehilfe zu Feldern in BAPI-Parametern verfügbar gemacht werden.

Bereitstellung der Wertehilfe (F4-Hilfe)

 

Datenkonvertierung

Folgende Richtlinien gelten verbindlich für die Datenkonvertierung:

Muß-Regeln für die Datenkonvertierung

Weiterführende Informationen

In einem BAPI darf nur die interne Datendarstellung verwendet werden.

Zu dieser Regel gibt es folgende Ausnahmen:

  • Währungsbetragsfelder
  • Mengenfelder
  • ISO-Codes
  • Felder mit internem Schlüssel
  • Bestimmte Felder in Adress-Strukturen

Interne/externe Datendarstellung

Als Dezimalzeichen muß immer der Dezimalpunkt verwendet werden.

 

Währungsbeträge mit Dezimalzeichen müssen an der Schnittstelle mit Dezimalzeichen dargestellt werden.

Beispielsweise muß der Wert "10.12" als "10.12" und nicht als "1012" dargestellt werden.

Interne/externe Datendarstellung

Dokumentation

Folgende Richtlinien gelten verbindlich für die Dokumentation:

Muß-Regeln für die Dokumentation

Weiterführende Informationen

Der Business-Objekttyp muß dokumentiert sein.

Die Dokumentation zum Business-Objekttyp wird im Business Object Repository angelegt.

SAP-intern muß die Dokumentation zu den Business-Objekttypen nach den aktuellen Dokumentationsrichtlinien angefertigt werden. Diese erhalten Sie von Ihrem Ansprechpartner in der BAPI-Entwicklung.

Das BAPI muß dokumentiert sein.

Alle Schnittstellenparameter müssen dokumentiert sein.

Beachten Sie dabei insbesondere:

  • BAPIs mit Pufferung müssen als solche identifiziert werden.
  • In Ausnahmefällen: Enthält das BAPI ein "COMMIT WORK"-Kommando, muß dies explizit dokumentiert werden.
  • Die Dokumentation zum Parameter Return muß alle möglichen Rückgabewerte/Meldungen beschreiben.
  • Wird bei Abbruchmeldungen im Return-Parameter ein Datenbank-Rollback durchgeführt, muß dies explizit in der Dokumentation zum Return-Parameter beschrieben werden.
  • Die Dokumentation zu einem obligatorischen Parameter muß identifzieren, welches Feld gefüllt sein muß.
  • Alle Muß-Felder in einem Parameter müssen als solche dokumentiert werden.
  • Die Dokumentation zum Extension-Parameter muß alle verfügbaren BAPI Table Extensions auflisten.

Die Dokumentation zum BAPI und seinen Parametern wird im Function Builder zu dem Funktionsbaustein angelegt, der dem BAPI zugrundeliegt.

SAP-intern muß die Dokumentation zu den BAPIs nach den aktuellen Dokumentationsrichtlinien angefertigt werden. Diese erhalten Sie von Ihrem Ansprechpartner in der BAPI-Entwicklung.

Zu allen Feldern in BAPI-Parametern muß Datenelement-Dokumentation angelegt werden.

Bereitstellung von Schnittstellenbeschreibungen

Die Dokumentation muß auf Vollständigkeit und Verständlichkeit geprüft werden.