BizTalk & SAP über WCF-SAP (NCo .NET Connector) verbinden

BizTalk & SAP

BizTalk und SAP richtig integrieren – Einleitung

Dieser Artikel beschreibt, wie die Verbindungsherstellung zwischen BizTalk und SAP erfolgt. Dabei kommt der BizTalk-eigene Adapter (WCF-SAP) in Verbindung mit dem SAP .NET Connector (NCo) 3.0 zum Einsatz. Durchgeführt wurde die Installation und Konfiguration auf BizTalk 2020, das Vorgehen kann aber auch auf älteren BizTalk-Versionen angewandt werden. Die früher verwendete „Classic RFC Library“ wird seit 2016 nicht mehr supported, deshalb nutzt das aktuelle BizTalk Adapter Pack auch nur den NCo.

Installation BizTalk Adapter Pack

Seit BizTalk 2020 wird das BizTalk Adapter Pack im Rahmen des normalen BizTalk-Installationsprozesses installiert. Bei älteren BizTalk-Versionen muss das Pack nachträglich installiert werden.

Download des SAP .NET Connectors

Der NCo ist nicht im Umfang der BizTalk-Installationsmedien enthalten, sondern muss bei SAP heruntergeladen werden. Dafür ist ein SAP Marketplace-Zugang erforderlich, der die entsprechenden Berechtigungen / Lizenzierungen umfasst. Üblicherweise besitzt der Kunde bzw. SAP-Dienstleister diesen Zugang. Hier ist die aktuelle Version verfügbar. Es sollte sowohl die x86- als auch die x64-Variante in der jeweils neuesten Version heruntergeladen werden:

SAP .NET Connector Download

Download und Installation weiterer DLLs

Der NCo benötigt bestimmte C++ Runtime DLLs (x86 und x64), die ohne Registrierung bei Microsoft heruntergeladen werden können:

Installation des SAP .NET Connectors

Es muss mindestens die x86-Variante des NCo installiert werden, die x64-Variante ist für 64-bit Hostinstanzen erforderlich. Sicherheitshalber sollten beide Varianten in der jeweils aktuellsten Version installiert werden, sofern nicht umgebungsspezifische Anforderungen den Einsatz einer älteren Version erzwingen:

SAP NCo Installtion

Während des Setups sollten die Optionen „Install for everyone“ und „Install assemblies to GAC“ ausgewählt werden.

SAP NCo Installtion Steps

Anlage / Registrierung des Adapters

Der SAP-Adapter kann nun in der BizTalk Adminkonsole hinzugefügt / registriert werden:

BizTalk WCF-SAP Registrierung

Danach erscheint die Meldung, dass die Hostinstanzen neugestartet werden müssen. Dies kann jetzt oder später erfolgen. Der Adapter besitzt nun bereits einen Send und einen Receive Handler, die mit der standardmäßigen Hostinstanz verknüpft sind:

BizTalk WCF-SAP Registrierung

Dies ist häufig nicht die optimale Konfiguration, stattdessen sollten dedizierte Send- und Receive-Hosts für 32-bit und 64-bit erstellt werden. Da es sich hierbei um umgebungsspezifische Aspekte handelt, die über die Nutzung des SAP-Adapters hinausgehen, werden sie an dieser Stelle nicht weiter beschrieben.

Porteintrag für Receive Locations

Bei der Aktivierung einer gerade eingerichteten Receive Location kann die Fehlermeldung auftreten, dass die Receive Location wegen eines unbekannten Service nicht starten kann („ERROR service ‚?‘ unknown“). Anstelle des „?“ kann dort auch der Name des „Gateway Service“ im Adapterkonfigurationsabschnitt „RFC Server“ stehen. Das Problem ist hierbei die fehlende Portangabe des Message Servers, die über die GUI nicht gesetzt werden kann. Hierfür muss die Datei „C:\Windows\system32\drivers\etc\services“ editiert und der entsprechende Eintrag in der Struktur „GatewayServiceName MessageServerPort/ConnectionType“ ergänzt werden, also z. B. „sapgw00 3300/tcp“.

Zusätzlich wird von dem Adapter Zugriff auf C:\Windows\System32\ApplicationData und C:\Windows\SysWOW64\ApplicationData benötigt. Sollten die Verzeichnisse auf dem BizTalk-Server nicht vorhanden sein, müssen diese angelegt werden. Der BizTalk-Host-Instanz-User muss auf diese Verzeichnisse Full-Control-Rechte bekommen.

Datei SAPRFC.INI

Um den BizTalk-Server als RFC-Empfänger bei SAP zu registrieren, wird eine lokal abgelegt Konfigrationsdatei (SAPRFC.INI) benötigt. Ein typischer Inhalt dieser Datei könnte, wie folgt, aussehen. Dabei ist es zu beachten, dass die Verbindungsdaten im Folgenden nur Beispiele sind. Weitere Informationen sind hier bei SAP zu finden.

DEST=BIZTALKSERVER

TYPE=R

GWHOST=SAPSERVER

GWSERV=3300

PROGID=BIZTALKSERVER

SYSNR=00

RFC_TRACE=0

ABAP_DEBUG=0

USE_SAPGUI=0

Als letzter Schritt muss der Pfad zu der SAPRFC.INI im System als Systemvariable, wie folgt, definiert werden. Der BizTalk-Host-Instanz-User muss auf auf dieses Verzeichnis Full-Control-Rechte bekommen.

BizTalk und SAP verbinden

Test des Adapters

Um sicherzustellen, dass die Installation des Adapters erfolgreich war, kann testweise ein Port angelegt werden. Wenn alle Konfigurationseinstellungen zugänglich sind, spricht viel für eine gelungene Installation:

SAP-Adapter - Portanlage

Einrichtung SAP Serviceuser für BizTalk

Falls es in SAP noch keinen Serviceuser für BizTalk geben sollte oder dieser falsch konfiguriert ist, können die folgenden Information hilfreich sein.

Konfiguration SAP Serviceuser:

  • Anlage eines technischen Users (kein Dialog-User, sondern „Type:SYSTEM“) pro SAP-Umgebung (DEV, TEST, PROD…)

  • Der User sollte das Profil „SAP_ALL“ besitzen (es sei denn, es gibt ein feiner abgestimmtes Berechtigungssystem in der SAP-Umgebung)

  • Erstellung einer RFC-Destination für den BizTalk Server (die RFC-Destination hängt an einem SAP-Port)

  • Vergabe einer Programm-ID für den BizTalk Server (die Programm-ID hängt an der RFC-Destination)

  • Eintragung der IP-Adresse des BizTalk Servers in der ACL (Access Control List) von SAP. Dabei ist der zweite Reiter (Reginfo-Datei) auszuwählen.

  • Freigabe der Netzwerkrouten zwischen BizTalk und SAP

  • Wir benötigen natürlich Name und Passwort des angelegten Users

Weitere benötigte Informationen zur Verbindungsherstellung (Struktur orientiert sich an Adapterkonfiguration in BizTalk):

  • Application Server

    • Application Server Host: Servername (z. B. sapserver1.firma.de) oder IP-Adresse

    • System Number: Systemnummer (z. B. 00)

  • Login Information

    • Client: Client-Nummer (z. B. 100)

  • RFC Server

    • Gateway Host: Servername (z. B. sapserver1.firma.de)

    • Gateway Service: Gatewayname (z. B. sapgw00), Pflichteintrag für Receive Locations wenn SAP einen Gateway Service verwendet

    • Programm Id: Name der Programm-ID (häufig identisch mit RFC-Destination, z. B. BIZTALK_USER-BTS01)

Data Passion Milen & Carsten
Data Passion Milen & Carsten
HABEN WIR
IHR INTERESSE
GEWECKT?
Schreiben Sie uns eine kurze E-Mail oder rufen Sie uns einfach an! Wir kümmern uns um Ihr Anliegen innerhalb der nächsten 24 Stunden.

Tel.: +49 (40) 6963816–0
Tel.: +49 (151) 1176898-0
E-Mail: [email protected]

Kontaktanfrage