Zugriffsarten

Sowohl CIS mobile selbst als auch die CIS Add-on Methoden und CIS Reports benötigen den Zugriff auf Daten des SAP-Systems. Wir beschreiben dazu folgende Techniken:
  • CIS ABAP Schnittstelle
  • RFC Select Schnittstelle
  • BAPI und Funktionsbausteiene
  • SAP GUI Scripting
  • ABAP Reports

Es gibt daneben eine Vielzahl weiterer Möglichkeiten, aus VB.NET heraus auf SAP zuzugreifen, sowohl von SAP selbst angeboten (z.B. der .NET Connector, aktuell das SAP Netweaver Gateway) als auch Fremdprodukte.  Wir beschränken uns auf die oben aufgeführten 5 Möglichkeiten, die

  • in der Summe ein performantes und gut handhabbares Set darstellen
  • keine Installation weiterer Komponenten benötigen
Beschreibung der ZugriffsartenCIS ABAP Schnittstelle

Sie rufen aus VB.NET eine eigene ABAP-Routine des Funktionsbausteins /GUIXT/CISADDON_INTERFACE auf. Alle Input-Parameter werden als Strings in festgelegter Reihenfolge übergeben, z.B.
1. Parameter: Kundennummer
2. Parameter: Auftragsnummer
3. Parameter: Nummer der Auftragsposition
Zurückgegeben wird eine Tabelle, in der in der Regel jede Tabellenzeile, abgeteilt durch Tabulator-Zeichen, mehrere Einzelfelder umfasst (CSV-Format). Sie können auch Langtexte oder Daten in XML-Format zurückliefern.

RFC Select Schnittstelle
Über RFC und den FUnktionsbaustein /GUIXT/SELECT_INTERFACE wird die SAP Select-Schnittstelle aufgerufen.

BAPI und Funktionsbausteine
Über RFC wird ein Funktionsbaustein aufgerufen

SAP GUI Scripting
Sie benutzen aus VB.NET das SAP GUI Scripting, um SAP Transaktionen durchzuführen. Alle Daten, die über Transaktionen erreichbar sind, können ausgelesen werden. Die SAP GUI Anzeige wird im Hintergrund ausgeführt.

ABAP Reports
Über RFC und den Funktionsbaustein /GUIXT/SELECT_INTERFACE wird ein ABAP-Report parametrisiert und ausgeführt. Sie erhalten die Daten der ABAP-Liste optional als Textdatei oder in HTML-Format.

 

Bündelung von Zugriffen

Alle Zugriffe über die Techniken
  • CIS ABAP Schnittstelle
  • RFC Select Schnittstelle
  • ABAP Reports

können optional auch gebündelt durchgeführt werden, d.h. mehrere der Zugriffe werden gemeinsam in einem einzigen RFC Aufruf abgewickelt.

Vergleich

CIS ABAP Schnittstelle
  • ABAP-Kenntnisse nötig
  • Sehr gute Performance erzielbar
  • Komplexe Select-Zugriffe und Aufruf von SAP Funktionsbausteinen möglich
  • Zusätzliche Berechtigungsprüfungen können im ABAP-Coding erforderlich sein
  • Relativ schnelle Implementierung
  • Sehr variabel
  • Insbesondere für CIS Reports sehr gut geeignet

RFC Select Schnittstelle

  • Keine ABAP-Kenntnisse nötig
  • Sehr gute Performance erzielbar
  • Komplexe Select-Zugriffe nur über Definition von Views im SAP-System
  • Zusätzliche Berechtigungsprüfungen können in VB.NET erforderlich sein
  • Sehr schnelle Implementierung
  • Optimal falls alle benötigten Daten aus einer einzigen SAP-Tabelle (oder einem View) stammen

BAPI und eigene Funktionsbausteine

  • ABAP-Kenntnisse für eigene Bausteine nötig
  • Insbesondere bei eigenen Bausteinen sehr gute Performance erzielbar
  • Zusätzliche Berechtigungsprüfungen können in VB.NET (falls BAPI) oder ABAP (eigene Bausteine) erforderlich sein
  • Keine gebündelten Aufrufe möglich
  • Passende BAPIs sind oft nicht verfügbar. Häufig findet man BAPIs in denen entweder wesentliche Daten fehlen oder die zu viele Daten lesen (Performance)

SAP GUI Scripting

  • Kenntnis der verwendeten SAP-Transaktionen erforderlich
  • Nur mäßige Performance, identisch mit normalem SAP GUI Zugriff
  • Alle Berechtigungsprüfungen laufen automatisch ab
  • Keine Kenntnis der SAP-Datenstrukturen nötig, nur der Benutzeroberfläche
  • Alle Daten, die überhaupt im SAP System angezeigt werden können, sind verfügbar
  • Auch Daten aus Grid und Tree Darstellungen leicht abgreifbar

ABAP Reports

  • SAP Standardreports oder eigene Reports (z.B. über SAP Query erstellt) sind verwendbar
  • Die HTML-Ausgabe ist meist nur zu Testzwecken einsetzbar
  • Bei Verwendung von Standardreports kann das Extrahieren der Daten aus der Liste mühsam werden
  • Die Berechtigungsprüfungen innerhalb des Reports laufen automatisch ab
  • Keine Kenntnis der SAP-Datenstrukturen nötig
  • Auch bei Report-Ausgabe in ALV-Grid nutzbar