Zum Inhalt springen

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:

  1. Erstellen Sie den SAP Endpoint
  2. SAP -Funktion erstellen
  3. Transformation erstellen
  4. Erstellen Sie die Transformation
  5. 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

  1. Klicken Sie im Konfigurationsbildschirm der SAP -Funktion auf Anfrage erstellen:

    Anhang

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

    Anhang

  3. Der Konfigurationsbildschirm für die Transformation wird angezeigt:

    Anhang

Erstellen der Transformation

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

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

    Anhang

  3. Wählen Sie auf dem nächsten Bildschirm im Dropdown-Menü Verfügbare Dateiformatdefinitionen Neu erstellen aus:

    Anhang

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

    Anhang

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

    Anhang

  6. Der Konfigurationsbildschirm zur Transformation wird angezeigt:

    Anhang

Erstellen des Operation

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

  2. Mithilfe der SAP Funktion wird eine Operation mit Platzhaltern für andere Teile der Operation erstellt:

    Anhang

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

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

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

      Anhang

  3. 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) oder Command+F5 (macOS).

    Anhang

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.

  1. Melden Sie sich bei der SAP GUI an.

  2. Geben Sie im Suchfeld den SAP Transaktionscode SE16N ein.

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

    Anhang

  4. Geben Sie im Suchfeld den SAP Transaktionscode SE37 ein.

  5. Der Function Builder: Einstiegsbildschirm wird angezeigt. Geben Sie ein Funktionsmodul von RFC_READ_TABLE ein. Klicken Sie dann auf Anzeigen:

    Anhang

  6. Der Bildschirm Function Builder: RFC_READ_TABLE anzeigen wird angezeigt. Wählen Sie im Menü Test/Ausführen aus:

    Anhang

  7. Der Bildschirm Funktionsmodul testen: Einstiegsbildschirm wird angezeigt. Nach der Konfiguration wie unten beschrieben sieht der Bildschirm folgendermaßen aus:

    Anhang

    1. Tragen Sie in der ersten Tabelle in der Spalte Wert folgende Werte ein:

      1. QUERY_TABLE: KNA1

      2. DELIMITER: |

        Hinweis

        Das Pipe-Trennzeichen wird benötigt, da die Antwort von diesem RFC unstrukturiert ist.

    2. Befolgen Sie in der zweiten Tabelle diese Schritte, um die Spalte Wert für diese Felder zu konfigurieren:

      1. OPTIONS: Klicken Sie auf die Wertezelle (0 Einträge), um den Bildschirm Struktureditor: OPTIONEN von Eintrag 1 ändern anzuzeigen. Im TEXT 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):

        Anhang

      2. 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 das FIELDNAME Spalte, indem Sie im Menü für jede neue Zeile Neue Zeile auswählen:

        Anhang

        Hinweis

        Die Feldnamen verwenden die technischen Namen wie in Teil 2, Schritt 1 gezeigt.

  8. Klicken Sie auf dem Bildschirm Funktionsmodul testen: Einstiegsbild auf die Schaltfläche Ausführen:

    Anhang

  9. Der Bildschirm Funktionsmodul testen: Ergebnisbildschirm wird angezeigt. Klicken Sie auf die DATA Wertezelle der Tabelle, um die Ergebnisse der Abfrage anzuzeigen:

    Anhang

  10. Der Bildschirm Struktureditor: DATEN von Eintrag 1 anzeigen wird angezeigt und zeigt die IDs und Adressinformationen für Kunden in Philadelphia:

    Anhang

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:

  1. Konfigurieren Sie die Transformation
  2. Konfigurieren Sie die Transformation
  3. Projekt bereitstellen
  4. Testen Sie den Operation
  5. Führen Sie den Operation aus

Konfigurieren der Transformation

  1. Öffnen Sie im Projektbaum links unter Transformations > RFC_READ_TABLE - Request per Doppelklick die zuvor erstellte Transformation.

  2. Vervollständigen Sie die Transformation wie folgt:

    1. In der Zielstruktur unter INPUT > RFC_READ_TABLE, doppelklicken Sie, um das DELIMITER Feld. Geben Sie dieses Script ein, um das Trennzeichen fest zu codieren:

      <trans>
      "|"
      </trans>
      
    2. In der Zielstruktur unter INPUT > RFC_READ_TABLE, doppelklicken Sie, um das QUERY_TABLE Feld. Geben Sie dieses Script ein, um die Tabelle KNA1 zu verwenden:

      <trans>
      "KNA1"
      </trans>
      
    3. In der Zielstruktur unter INPUT > RFC_READ_TABLE > FIELDS, doppelklicken Sie, um das FIELDNAME Feld. Geben Sie dieses Script für den ersten Feldnamen ein:

      <trans>
      "KUNNR"
      </trans>
      
    4. 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 jedes FIELDNAME im gleichen Format wie im vorherigen Schritt:

      Anhang

    5. In der Zielstruktur unter INPUT > RFC_READ_TABLE > OPTIONS, doppelklicken Sie, um das TEXT 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.

  3. Wenn die Zuordnungen abgeschlossen sind, sollte die Anforderungsstruktur ungefähr so aussehen:

    Anhang

Konfigurieren der Transformation

  1. Öffnen Sie im Projektbaum links unter Transformations>RFC_READ_TABLE - Response per Doppelklick die zuvor erstellte Transformation. Vervollständigen Sie das Transformation wie folgt:

    1. 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ügen Condition als erstes Element unter dem Knoten:

      Anhang

    2. 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>
      
    3. 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>
      
  2. Wenn die Zuordnungen abgeschlossen sind, sollte die Antwortstruktur ungefähr so aussehen:

    Anhang

Bereitstellen des Projekts

Klicken Sie in der oberen Symbolleiste auf das einsetzen Anhang und einsetzen alles im Projekt bereit.

Testen des Operation

Klicken Sie unten rechts in der Transformation auf das Operation Anhang, 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:

Anhang

Ausführen des Operation

Öffnen Sie die Operation und klicken Sie auf das Ausführen-Symbol Anhang 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:

Anhang

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 BAPI BBP_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 RFC RFC_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 BAPI BPP_RFC_READ_TABLE hat diese Einschränkung nicht.

  • ROWSKIPS Und ROWCOUNT: Der RFC RFC_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 Felder ROWSKIPS Und ROWCOUNT um eine Form von chunking zu implementieren.

    ROWSKIPS ist die Nummer der ersten Zeile und ROWCOUNT 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 bei 0, dann wird kein chunking durchgeführt. Der Maximalwert für jedes dieser Felder ist 999999.

  • OPTION: Der OPTION 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 BAPI BPP_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%`