Verbinden lokaler SAP-Systeme mit Azure
Viele Hersteller verwenden lokale SAP Enterprise Resource Planning-Systeme (ERP). Häufig verbinden Hersteller SAP-Systeme mit industriellen IoT-Lösungen und verwenden das verbundene System, um Daten für Herstellungsprozesse, Kundenaufträge und de Bestandsstatus abzurufen. In diesem Artikel wird beschrieben, wie Sie diese SAP-basierten ERP-Systeme verbinden.
Voraussetzungen
Die folgenden Voraussetzungen sind erforderlich, um die SAP-Verbindung herzustellen, wie in diesem Artikel beschrieben.
- Eine industrielle Azure IoT-Lösung, die in einem Azure-Abonnement bereitgestellt wird, wie unter Industrielle Azure IoT-Referenzarchitektur beschrieben
IEC 62541 der Open Platform Communications Unified Architecture (OPC UA)
Diese Lösung verwendet die Norm „IEC 62541“ der Open Platform Communications (OPC) Unified Architecture (UA) für alle Operational Technology-Daten (OT). Diese Norm wird hier beschrieben.
Referenzlösungsarchitektur
Komponenten
Eine Liste der Komponenten finden Sie unter Industrielle Azure IoT-Referenzarchitektur.
Verbinden der Referenzlösung mit lokalen SAP-Systemen
Die Azure-Dienste, die die Konnektivität mit Ihren lokalen SAP-Systemen handhaben, werden als Azure Logic Apps bezeichnet. Azure Logic Apps ist ein Azure-Dienst ohne Code, um Workflows zu orchestrieren, die Aktionen auslösen können.
Hinweis
Wenn Sie die SAP-Konnektivität testen möchten, bevor Sie Ihr echtes SAP-System verbinden, können Sie hier eine SAP S/4 HANA Fully-Activated Appliance
in Azure bereitstellen und diese stattdessen verwenden.
Konfigurieren von Azure Logic Apps zum Abrufen von Daten von lokalen SAP-Systemen
Der Azure Logic Apps-Workflow erfolgt von Ihrem lokalen SAP-System zu Azure Logic Apps. Außerdem werden die von SAP gesendeten Daten in Ihrem Azure Storage-Konto gespeichert. Führen Sie die folgenden Schritte aus, um einen neuen Azure Logic Apps-Workflow zu erstellen:
- Stellen Sie eine Instanz von Azure Logic Apps in derselben Region bereit, die Sie während der Bereitstellung dieser Referenzlösung über das Azure-Portal ausgewählt haben. Wählen Sie die verbrauchsbasierte Version aus.
- Wählen Sie im Designer der Azure-Logik-App die Triggervorlage
When a HTTP request is received
aus. - Wählen Sie zunächst
+ New step
, dannAzure File Storage
und anschließendCreate file
aus. Geben Sie der Verbindung einen Namen, und wählen Sie den Namen des Speicherkontos für das Azure Storage-Konto aus. Geben Sie fürFolder path
sap
und fürFile name
IDoc.xml
ein, und wählen Sie fürFile content
Body
aus dem dynamischen Inhalt aus. Navigieren Sie im Azure-Portal zu Ihrem Speicherkonto, wählen Sie zunächstStorage browser
und dannFile shares
>Add file share
aus. Geben Siesap
für den Namen ein, und wählen SieCreate
aus. - Zeigen Sie mit dem Mauszeiger auf den Pfeil zwischen dem Trigger und der Aktion „Datei erstellen“, wählen Sie zunächst die Schaltfläche
+
und dannAdd a parallel branch
aus. Wählen SieAzure Data Explorer
aus, und fügen Sie die AktionRun KQL query
aus der Liste der verfügbaren Azure Data Explorer-Aktionen (ADX) hinzu. Geben Sie den Namen der ADX-Instanz (Cluster-URL) und den Datenbanknamen Ihrer Azure Data Explorer-Dienstinstanz an. Geben Sie in das Abfragefeld.create table SAP (name:string, label:string)
ein. - Speichern Sie den Workflow.
- Wählen Sie
Run Trigger
aus, und warten Sie, bis die Ausführung abgeschlossen ist. Stellen Sie sicher, dass für alle drei Komponenten des Workflows grüne Häkchen angezeigt werden. Wenn rote Ausrufezeichen angezeigt werden, wählen Sie die Komponente aus, um weitere Informationen zum Fehler zu erhalten.
Kopieren Sie die HTTP GET URL
aus Dem HTTP-Trigger in Ihren Workflow. Sie benötigen sie beim Konfigurieren von SAP im nächsten Schritt.
Konfigurieren eines lokalen SAP-Systems zum Senden von Daten an Azure Logic Apps
Melden Sie sich bei dem virtuellen SAP-Windows-Computer an
Sobald Sie sich auf dem Desktop des virtuellen Computers befinden, wählen Sie
SAP Logon
ausWählen Sie
Log On
in der oberen linken Ecke der App ausMelden Sie sich mit Ihrem
BPINST
-Benutzernamen und demWelcome1
-Kennwort anSuchen Sie in der oberen rechten Ecke nach
SM59
. Dadurch sollte derConfiguration of RFC Connections
-Bildschirm angezeigt werden.Wählen Sie
Edit
undCreate
oben in der App aus.Geben Sie
LOGICAPP
in das FeldDestination
einWählen Sie in der Dropdownliste
Connection Type
HTTP Connection to external server
ausWählen Sie das grüne Häkchen am unteren Rand des Fensters aus.
Geben Sie
LOGICAPP
im FeldDescription 1
einWählen Sie die Registerkarte
Technical Settings
aus, und füllen Sie das FeldHost
mit derHTTP GET URL
aus der kopierten Logik-App aus (z. B. „prod-51.northeurope.logic.azure.com“). Geben Sie443
inPort
ein. Und geben Sie inPath Prefix
den Rest derHTTP GET URL
ein, beginnend mit/workflows/...
Wählen Sie die Registerkarte
Login & Security
aus.Führen Sie einen Bildlauf nach unten zu
Security Options
durch, und legen SieSSL
aufActive
festWählen Sie
Save
aus.Suchen Sie in der Haupt-App aus Schritt 5 nach
WE21
. Dadurch werden diePorts in IDoc processing
angezeigt.Wählen Sie zunächst den Ordner
XML HTTP
und dannCreate
aus.Geben Sie im Feld
Port
LOGICAPP
einWählen Sie im
RFC destination
LOGICAPP
aus.Wählen Sie
Save
zumGreen Check
ausErstellen Sie ein Partnerprofil für Ihre Azure-Logik-App in Ihrem SAP-System, indem Sie
WE20
aus dem Suchfeld des SAP-Systems eingeben, das denPartner profiles
-Bildschirm anzeigt.Erweitern Sie den Ordner
Partner Profiles
, und wählen Sie den OrdnerPartner Type LS
(Logisches System) aus.Wählen Sie das
S4HCLNT100
-Partnerprofil aus.Wählen Sie die Schaltfläche
Create Outbound Parameter
unterhalb derOutbound
-Tabelle aus.Geben Sie im Dialogfeld
Partner Profiles: Outbound Parameters
INTERNAL_ORDER
fürMessage Type
ein. Geben Sie auf der RegisterkarteOutbound Options
LOGICAPP
fürReceiver port
ein. Wählen Sie das OptionsfeldPass IDoc Immediately
aus. Geben Sie fürBasic type
INTERNAL_ORDER01
ein. Wählen Sie die SchaltflächeSave
aus.
Testen Ihres Workflows von SAP zur Azure-Logik-App
Führen Sie die folgenden Schritte aus, um Ihren Workflow von SAP zur Azure-Logik-App zu testen:
Suchen Sie in der Haupt-App nach
WE19
. Dadurch sollte derTest Tool for IDoc Processing
-Bildschirm angezeigt werden.Wählen Sie
Using message type
aus, und geben SieINTERNAL_ORDER
einWählen Sie
Create
in der oberen linken Ecke des Bildschirms aus.Wählen Sie das Feld
EDICC
aus.Ein
Edit Control Record Fields
Bildschirm sollte geöffnet werden.Geben Sie im
Receiver
-AbschnittPORT
LOGICAPP
,Partner No.
S4HCLNT100
,Part. Type
LS
einGeben Sie im
Sender
-AbschnittPORT
SAPS4H
,Partner No.
S4HCLNT100
,Part. Type
LS
einWählen Sie das grüne Häkchen am unteren Rand des Fensters aus.
Wählen Sie im oberen Bereich des Bildschirms
Standard Outbound Processing
aus.Wählen Sie im Dialogfeld
Outbound Processing of IDoc
das grüne Häkchen aus, um die IDoc-Nachrichtenverarbeitung zu starten.Öffnen Sie den Speicherbrowser Ihres Azure Storage-Kontos, wählen Sie „Dateifreigaben“ aus, und überprüfen Sie, ob im Ordner
sap
eine neueIDoc.xml
-Datei erstellt wurde.Hinweis
Um nach IDoc-Nachrichtenverarbeitungsfehlern zu suchen, geben Sie
WE09
aus dem Suchfeld des SAP-Systems ein, wählen Sie zunächst einen Zeitraum und dann die Schaltflächeexecute
aus. Dadurch wird derIDoc Search for Business Content
-Bildschirm angezeigt, und Sie können jedes IDoc für Verarbeitungsfehler in der angezeigten Tabelle auswählen.
Lokales Microsoft-Datengateway
Microsoft stellt ein lokales Datengateway zum Senden von Daten an lokale SAP-Systeme von Azure Logic Apps bereit.
Hinweis
Um Daten von lokalen SAP-Systemen an Azure Logic Apps in der Cloud zu empfangen, sind der SAP-Connector und das lokale Datengateway nicht erforderlich.
Führen Sie zum Installieren des lokalen Datengateways die folgenden Schritte aus:
Laden Sie das lokale Datengateway hier herunter, und installieren Sie es. Achten Sie besonders auf die Voraussetzungen! Wenn Ihr Azure-Konto beispielsweise Zugriff auf mehrere Azure-Abonnements hat, müssen Sie ein anderes Azure-Konto verwenden, um das Gateway zu installieren und die zugehörige lokale Datengateway-Azure-Ressource zu erstellen. Wenn dies der Fall ist, erstellen Sie eine*n neue*n Benutzer*in in Ihrem Azure Active Directory.
Falls noch nicht installiert, laden Sie die weiterverbreitbaren Dateien von Visual Studio 2010 (Visual C++ 10.0) hierherunter, und installieren Sie sie.
Laden Sie den SAP-Connector für Microsoft .NET 3.0 für Windows x64 hier herunter, und installieren Sie ihn. Der Zugriff auf den SAP-Download für das SAP-Portal ist erforderlich. Wenden Sie sich an den SAP-Support, wenn Sie diesen nicht haben.
Kopieren Sie die vier Bibliotheken „libicudecnumber.dll“, „rscp4n.dll“, „sapnco.dll“ und „sapnco_utils.dll“ vom Installationsspeicherort des SAP-Connector (standardmäßig ist dies
C:\Program Files\SAP\SAP_DotNetConnector3_Net40_x64
) in den Installationsspeicherort des Datengateways (standardmäßig ist diesC:\Program Files\On-premises data gateway
).Starten Sie das Datengateway über das
On-premises data gateway
-Konfigurationstool neu, das im Lieferumfang des Installerpakets des zuvor installierten lokalen Datengateways enthalten ist.Erstellen Sie die Azure-Ressource des lokalen Datengateways in derselben Azure-Region, die während der Installation des Datengateways im vorherigen Schritt ausgewählt wurde, und wählen Sie den Namen Ihres Datengateways unter
Installation Name
aus.Weitere Details zu den Konfigurationsschritten finden Sie hier.
Hinweis
Wenn beim Datengateway oder SAP-Connector Fehler auftreten, können Sie die Debugablaufverfolgung aktivieren, indem Sie diese Schritte ausführen.