Show TOC

Integration von DialogschnittstellenLocate this document in the navigation structure

Verwendung

Der Datenaustausch in einem Verteilungsszenario findet im wesentlichen ohne Benutzerinteraktion statt.

In einigen Fällen ist es jedoch sinnvoll, auch Dialogschnittstellen remote aufzurufen. Ein typisches Beispiel ist das Anzeigen eines Ursprungsbelegs zu einem Beleg, der in einem anderen System liegt.

Beispiel

Das HR leitet Abrechnungsergebnisse in das Rechnungswesen weiter. Dort werden entsprechende Belege gebucht. Jeder Beleg im Rechnungswesen referenziert auf den Ursprungsbeleg im HR. Im integrierten System ist die Beleganzeige im Rechnungswesen so programmiert, dass man in die Beleganzeige des Ursprungsbelegs im HR springen kann.

Falls nun HR und Rechnungswesen auf unterschiedlichen Systemen laufen, ist es nicht sinnvoll, dass das Rechnungswesen die Daten über ein BAPI liest und die Beleganzeige des HRs noch einmal nachprogrammiert. Statt dessen wird die Beleganzeige des HR remote aufgerufen.

Dialogschnittstellen werden nicht an Stelle von BAPIs angeboten, sondern zusätzlich zu den BAPIs. Zu jeder Dialogschnittstelle wird empfohlen, ein entsprechendes BAPI anzubieten, das die Daten als dunkle Schnittstelle zurückliefert.

Zur Zeit sind Dialogschnittstellen primär für Anzeigefunktionalitäten in SAP-SAP-Verteilungsszenarien vorgesehen. Dialogmethoden mit Änderungsfunktionalität werden gegenwärtig nicht unterstützt.

Prinzipiell können Dialogschnittstellen auch von externen Plattformen aus aufgerufen werden.

Vorgehensweise

Der Remote-Aufruf von Dialogfunktionalität erfolgt über den RFC. Per RFC können Bilder übertragen werden.

Eine Dialogmethode wird durch einen RFC-fähigen Funktionsbaustein implementiert. In diesem Funktionsbaustein wird dann der Dialog aufgerufen.

Dieser Funktionsbaustein muss die gleichen Qualitätsanforderungen erfüllen wie der Funktionsbaustein für ein BAPI:

  • englische Feld- und Parameternamen

  • keine Ausnahmen, sondern einen Rückgabeparameter,

  • Dokumentation ist vorhanden

  • Die Schnittstelle ist eingefroren.

Der Funktionsbaustein wird im BOR modelliert. Dabei gelten die gleichen Regeln wie für BAPIs bis auf zwei Ausnahmen:

  • Der Funktionsbaustein wird nur intern freigegeben

  • Für die Objektmethode muss das Dialog-Flag gesetzt werden.

Eine Dialogmethode wird wie ein BAPI im BOR als API-Methode angelegt. Dadurch ist gewährleistet, dass das notwendige Coding im BOR generiert wird und die Dialogmethode auch über die BOR-Laufzeitumgebung gerufen werden kann. Bei nachträglichen Änderungen an einer Dialogmethode ist wie bei BAPIs darauf zu achten, dass das BOR-Coding nachgezogen wird. Eine Dialogmethode muss über die BOR-Laufzeitumgebung aufrufbar sein.

Durch die interne Freigabe wird signalisiert, dass diese Methode für SAP-SAP-Szenarien gedacht ist. Das API-Flag deutet an, dass diese Methode remote aufrufbar ist. Das Dialog-Flag ist gesetzt, da es sich um eine Dialogschnittstelle handelt und nicht um eine dunkle Schnittstelle. Das Dialog-Flag grenzt Dialogmethoden von den BAPIs ab.

Hinweis
  • Bei Implementation einer Objektanzeige ist darauf zu achten, dass man nicht in den Änderungsmodus springen kann.

  • Zur Zeit gibt es technische Probleme, wenn man nicht einen vollständigen Bildschirm, sondern nur ein Popup remote aufrufen will.

  • Wenn mit Reports gearbeitet wird, muss der Befehl submit... and return verwendet werden. Ein einfaches submit... ist nicht möglich.

Namensgebung für Dialogmethoden

Jeder Objekttyp im BOR verfügt über die Methode Display. In vielen Fällen ist sie aber nicht implementiert. Falls es es sich bei der zu implementierenden Dialogmethode um eine Anzeige des Objekts handelt, sollte Display verwendet werden, sofern dies möglich ist.

Wenn Display bereits implentiert ist und sich durch die BAPI-Qualitätsanforderungen inkompatible Änderungen ergäben, muss eine andere Methode verwendet werden.

Abgesehen von der Display-Methode gilt die Empfehlung, für die Dialogmethoden das Suffix WithDialog bei der Modellierung im BOR zu verwenden.

Aufruf von Dialogmethoden

Aus einem SAP-System werden Dialogmethoden analog zu den BAPIs per RFC aufgerufen.

Zu unterscheiden sind zwei Arten des Aufrufs:

  • Aufruf mit Referenz auf logisches System

  • Aufruf ohne Referenz auf das logische System

    Das logische System muss aus dem Verteilungsmodell ermittelt werden.

    Beispiel

    Die Beispiele erheben nicht den Anspruch, für alle denkbaren Aufrufsituationen geeignet zu sein. Gerade für die Fehlerbehandlung kann kein generelles Vorgehen empfohlen werden, da sie von der jeweiligen Anwendung und der Aufrufsituation abhängen kann. Bevor Sie einen Aufruf einer Dialogmethode in Ihr Coding einbauen, sollten Sie sich die Fehlerbehandlung gründlich überlegen.

    Wenn z. B. für ein Server-System keine Destination für Dialogaufrufe ermittelt werden kann, kann dies auch daran liegen, dass dieser Server aus technischen Gründen oder wegen Sicherheitsbedenken keine Dialogfunktionalität zur Verfügung stellt. Diese Situation kann durchaus auch in produktiven Systemen auftreten. Man kann dies nicht als inkonsistent konfiguriertes System interpretieren.

    Weiterhin sollten Sie beachten, dass der RFC-Aufruf implizit einen Datenbank-Commit absetzt, d. h., die LUW wird beendet. Wenn Sie keine Erfahrung mit RFC-Aufrufen haben, sollten Sie die Online-Hilfe zum ABAP-Sprachelement call function mit dem Zusatz destination lesen.