Donnerstag, 3. August 2017

Kettle Pentaho PDI mit SAP Verbindung einrichten

Dieser Artikel beschreibt wie die Kettle Penthao PDI eingerichtet werden muss um mit einem SAP System per RFC zu kommunizieren. Weiterhin wird ein kurzer Blick auf die Vorgehensweise von Kettle bei der Informationsbeschaffung der Übergabeparameter und deren Typen gerichtet. Die Einrichtung erfolgt am Beispiel einer Windows 10 64-Bit Version.

Schritt 1: Kettle Pentaho PDI downloaden und entpacken
Schritt 2: In den Umgebungsvariablen von Windows sollten die Variablen JAVA_HOME und PENTAHO_JAVA gesetzt sein. Beide müssen auf das Verzeichniss des Java Runtime Enviroments (JRE) zeigen.
Beispiel:
JAVA_HOME = c:\Programm Files\Java\jre8
PENTAHO_JAVA = c:\Programm Files\Java\jre8

Es sollte die Java Installation genutzt werden, die zu dem Betriebssystem passt z.B. 64 Java Version zum 64 Bit Betriebssystem.

Schritt 3: Für die Kommunikation von Kettle mit dem SAP System wird der SAP Java Connector (JCo) benötigt. Dieser kann bei SAP heruntergeladen werden. Voraussetzung ist ein SAP Service Marketplace Zugang, den viele SAP Kunden besitzen. Es sollte auf die rfichtige Betriebssystem Version geachtet werden. Für das o.g. Beispiel wird die Windows 64 Bit Version benötigt. Es sollte immer die version des Betriebssystems gewählt werden, da Kettle sich automatich per Batch Datei auf das richtige System einstellt.
Der JCo wird in einer ZIP Datei geliefert. Diese muss entpackt werden um vier Dateien daraus zu kopieren. Diese sind:

sapjco3.dll
sapjco3.jar
sapjco3.pdb
sapjcomanifest.mf

Schritt 4: Dateien in das lib Verzeichniss kopieren. Die im Schritt 3 heruntergeladenen Dateien müssen in daslib Verzeichniss der Kettle Installation kopiert werden.

Schritt 5: Verbindung einrichten und testen

Verbindungsaufbau und laden von Funktionsbausteinen 

Wenn Kettle nach einem Funktionsbausein sucht und dessen Parameter anzeigen möchte werden folgende Funktionsbausteine im Hintergurnd aufgerufen:

RFCPING
RFC_GET_FUNCTION_INTERFACE
DDIF_FIELDINFO_GET
RFC_FUNCTION_SEARCH
RFC_GET_NAMETAB

Falls irgendwas nicht richtig läfut kann das externe Debugging im SAP einschaltet werden um einen externen Breakpoint zu setzen. Anschließen können im Debug Modus Eingabe und Ausgabeparemeter der jeweiligen Funktionsbausteine überprüft werden. Oft ist die Stelle an der die Exception oder der Fehelr auftritt aussagekräftiger als die Fehlermeldung selbst. Ein Beispiel hierfür ist der Fehler TABLE_NOT_ACTIVE, welcher hier beschrieben wird.
Buzzwords: Penthao, Kettle, Spoon, SAP, JCo

Keine Kommentare:

Kommentar veröffentlichen