Auf dieser Seite werden folgende Themen behandelt:
-
Definitionen/Details
-
Wann sollte Direct verwendet werden?
-
Funktionen, die in Direct nicht verfügbar sind (sofern nicht ausdrücklich vom Entwickler integriert)
-
Unterschiede zur Transaktion
-
Vorbereitung vor der Verwendung von Direct
-
Tipps zu Direct
-
Erstellen eines Direct Skripts
-
Bewährte Methoden für Direct
Definitionen
-
RFC (Remote Function Call)
-
SAP-Standardschnittstelle, die von Drittanbieteranwendungen für die Kommunikation mit SAP verwendet wird
-
Dient zur Ausführung einer Funktion in SAP
-
RFM (Remote-Enabled Function Module) – RFM steht für Remote-Enabled Function Module (remotefähiges Funktionsmodul)
-
Aufrufen und Ausführen vordefinierter Funktionen
-
-
BAPI (Business Application Programming Interface) – muss remotefähig sein
-
Bei einer BAPI kann es sich um eine Standard-SAP-BAPI oder eine benutzerdefinierte BAPI handeln, die von einem SAP-BASIS-Programmierteam für den internen Gebrauch erstellt wurde
-
Eine BAPI ist ein RFC-fähiges Funktionsmodul, das zum Aufrufen von internem SAP-Code verwendet wird
-
Standardschnittstelle zu den Geschäftsobjektmodellen in SAP ohne die Verwendung einer SAP-T-Code-Benutzerschnittstelle
-
Gibt statt einzelner Fehler eine Sammlung von Fehlern zurück
-
Jede BAPI entspricht einem bestimmten Geschäftsobjekt
-
Möglicherweise ist zur Erläuterung von Format, Struktur und Verhalten zugehörige Dokumentation verfügbar
Hinweise:
-
Auf die Dokumentation kann über die Registerkarte „Dokumentation“ auf den Registerkarten „Direct Arbeitsbereich“, „Ansicht“ und „Zuordnung“, auf dem Menüband „Arbeitsbereich“ oder über die SE37-Transaktion von SAP zugegriffen werden.
-
Für eine erfolgreiche Interaktion ist es sehr wichtig, die Funktionsweise der BAPI zu verstehen.
-
-
Wann sollte Direct verwendet werden?
-
Die einzige Option zum Aufzeichnen einer SAP-Transaktion erfordert GUI-Scripting, und das Skript muss in Fällen ausgeführt werden, in denen GUI-Scripting nicht unterstützt wird – und zwar von einem Automate Server über die Planung oder ein Webformular.
-
Für die Bearbeitung von Anforderungen ist keine SAP-Transaktion verfügbar.
-
Dabei gehört die Leistung zu den primären Anforderungen (Massen-Uploads usw.)
-
Wenn es keine Möglichkeit der Positionierung auf einem Raster gibt und/oder die Automatisierung zu komplex ist
-
SAP-Bildschirme zeigen eine variable Anzahl von Popup-Fenstern
-
Eine persönliche Einstellung bei Verwendung von BAPI/RFMs
Funktionen, die in Direct nicht verfügbar sind (sofern nicht ausdrücklich vom Entwickler integriert)
-
Validierung und Simulation
-
Zwischenlösung – Daten prüfen oder Skript zur Validierung/Testausführung erstellen
-
Erweiterte Funktionen: Langtext, Dokumentenanhänge – (Zwischenlösung: Nutzung von Automate RFMs)
-
Sicherungsdaten – (Zwischenlösung: Daten vor der Aktualisierung mit einer BAPI aus SAP auslesen)
-
Debuggen & Ausführen und bei Fehlern anhalten
-
Unterschiede zur Transaktion
-
SAP-Meldungen können unterschiedlich sein, es können mehrere Meldungen zurückgegeben werden
-
Schleifen werden automatisch eingebunden – Bearbeitung und Wiederverwendung der Spalte „Schleifen-ID“ möglich
-
Groß-/Kleinschreibung kann wichtig sein
-
Bei einigen BAPIs/RFMs ist möglicher eine Eingabe auf Deutsch erforderlich Beispiele:
-
Sold-To – Englisch: „SP“ Deutsch: „AG“
-
Ship-To – Englisch: „SH“ Deutsch: „WE“
-
Die BAPI geht von der deutschen Version aus
-
Vorbereitung für die Verwendung von Direct
-
Suche nach BAPI/RFM, die bzw. den Sie verwenden möchten – Optionen
-
SAP-Community
-
Internetsuche
-
Query – Erstellen Sie ein Query Skript für die SAP-Tabelle „SWOLTV“Fügen Sie ähnliche Kriterien zum Feld „ABAPNAME“ hinzu
Schlüsselfelder:
-
ABAPNAME (Name der ABAP-Funktion)
-
DESCRIPT (Name)
-
SHORTTEXT (Beschreibung)
-
COUNTPARAM (Anzahl Parameter in Methode)
-
LOBJTYPE (Objekttyp)
-
VERB (Objekttypkomponente)
-
-
-
Stellen Sie sicher, dass BAPI/RFM remotefähig sind
-
Der Benutzer muss Zugriff haben, um BAPI/RFM ausführen zu können – Berechtigungen sind entscheidend
-
Test in SE37 (optional)
-
Ein Benutzer muss Zugriff auf SE37 haben, um eine BAPI bzw. ein RFM innerhalb von SAP auswählen und testen zu können
-
Testdaten mit BAPI/RFM über SE37
-
Hinweis: Möglicherweise gibt es bereits frühere Testdaten in SE37, die Sie als Referenz verwenden können
-
-
Ermitteln Sie erforderliche Felder
-
Ermitteln Sie die Felder, die Sie verwenden möchten
Tipps zu Direct
-
Wenn Sie die/das Standard-SAP-BAPI/RFM in Direct nicht öffnen können, prüfen Sie
-
permissions
-
ob sie/es remotefähig ist
-
-
EINGABESTRUKTUREN – Daten, die an SAP übertragen werden sollen
-
AUSGABESTRUKTUREN – Von SAP zurückgegebene Daten
-
TABELLEN – Wird sowohl für die Eingabe als auch für die Ausgabe verwendet
-
ImportOthers Table – Import der Parametertabelle
-
Es können einige erforderlich sein
-
Entspricht der Registerkarte „Import“ in SE37
-
-
ExportOthers Table – Export der Parametertabelle
-
Entspricht der Registerkarte „Export“ in SE37
-
-
BAPIs/RFMs schließen keine Benutzerausgänge und anderen Anpassungen ein, die im entsprechenden Transaktionscode vorhanden sind.Sie müssen einer benutzerdefinierten BAPI oder dem Studio Skript und/oder Webformular hinzugefügt werden.
-
Bei der Auswahl von Feldern im Arbeitsbereich wird in der Expertenansicht automatisch eine Schleife um jede Struktur einzeln erstellt. In vielen Fällen sollten statt mehrerer Schleifen mehrere Strukturen unter einer einzigen Schleife aufgerufen werden. Sie können die einzelnen Schleifen um Strukturen löschen und stattdessen eine einzelne Schleife erweitern, um alle Strukturen abzudecken, die wiederholt werden müssen.
-
Beispielsweise startet in der BAPI zum Anlegen von Material jede Ansicht automatisch mit einer eigenen Schleife. Es ist wahrscheinlicher, dass alle Ansichten in einem einzigen Aufruf erstellt werden sollten. Also löschen Sie alle Schleifen bis auf eine, und erweitern Sie dann diese verbleibende Schleife, um alle Ansichten abzudecken.
-
-
Ab Version 11 kann die Struktur einer BAPI vereinfacht werden, indem alle Schleifen entfernt werden. Darüber hinaus können Sie in der Expertenansicht ganze Strukturen kopieren und einfügen, um eine Struktur ohne Schleife mehrfach aufzurufen. Sie müssen die gesamte Struktur auswählen, indem Sie auf die Zeile „Blau/Grün“ des Bildschirms klicken, um diese kopieren oder einfügen zu können.
-
Suche nach „X“-Tabellen – Wenn Sie eine BAPI verwenden, die in SAP schreibt, suchen Sie nach Tabellen, bei denen es zwei Tabellen mit demselben Namen gibt, mit dem einzigen Unterschied, dass ein Name mit einem „X“ endet.Nicht alle BAPIs verfügen über diese Arten von Tabellen. Doch falls sie darüber verfügen, machen Sie sich mit ihrer Verwendung vertraut.
Beispiel – Die Tabellen CONDITIONITEMDATAIN und CONDITIONITEMDATAINX in BAPI_CONDITION_CONTRACT_CREATE BAPI
Karte identity/distinct Felder - Um dem BAPI mitzuteilen, in welchem Datensatz die Felder aktualisiert werden sollen, suchen Sie nach identity/distinct Felder.
-
Beispiel: ORDER_KEY, COND_COUNT und UPDATE_FLAG sind in den Tabellen CONDITIONITEMDATAIN und CONDITIONITEMDATAINX Schlüsselfelder
-
Diese Felder sollten in beiden Tabellen für jeden Datensatz dieselben Daten enthalten und können derselben Spalte in der Datenvorlage zugeordnet werden.
-
Felder in der Tabelle „X“
-
Ordnen Sie jedem übereinstimmenden Feld, das in der Tabelle CONDITIONITEMDATAIN zugeordnet ist, einen festen Wert von „X“ zu.Suchen Sie nach:
-
Beschreibung = „Aktualisierte Informationen im zugehörigen Benutzerdatenfeld“
-
Typ = CHAR
-
Länge = 2
Die X-Werte dienen zur Angabe, mit welchen Feldern Sie in der entsprechenden Tabelle arbeiten werden.Dadurch wird die BAPI effizienter in der Ausführung, da es in vielen BAPIs Unmengen von Tabellen und Feldern gibt.
-
-
Erstellen eines Direct Skripts
-
Unter den nachfolgenden Links finden Sie weitere Informationen