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 |
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:
|
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. |
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:
|
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:
|
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. |