Anleitung zur Verwendung von RFC_READ_TABLE zum Abfrage von SAP -Tabellen in Jitterbit Design Studio
Einführung
Diese Anleitung für den Harmony SAP Connector in Design Studio behandelt die Abfrage von SAP -Tabellen mit der RFC-Funktion RFC_READ_TABLE
Um die Abfrage von SAP -Daten zu demonstrieren, verwenden wir die Standard SAP Tabelle KNA1 (Allgemeine Daten im Kundenstamm), um IDs und Adressen von Kunden in Philadelphia Abfrage.
Diese Seite ist in drei Teile gegliedert:
-
Teil 1: Erstellen des SAP -Vorgangs
Zunächst verwenden wir den Design Studio SAP Connector, um einen SAP Endpoint zu erstellen und eine zugehörige SAP Funktion. Mithilfe der SAP Funktion erstellen wir eine Transformation und eine Transformation und erstellen dann eine Operation mit diesen Strukturen. (Die Details der Transformation müssen noch vervollständigt werden.)
-
Teil 2: Modellierung der Abfrage in der SAP Instanz
Als Nächstes verwenden wir zum Modellieren der Abfrage, die wir in Design Studio erstellen möchten, den Function Builder von SAP, um die RFC-Funktion in der SAP -Instanz zu testen.
-
Teil 3: Abschließen des SAP -Vorgangs
Abschließend ordnen wir die Felder der Anforderungs- und Transformations zu, testen den Operation, um eine Vorschau der abzurufenden Daten anzuzeigen, und führen den Operation aus, um die Daten aus SAP abzurufen.
Am Ende dieses Leitfadens finden Sie außerdem Tipps zum Abfragen von SAP Daten, einschließlich Überlegungen wie Einschränkungen bei der Verwendung dieses RFC und einer Alternative zur Verwendung eines BAPI.
Teil 1: Erstellen des SAP Operation
Zunächst verwenden wir den Design Studio SAP Connector, um die Struktur einer SAP -Operation mithilfe der RFC-Funktion zu erstellen RFC_READ_TABLE
.
Die Einzelheiten der Transformation werden in Teil 3: Abschließen des SAP Operation vervollständigt.
Gehen Sie folgendermaßen vor, um die Struktur des SAP -Vorgangs zu erstellen:
- Erstellen Sie den SAP Endpoint
- SAP -Funktion erstellen
- Transformation erstellen
- Erstellen Sie die Transformation
- Operation erstellen
Erstellen des SAP Endpoint
Erstellen Sie einen SAP Endpoint mit den Informationen, die es Harmony ermöglichen, eine Verbindung mit der SAP -Instanz herzustellen.
Erstellen der SAP Funktion
Erstellen Sie eine SAP Funktion mit dieser Konfiguration:
-
Wählen Sie im Schritt Typ RFC aus.
-
Wählen Sie im Schritt Funktion aus
RFC_READ_TABLE
.
Nachdem Sie auf Fertig stellen geklickt haben, werden im Konfigurationsbildschirm der SAP -Funktion die generierten Anforderungs- und Antwortstrukturen angezeigt, die im nächsten Schritt dargestellt werden.
Erstellen der Transformation
-
Klicken Sie im Konfigurationsbildschirm der SAP -Funktion auf Anfrage erstellen:
-
Wählen Sie auf dem nächsten Bildschirm über das Dropdown-Menü Quelle die Quelle der Transformation aus. Wählen Sie für diese Anleitung (Keine) als Quelle aus, da Sie später beim Konfigurieren der Transformation in Teil 3: Abschließen des SAP Operation fest codierte Werte verwenden werden. Klicken Sie auf Fertig, um die Transformation zu erstellen:
-
Der Konfigurationsbildschirm für die Transformation wird angezeigt:
Erstellen der Transformation
-
Suchen Sie im Projektbaum links unter Connectors > SAP > SAP Functions > RFC_READ_TABLE die SAP Funktion, die Sie unter SAP Funktion erstellen erstellt haben. Klicken Sie mit der rechten Maustaste auf die Funktion und wählen Sie Transformation erstellen.
-
Wählen Sie auf dem nächsten Bildschirm über das Dropdown-Menü Ziel das Ziel der Transformation aus. Wählen Sie für diese Anleitung Text als Ziel aus, da Sie eine einfache Textdatei erstellen, die als Ziel verwendet werden soll. Klicken Sie auf Weiter:
-
Wählen Sie auf dem nächsten Bildschirm im Dropdown-Menü Verfügbare Dateiformatdefinitionen Neu erstellen aus:
-
Ein Bereich zum Erstellen eines neuen Dateiformats wird angezeigt. Um eine neue Textdatei für die Zwecke dieses Handbuchs zu erstellen, geben Sie einen Namen von Kundenadresse ein. Wählen Sie unter Manuell erstellen Einfaches Textdokument als Dokumenttyp und Zeichengetrennt als Dokumentformat aus und klicken Sie dann auf Manuell erstellen:
-
Fügen Sie unter Segmenteigenschaften definieren nacheinander Felder hinzu, indem Sie auf Neu klicken und den Feldnamen (Kunde, Name, Stadt, Region und Straße) eingeben. Klicken Sie auf Fertig, um die Transformation zu erstellen:
-
Der Konfigurationsbildschirm zur Transformation wird angezeigt:
Erstellen des Operation
-
Suchen Sie im Projektbaum links unter Connectors > SAP > SAP Functions > RFC_READ_TABLE nach der zuvor erstellten SAP Funktion. Klicken Sie mit der rechten Maustaste auf die Funktion und wählen Sie Operation erstellen.
-
Mithilfe der SAP Funktion wird eine Operation mit Platzhaltern für andere Teile der Operation erstellt:
-
Klicken Sie mit der rechten Maustaste auf den Platzhalter Anforderung und wählen Sie Vorhandene Transformation auswählen. Wählen Sie im Dialogfeld die Transformation aus, die Sie zuvor erstellt haben (RFC_READ_TABLE - Anforderung), und klicken Sie auf OK.
Notiz
Der Platzhalter Quelle wird automatisch entfernt, da die Transformation zuvor mit einer Quelle von (Keine) definiert wurde, da fest codierte Werte in einem späteren Schritt konfiguriert werden.
-
Klicken Sie mit der rechten Maustaste auf den Platzhalter Antwort und wählen Sie Vorhandene Transformation auswählen. Wählen Sie im Dialogfeld die zuvor erstellte Transformation (RFC_READ_TABLE - Antwort) aus und klicken Sie auf OK.
-
Klicken Sie mit der rechten Maustaste auf den Platzhalter Ziel und wählen Sie Neues Ziel erstellen. Geben Sie einen Namen von RFC_READ_TABLE ein und wählen Sie einen Typ von Temporärer Speicher. Geben Sie unter Verbindungsparameter einen Dateinamen wie output.txt an. Speichern Sie das neue Ziel:
-
-
Kehren Sie zur Operation im Projektbaum links unter Operationen > RFC_READ_TABLE zurück. Bei Bedarf können Sie das Layout der Operation zurücksetzen mit
Control+F5
(Windows) oderCommand+F5
(macOS).
Teil 2: Modellierung der Abfrage in der SAP -Instanz
Als nächstes verwenden wir zum Modellieren der Abfrage, die wir in Design Studio erstellen möchten, den Function Builder von SAP, um die Funktion RFC_READ_TABLE zu testen.
-
Melden Sie sich bei der SAP GUI an.
-
Geben Sie im Suchfeld den SAP Transaktionscode SE16N ein.
-
Der Bildschirm Allgemeine Tabellenanzeige wird angezeigt. Geben Sie den Tabellennamen KNA1 an, um die Tabelle und ihre Felder anzuzeigen. Die Namen in der Spalte Technischer Name werden vom RFC verwendet:
-
Geben Sie im Suchfeld den SAP Transaktionscode SE37 ein.
-
Der Function Builder: Einstiegsbildschirm wird angezeigt. Geben Sie ein Funktionsmodul von RFC_READ_TABLE ein. Klicken Sie dann auf Anzeigen:
-
Der Bildschirm Function Builder: RFC_READ_TABLE anzeigen wird angezeigt. Wählen Sie im Menü Test/Ausführen aus:
-
Der Bildschirm Funktionsmodul testen: Einstiegsbildschirm wird angezeigt. Nach der Konfiguration wie unten beschrieben sieht der Bildschirm folgendermaßen aus:
-
Tragen Sie in der ersten Tabelle in der Spalte Wert folgende Werte ein:
-
QUERY_TABLE
: KNA1 -
DELIMITER
: |Hinweis
Das Pipe-Trennzeichen wird benötigt, da die Antwort von diesem RFC unstrukturiert ist.
-
-
Befolgen Sie in der zweiten Tabelle diese Schritte, um die Spalte Wert für diese Felder zu konfigurieren:
-
OPTIONS
: Klicken Sie auf die Wertezelle (0 Einträge), um den Bildschirm Struktureditor: OPTIONEN von Eintrag 1 ändern anzuzeigen. ImTEXT
Geben Sie im Bereich die Bedingungen der Abfrage mithilfe der SAP-SQL-Version ein (siehe Tipps zum Abfragen von SAP Daten am Ende dieser Seite für Betreiberinformationen): -
FIELDS
: Klicken Sie auf die Wertezelle (0 Einträge), um den Bildschirm Struktureditor: Felder von Eintrag 1 ändern anzuzeigen. Fügen Sie diese Einträge in dasFIELDNAME
Spalte, indem Sie im Menü für jede neue Zeile Neue Zeile auswählen:Hinweis
Die Feldnamen verwenden die technischen Namen wie in Teil 2, Schritt 1 gezeigt.
-
-
-
Klicken Sie auf dem Bildschirm Funktionsmodul testen: Einstiegsbild auf die Schaltfläche Ausführen:
-
Der Bildschirm Funktionsmodul testen: Ergebnisbildschirm wird angezeigt. Klicken Sie auf die
DATA
Wertezelle der Tabelle, um die Ergebnisse der Abfrage anzuzeigen: -
Der Bildschirm Struktureditor: DATEN von Eintrag 1 anzeigen wird angezeigt und zeigt die IDs und Adressinformationen für Kunden in Philadelphia:
Teil 3: Abschluss des SAP Operation
In diesem Schritt vervollständigen wir die Details des SAP Operation, den wir in Erstellen des SAP Operation und führen Sie den Operation zum Abrufen der SAP Daten aus:
- Konfigurieren Sie die Transformation
- Konfigurieren Sie die Transformation
- Projekt bereitstellen
- Testen Sie den Operation
- Führen Sie den Operation aus
Konfigurieren der Transformation
-
Öffnen Sie im Projektbaum links unter Transformations > RFC_READ_TABLE - Request per Doppelklick die zuvor erstellte Transformation.
-
Vervollständigen Sie die Transformation wie folgt:
-
In der Zielstruktur unter
INPUT
>RFC_READ_TABLE
, doppelklicken Sie, um dasDELIMITER
Feld. Geben Sie dieses Script ein, um das Trennzeichen fest zu codieren:<trans> "|" </trans>
-
In der Zielstruktur unter
INPUT
>RFC_READ_TABLE
, doppelklicken Sie, um dasQUERY_TABLE
Feld. Geben Sie dieses Script ein, um die Tabelle KNA1 zu verwenden:<trans> "KNA1" </trans>
-
In der Zielstruktur unter
INPUT
>RFC_READ_TABLE > FIELDS
, doppelklicken Sie, um dasFIELDNAME
Feld. Geben Sie dieses Script für den ersten Feldnamen ein:<trans> "KUNNR" </trans>
-
Da es noch weitere Felder, aber nur einen Ordner hinzuzufügen gibt, fügen Sie weitere Ordner hinzu, indem Sie mit der rechten Maustaste klicken
FIELDS
und wählen Sie Zusätzlichen Ordner für Zuordnungen erstellen. Tun Sie dies für jedes zusätzliche Feld und geben Sie das Script für jedesFIELDNAME
im gleichen Format wie im vorherigen Schritt: -
In der Zielstruktur unter
INPUT
>RFC_READ_TABLE > OPTIONS
, doppelklicken Sie, um dasTEXT
Feld. Geben Sie dieses Script für die Abfrage ein:<trans> "ORT01 EQ 'PHILADELPHIA'" </trans>
Tipp
Der
RFC_READ_TABLE
Funktion hat ein Limit von 75 Zeichen pro Optionszeile. Wenn Ihre Abfrage diesen Wert überschreitet, können Sie zusätzliche Ordner hinzufügen, wie im vorherigen Schritt beschrieben.
-
-
Wenn die Zuordnungen abgeschlossen sind, sollte die Anforderungsstruktur ungefähr so aussehen:
Konfigurieren der Transformation
-
Öffnen Sie im Projektbaum links unter Transformations>RFC_READ_TABLE - Response per Doppelklick die zuvor erstellte Transformation. Vervollständigen Sie das Transformation wie folgt:
-
Klicken Sie in der Zielstruktur mit der rechten Maustaste auf
_flat_
und wählen Sie Bedingung hinzufügen aus, um das Datenelement mit dem Namen hinzuzufügenCondition
als erstes Element unter dem Knoten: -
Doppelklicken Sie auf
Condition
Datenelement und geben Sie dieses Script ein, um die Ausgabe in einzelne Felder aufzuteilen:<trans> $arr=Split(jbroot$jbresponse$OUTPUT$RFC_READ_TABLE.DATA.WA$, "|"); true </trans>
-
Doppelklicken Sie auf jedes verbleibende Feld der Antwortstruktur und füllen Sie jedes Script mit den Array-Positionen:
Customer<trans> $arr[0] </trans>
Name<trans> $arr[2] </trans>
City<trans> $arr[4] </trans>
Region<trans> $arr[6] </trans>
Street<trans> $arr[8] </trans>
-
-
Wenn die Zuordnungen abgeschlossen sind, sollte die Antwortstruktur ungefähr so aussehen:
Bereitstellen des Projekts
Klicken Sie in der oberen Symbolleiste auf das einsetzen und einsetzen alles im Projekt bereit.
Testen des Operation
Klicken Sie unten rechts in der Transformation auf das Operation , um den Operation zu testen.
In jeder Zeile der Transformation werden Daten aus den SAP -Tabellen angezeigt. Sie zeigen, wie die Daten ausgefüllt würden, wenn der Operation ausgeführt würde:
Ausführen des Operation
Öffnen Sie die Operation und klicken Sie auf das Ausführen-Symbol oben rechts.
Der Operation Monitor sollte anzeigen, dass der Operation erfolgreich ausgeführt wurde. Wir können nun die Ausgabedatei überprüfen und sehen, dass die abgefragten Daten in die Datei geschrieben wurden:
Tipps zum Abfragen von SAP Daten
Dieser Abschnitt enthält Tipps zum Abfragen von SAP Daten:
-
RFC oder BAPI: Wenn Sie bei der Verwendung des RFC auf Einschränkungen stoßen
RFC_READ_TABLE
gibt es andere Möglichkeiten, wie die Verwendung des BAPIBBP_RFC_READ_TABLE
oder mithilfe eines benutzerdefinierten RFC. Die Schritte zur Verwendung eines BAPI oder eines benutzerdefinierten RFC in Design Studio ähneln den Schritten für den RFCRFC_READ_TABLE
. -
Zeilenbegrenzung: Der RFC
RFC_READ_TABLE
hat eine Zeilenbegrenzung von 512 Zeichen. Das heißt, jede Datenzeile darf nicht länger als 512 Zeichen sein. -
Float: Der RFC
RFC_READ_TABLE
gibt keine Felder zurück, die einen Float-Datentyp enthalten. Das BAPIBPP_RFC_READ_TABLE
hat diese Einschränkung nicht. -
ROWSKIPS
UndROWCOUNT
: Der RFCRFC_READ_TABLE
gibt maximal 999999 Datensätze auf einmal zurück. Da dies möglicherweise die Beschränkungen der Anzahl der Datensätze überschreitet, die von einem Endpoint in einem nachlegende Operation verarbeitet werden können, möchten Sie möglicherweise die FelderROWSKIPS
UndROWCOUNT
um eine Form von chunking zu implementieren.ROWSKIPS
ist die Nummer der ersten Zeile undROWCOUNT
ist die Anzahl der abzurufenden Zeilen. Beispiel:ROWSKIPS = 0, ROWCOUNT = 500
holt die ersten 500 Datensätze,ROWSKIPS = 501, ROWCOUNT = 500
holt die nächsten 500 Datensätze, und so weiter. Wenn Sie bei0
, dann wird kein chunking durchgeführt. Der Maximalwert für jedes dieser Felder ist999999
. -
OPTION
: DerOPTION
Das Feld enthält die Abfrage. Die Länge der Abfrage ist auf 75 Zeichen begrenzt. Wenn die Abfrage diese Begrenzung überschreitet, müssen zusätzliche Ordner erstellt werden, um die gesamte Abfrage aufzunehmen. -
Fehlerbehandlung: Der RFC
RFC_READ_TABLE
gibt keine Fehlermeldungen zurück. Fehler bei der Verwendung des BAPIBPP_RFC_READ_TABLE
werden über den SAP Connector zurückgegeben:-
Wenn der Tabellenname ungültig ist:
(126) TABLE_NOT_AVAILABLE: TABLE_NOT_AVAILABLE Message 029 of class SV type E, Par[1]: DD5T
-
Wenn eine ungültige Bedingung vorliegt:
JCO_ERROR_SYSTEM_FAILURE: A condition specified dynamically has an unexpected format.
-
Wenn ein Feldname ungültig ist:
(126) FIELD_NOT_VALID: FIELD_NOT_VALID
-
-
Ansichten: Ansichten in SAP erstellen kann beim Umgang mit verknüpften Tabellen hilfreich sein.
-
Abfrageoperatoren: Die SAP Abfrage verwendet diese Operatoren:
Betreiber Beschreibung EQ
gleich NE
ungleich LT
weniger als LE
kleiner oder gleich GT
größer als GE
größer oder gleich LIKE
wie in LIKE `Emma%`