Herstellen einer Verbindung mit SAP über Workflows in Azure Logic Apps
Gilt für: Azure Logic Apps (Verbrauch + Standard)
In dieses Schrittanleitung wird gezeigt, wie Sie aus einem Workflow in Azure Logic Apps mithilfe des SAP-Connectors auf Ihren SAP-Server zugreifen. Sie können diese SAP-Connectorvorgänge verwenden, um automatisierte Workflows zu erstellen, die ausgelöst durch Ereignisse in Ihrem SFTP-Server oder in anderen Systemen, ausgeführt werden sowie Aktionen zum Verwalten von Ressourcen auf Ihrem SAP-Server ausführen.
Sowohl Standard- als auch Verbrauchs-Logik-App-Workflows verfügen über den verwalteten SAP-Connector, der in Azure mit mehreren Mandanten gehostet und ausgeführt wird. Standardworkflows bieten auch den integrierten SAP-Connector, der in Azure Logic Apps mit einem einzelnen Mandanten gehostet und ausgeführt wird. Weitere Informationen finden Sie in der Connector-spezifischen Dokumentation.
SAP-Kompatibilität
Der SAP-Connector ist mit den folgenden Typen von SAP-Systemen kompatibel:
Lokale und cloudbasierte Hana-basierte SAP-Systeme wie S/4 HANA.
Klassische lokale SAP-Systeme wie R/3 und ECC.
SAP muss die SAP-Systemversion, die Sie verbinden möchten, unterstützen. Andernfalls können Probleme, die auftreten können, möglicherweise nicht gelöst werden. Weitere Informationen zu SAP-Systemversionen und zur Wartung finden Sie in der SAP-Produktverfügbarkeitsmatrix (SAP Product Availability Matrix, PAM).
Der SAP-Connector unterstützt die folgenden Nachrichten- und Datenintegrationstypen aus SAP NetWeaver-basierten Systemen:
IDoc (Intermediate Document)
BAPI (Business Application Programming Interface)
RFC (Remote Function Call) und tRFC (Transactional RFC)
Der SAP-Connector verwendet die SAP-NCo-Bibliothek (.NET-Connector).
Um die SAP-Connectorvorgänge verwenden zu können, müssen Sie zunächst Ihre Verbindung authentifizieren und haben dabei die folgenden Optionen:
Sie können einen Benutzernamen und ein Kennwort angeben.
Der SAP-Connector unterstützt die Authentifizierung über SAP Secure Network Communications (SNC).
Sie können einmaliges Anmelden (Single Sign-on, SSO) mit SNC für SAP NetWeaver verwenden oder für zusätzliche Sicherheit Funktionen externer Produkte. Wenn Sie SNC verwenden möchten, prüfen Sie die Voraussetzungen für SNC.
Technische Referenz für den Connector
Der SAP-Connector hat verschiedene Versionen, die auf dem Typ der logischen Anwendung und der Hostumgebung basieren.
Logik-App | Environment | Connector-Version |
---|---|---|
Verbrauch | Azure Logic Apps mit mehreren Mandanten | Verwalteter Connector, der im Connectorkatalog unter Runtime>Freigegeben angezeigt wird. Weitere Informationen finden Sie in der folgenden Dokumentation: - Referenz zum verwalteten SAP-Connector - Verwaltete Connectors in Azure Logic Apps |
Standard | Einzelmandanten-Azure Logic Apps und App Service-Umgebung v3 (nur Windows-Pläne) | Verwalteter Connector, der im Connectorkatalog unter Runtime>Freigegeben erscheint, und der integrierte Connector, der im Connectorkatalog unter Runtime>In-App erscheint wird und auf einem Dienstanbieter basiert. Der integrierte Connector kann ohne ein lokales Datengateway direkt auf virtuelle Azure-Netzwerke mit einer Verbindungszeichenfolge zugreifen. Weitere Informationen finden Sie in der folgenden Dokumentation: - Referenz zum verwalteten SAP-Connector - Referenz zum integrierten SAP-Connector - Verwaltete Connectors in Azure Logic Apps - Integrierte Connectors in Azure Logic Apps |
Unterschiede zwischen Connectors
Der integrierte SAP-Connector unterscheidet sich auf folgende Weise erheblich vom verwalteten SAP-Connector:
Für lokale Verbindungen ist das lokale Datengateway nicht erforderlich.
Stattdessen kommuniziert der integrierte SAP-Connector direkt mit Ihrem SAP-Server im integrierten virtuellen Netzwerk, wodurch Hops, Wartezeit und Fehlerpunkte für ein Netzwerkgateway vermieden werden. Stellen Sie sicher, dass Sie die nicht weiterverteilbaren SAP-Clientbibliotheken mit Ihrer Logik-App-Workflowanwendung hochladen oder bereitstellen. Weitere Informationen finden Sie unter Voraussetzungen in diesem Handbuch.
Nutzdatengrößen bis zu 100 MB sind unterstützt, sodass Sie keinen Blob-URI für große Anforderungen verwenden müssen.
Spezifische Aktionen sind für BAPI aufrufen, RFC aufrufen und IDoc senden verfügbar. Diese dedizierten Aktionen bieten eine bessere Erfahrung für zustandsbehaftete BAPIs, RFC-Transaktionen und IDoc-Deduplizierung und verwenden nicht das ältere SOAP-Messagingmodell von Windows Communication Foundation (WCF).
Die Aktion BAPI aufrufen enthält bis zu zwei Antworten mit dem zurückgegebenen JSON-Code, der XML-Antwort von der aufgerufenen BAPI, und auch die BAPI-Commit- oder BAPI-Rollbackantwort, wenn Sie den automatischen Commit verwenden. Diese Funktionalität behebt das Problem mit dem verwalteten SAP-Connector, bei dem das Ergebnis des automatischen Commits im Hintergrund bleibt und nur über Protokolle beobachtet werden kann.
Längeres Timeout von fünf Minuten im Vergleich zu verwaltetem Connector
Der integrierte SAP-Connector verwendet nicht die freigegebene oder globale Connectorinfrastruktur. Dies bedeutet, dass Timeouts 5 Minuten dauern im Vergleich zum verwalteten SAP-Connector (zwei Minuten). Zeitintensive Anforderungen funktionieren, ohne dass Sie das auf Webhook basierende zeitintensive Anforderungsaktionsmuster implementieren müssen.
Standardmäßig sind die integrierten SAP-Connectorvorgänge zustandslos. Sie können jedoch den zustandsbehafteten Modus (Affinität) für diese Vorgänge aktivieren.
Im zustandsbehafteten Modus unterstützt der integrierte SAP-Connector Konfigurationen für Hochverfügbarkeit und horizontale Skalierung. Im Vergleich dazu unterliegt der verwaltete SAP-Connector Einschränkungen hinsichtlich des lokalen Datengateways, das auf eine einzelne Instanz für Trigger und für Aktionen für Cluster nur im Failovermodus beschränkt sind. Weitere Informationen finden Sie unter verwalteter SAP-Connector – Bekannte Probleme und Einschränkungen.
Standard-Logik-App-Workflows erfordern und verwenden die SAP NCo 3.1-Clientbibliothek, nicht die SAP NCo 3.0-Version. Weitere Informationen finden Sie unter Voraussetzungen.
Standard-Logik-App-Workflows bieten Anwendungseinstellungen, in denen Sie eine persönliche Sicherheitsumgebung (Personal Security Environment, PSE) und ein PSE-Kennwort angeben können.
Diese Änderung verhindert, dass Sie mehrere PSE-Dateien hochladen können, da dies nicht unterstützt wird und zu SAP-Verbindungsfehlern führt. In Verbrauchs-Logik-App-Workflows können Sie diese Werte mit dem verwalteten SAP-Connector über Verbindungsparameter angeben, wodurch Sie mehrere PSE-Dateien hochladen konnten, was nicht unterstützt wird und zu SAP-Verbindungsfehlern führt.
Aktion Schema generieren
Sie können aus mehreren Vorgangstypen wie BAPI, IDoc, RFC und tRFC auswählen, verglichen mit der gleichen Aktion im verwalteten SAP-Connector, der den SapActionUris-Parameter und eine Dateisystem-Auswahlerfahrung verwendet.
Sie können einen Parameternamen direkt als benutzerdefinierten Wert angeben. Beispielsweise können Sie den Parameter RFC-Name aus der Aktion RFC aufrufen angeben. Im Vergleich dazu mussten Sie im verwalteten SAP-Connector einen komplexen Aktions-URI-Parameternamen angeben.
Diese Aktion unterstützt entwurfsbedingt nicht das Generieren mehrerer Schemas für RFCs, BAPIs oder IDocs in einer einzelnen Aktionsausführung, was vom verwalteten SAP-Connector unterstützt wird. Diese Funktionalitätsänderung verhindert jetzt Versuche, große Mengen von Inhalten in einem einzigen Aufruf zu senden.
Connectorparameter
Neben einfachen Zeichenfolgen- und Zahleneingaben werden vom SAP-Connector auch die folgenden Tabellenparameter (Type=ITAB
-Eingaben) akzeptiert:
- Direktionale Tabellenparameter (Ein- und Ausgabe) für ältere SAP-Releases
- Parameteränderungen, welche die direktionalen Tabellenparameter bei neueren SAP-Releases ersetzen.
- Hierarchische Tabellenparameter
Bekannte Probleme und Einschränkungen
SAP-verwalteter Connector
Der SAP-Connector unterstützt derzeit keine SAP-Router-Zeichenfolgen. Das lokale Datengateway muss in einem virtuellen Netzwerk vorhanden sein, in dem das Gateway direkt das SAP-System erreichen kann, das Sie verbinden möchten.
Im allgemeinen unterstützt der SAP-Trigger keine Datengatewaycluster. In einigen Failoverfällen unterscheidet sich der Datengatewayknoten, der mit dem SAP-System kommuniziert, von dem aktiven Knoten. Dies führt zu unerwartetem Verhalten.
In Szenarien für das Senden von Nachrichten werden Datengatewaycluster im Failovermodus unterstützt.
Datengatewaycluster im Lastenausgleichsmodus werden von zustandsbehafteten SAP-Aktionen nicht unterstützt. Zustandsbehaftete Kommunikationen müssen auf demselben Datengatewayclusterknoten verbleiben. Verwenden Sie das Datengateway entweder im Nicht-Clustermodus oder in einem Cluster, der nur für Failover eingerichtet ist. Dabei handelt es sich z. B. um die folgenden Aktionen:
- Alle Aktionen, die einen Sitzungs-ID-Wert angeben
- [BAPI] Vorgang committen
- [BAPI] Rollback für Transaktion ausführen
- [BAPI - RFC] Stateful-Sitzung schließen
- [BAPI - RFC] Zustandsbehaftete Sitzung erstellen
In der Aktion [BAPI] Aufrufmethode in SAP werden die BAPI-Änderungen von der Auto-Commit-Funktion nicht übernommen, wenn mindestens eine Warnung imCallBapiResponse-Objekt vorhanden ist, das von der Aktion zurückgegeben wird. Führen Sie die folgenden Schritte aus, um BAPI-Änderungen trotz Warnungen zu committen:
- Erstellen Sie eine Sitzung explizit mithilfe der Aktion [BAPI – RFC] Zustandsbehaftete Sitzung erstellen.
- Deaktivieren Sie in der Aktion [BAPI] Aufrufmethode in SAP die Auto-Commit-Funktion.
- Rufen Sie stattdessen die Aktion [BAPI] Committransaktion auf.
IP-basierte Verbindungen mit SAP Message Server (Konfiguration mit Lastenausgleich)
Wenn Sie eine IP-Adresse angeben, um sich mit einem SAP Message Server zu verbinden, z. B. mit einem Lastenausgleicher, kann die Verbindung dennoch mit einer Fehlermeldung wie "hostname SAPDBSERVER01.example.com unknown" fehlschlagen. Der Nachrichtenserver weist den SAP Connector an, einen Hostnamen für die Verbindung mit dem Back-End SAP Anwendungsserver oder dem Server hinter dem Lastenausgleich zu verwenden. Wenn der Hostname von DNS nicht aufgelöst werden kann, schlägt die Verbindung fehl.
Für dieses Problem gibt es die folgenden Problemumgehungen oder Lösungen:
Stellen Sie sicher, dass der Client, der die Verbindung herstellt, z. B. der Computer mit dem lokalen Datengateway für den SAP-Connector, die vom Nachrichtenserver zurückgegebenen Hostnamen auflösen kann.
Ändern Sie in der Transaktion RZ11 die SAP-Einstellung ms/lg_with_hostname=0 oder fügen Sie sie hinzu.
Problemkontext oder Hintergrund
SAP hat den .NET-Connector (NCo) auf Version 3.1 aktualisiert. Dabei wurde die Art und Weise geändert, wie der Connector Verbindungen zu Back-End-Servern von Nachrichtenservern anfordert. Der Connector verwendet jetzt eine neue API für die Auflösung des Anwendungsservers durch den Nachrichtenserver, es sei denn, Sie zwingen den Connector durch die Einstellung ms/lg_with_hostname=0` zur Verwendung der alten API. Weitere Informationen finden Sie im SAP KB-Artikel 3305039 – SMLG IP-Adresseinstellung wird bei der Anmeldung in der Logon-Gruppe nicht berücksichtigt.
Voraussetzungen
Ein Azure-Konto und ein Azure-Abonnement. Wenn Sie noch kein Azure-Abonnement haben, melden Sie sich für ein kostenloses Azure-Konto an.
Der SAP-Anwendungsserver oder SAP-Nachrichtenserver, auf den Sie aus Azure Logic Apps zugreifen möchten.
Richten Sie Ihren SAP-Server und das zugehörige Benutzerkonto so ein, dass RFC verwendet werden kann.
Weitere Informationen – z. B. die unterstützten Benutzerkontentypen und die mindestens erforderliche Autorisierung für jeden Aktionstyp (RFC, BAPI, IDoc) – finden Sie im folgenden SAP-Hinweis: 460089 – Mindestens erforderliche Autorisierungsprofile für externe RFC-Programme.
Ihr SAP-Benutzerkonto benötigt für die folgenden Vorgänge Zugriff auf die Funktionsgruppe
RFC_METADATA
und die entsprechenden Funktionsmodule:Operations Zugriff auf Funktionsmodule RFC-Aktionen RFC_GROUP_SEARCH
undDD_LANGU_TO_ISOLA
BAPI-Aktionen BAPI_TRANSACTION_COMMIT
,BAPI_TRANSACTION_ROLLBACK
,RPY_BOR_TREE_INIT
,SWO_QUERY_METHODS
undSWO_QUERY_API_METHODS
IDoc-Aktionen IDOCTYPES_LIST_WITH_MESSAGES
,IDOCTYPES_FOR_MESTYPE_READ
,INBOUND_IDOCS_FOR_TID
,OUTBOUND_IDOCS_FOR_TID
,GET_STATUS_FROM_IDOCNR
undIDOC_RECORD_READ
Aktion Lesen der SAP-Tabelle Entweder RFC BBP_RFC_READ_TABLE
oderRFC_READ_TABLE
Gewähren Sie Ihrer SAP-Verbindung strikten Mindestzugriff auf den SAP-Server RFC_METADATA_GET
undRFC_METADATA_GET_TIMESTAMP
Der Logic Apps-Workflow, aus dem Sie auf Ihren SAP-Server zugreifen möchten.
Einen Verbrauchsworkflow in Azure Logic Apps mit mehreren Mandanten Sie unter Voraussetzungen für mehrere Mandanten.
Einen Standardworkflow in Azure Logic Apps mit einem einzelnen Mandanten finden Sie unter Voraussetzungen für einen einzelnen Mandanten.
Standardmäßig sind die integrierten SAP-Connectorvorgänge zustandslos. Um diese Vorgänge im zustandsbehafteten Modus auszuführen, lesen Sie Aktivieren des zustandsbehafteten Modus für zustandslose integrierte Connectors.
Um entweder den von SAP verwalteten oder den eingebauten Connectortrigger mit dem Namen Wenn eine Nachricht empfangen wird zu verwenden, führen Sie die folgenden Aufgaben aus:
Richten Sie Ihre SAP-Gatewaysicherheitsberechtigungen oder die Zugriffssteuerungsliste (Access Control List, ACL) ein. Öffnen Sie im Dialogfeld Gateway-Monitor (T-Code SMGW), in dem die Dateien secinfo und reginfo angezeigt werden, das Menü Springen, und wählen Sie Expertenfunktionen>Externe Sicherheit>Pflege ACL Dateien aus.
Folgende Berechtigungseinstellung ist erforderlich:
P TP=LOGICAPP HOST=<on-premises-gateway-server-IP-address> ACCESS=*
Die Zeile weist das folgende Format auf:
P TP=<trading-partner-identifier-(program-name)-or-*-for-all-partners> HOST=<comma-separated-list-with-external-host-IP-or-network-names-that-can-register-the-program> ACCESS=<*-for-all-permissions-or-a-comma-separated-list-of-permissions>
Wenn Sie die SAP-Gatewaysicherheitsberechtigungen nicht konfigurieren, erhalten Sie möglicherweise den folgenden Fehler:
Registrierung von tp Microsoft.PowerBI.EnterpriseGateway < vom Host Hostnamen> nicht zulässig
Weitere Informationen finden Sie im SAP-Hinweis 1850230 – GW: „Registrierung der tp <Programm-ID> unzulässig“.
Richten Sie die Sicherheitsprotokollierung für Ihr SAP-Gateway ein, die Ihnen bei der Suche nach Problemen mit der Zugriffssteuerungsliste hilft. Weitere Informationen finden Sie im SAP-Hilfethema zum Einrichten der Gatewayprotokollierung.
Erstellen Sie im Dialogfeld Konfiguration von RFC-Verbindungen (T-Code: SM59) eine RFC-Verbindung des Typs TCP/IP. Stellen Sie sicher, dass der Aktivierungstyp auf Registriertes Serverprogramm festgelegt ist. Legen Sie den Wert Kommunikationstyp mit Zielsystem der RFC-Verbindung auf Unicode fest.
Wenn Sie diesen SAP-Trigger mit auf FlatFile festgelegtem IDOC Format-Parameter zusammen mit der Flatfile-Decodierungsaktion verwenden, müssen Sie die Eigenschaft
early_terminate_optional_fields
in Ihrem Flatfileschema verwenden, indem Sie den Wert auftrue
festlegen.Diese Anforderung besteht, weil der von SAP im tRFC-Aufruf
IDOC_INBOUND_ASYNCHRONOUS
gesendete IDoc-Flatfile-Datensatz nicht auf die volle SDATA-Feldlänge aufgefüllt ist. Azure Logic Apps stellt die ursprünglichen IDoc-Flatfiledaten ohne Auffüllung bereit, so wie sie von SAP empfangen wurden. Wenn Sie diesen SAP-Trigger mit der Flatfile-Decodierungsaktion kombinieren, muss das Schema übereinstimmen, das für die Aktion bereitgestellt wird.In Verbrauchs- und Standardworkflows verwendet der von SAP verwaltete Trigger mit dem Namen Wenn eine Nachricht empfangen wird denselben URI-Speicherort, um ein Webhookabonnement zu erneuern oder zu kündigen. Der Erneuerungsvorgang verwendet die HTTP-Methode
PATCH
, während der Abmeldevorgang die HTTP-MethodeDELETE
verwendet. Dieses Verhalten kann dazu führen, dass ein Verlängerungsvorgang im Verlauf Ihres Triggers als Abmeldevorgang angezeigt wird, doch der Vorgang ist immer noch eine Verlängerung, weil der TriggerPATCH
als HTTP-Methode verwendet, nichtDELETE
.In Standardworkflows verwendet der integrierte SAP-Trigger mit dem Namen Wenn eine Nachricht empfangen wird stattdessen den Azure Functions-Trigger und zeigt nur die tatsächlichen Rückrufe von SAP an.
Für den SAP-integrierten Connectortrigger Wenn eine Nachricht empfangen wird müssen Sie die virtuelle Netzwerkintegration und die privaten Ports aktivieren. Befolgen Sie dazu den Artikel Aktivieren von Service Bus und SAP-integrierten Connectors für zustandsbehaftete Logic Apps in Standard. Um den Trigger auszulösen, können Sie den Workflow auch in Visual Studio Code ausführen. Setupanforderungen für Visual Studio Code und weitere Informationen finden Sie unter Erstellen eines Standard-Logik-App-Workflows in Azure Logic Apps mit einem einzelnen Mandanten mithilfe von Visual Studio Code. Sie müssen auch die folgenden Umgebungsvariablen auf dem Computer einrichten, auf dem Sie Visual Studio Code installieren:
- WEBSITE_PRIVATE_IP: Legen Sie den Wert für diese Umgebungsvariable auf 127.0.0.1 als localhost-Adresse fest.
- WEBSITE_PRIVATE_PORTS: Legen Sie diesen Umgebungsvariablenwert auf zwei freie und nutzbare Ports auf Ihrem lokalen Computer fest, und trennen Sie die Werte durch ein Komma (,), z. B. 8080,8088.
Der Nachrichteninhalt, der an Ihren SAP-Server gesendet werden soll, z. B. eine IDoc-Beispieldatei. Diese Inhalte müssen im XML-Format vorliegen und den Namespace der SAP-Aktion enthalten, die Sie verwenden möchten. Sie können IDocs mit einem Flatfile-Schema senden, indem Sie sie mit einem XML-Umschlag umschließen.
Wenn Sie IDocs aus Ihrem Logik-App-Workflow an SAP senden möchten, ändern Sie den SAP-Verarbeitungsmodus von der Standardeinstellung Trigger immediately in Trigger by background program, sodass kein Timeout für den Workflow auftritt.
Wenn Ihr SAP-System ausgelastet ist, etwa wenn Ihr Workflow einen ganzen Batch von IDocs an SAP sendet, tritt für die in die Warteschlange eingereihten IDoc-Aufrufe ein Timeout auf. Der Standardverarbeitungsmodus bewirkt, dass Ihr SAP-System den eingehenden Aufruf für die IDoc-Übertragung blockiert, bis die Verarbeitung eines IDoc abgeschlossen ist. In Azure Logic Apps gilt für Workflowaktionen standardmäßig ein Timeout von zwei Minuten.
Führen Sie die folgenden Schritte aus, um den Verarbeitungsmodus Ihres SAP-Systems zu ändern:
Suchen Sie in SAP das SAP-Partnerprofil, und öffnen Sie die Einstellungen Partner profiles. Sie können den Transaktionscode (T-Code) we20 mit dem Präfix /n verwenden.
Ändern Sie auf der Registerkarte Inbound options unter Processing by Function Module die Einstellung von Trigger immediately in Trigger by background program.
Mit der Einstellung Trigger by background program kann der zugrunde liegende tRFC-Aufruf für den IDoc-Datentransport (
IDOC_INBOUND_ASYNCHRONOUS
) sofort abgeschlossen werden, anstatt die Verbindung zu blockieren, bis die IDoc-Verarbeitung abgeschlossen ist. Diese Einstellung funktioniert jedoch nur, wenn das IDoc nicht das Segment zum Überschreiben des Express-Verhaltens enthält, wie im SAP-Supporthinweis Nr. 1777090 beschrieben: IDocs are processed immediately despite having the "Trigger by background program" option selected in WE20 – SAP for Me (IDocs werden sofort verarbeitet, obwohl die Option „Trigger by background program“ in WE20 aktiviert ist.).
Weitere Informationen finden Sie in den folgenden Ressourcen:
- SAP-Supporthinweis Nr. 1845390: Poor performance when posting IDocs with report RBDAPP01 - SAP for Me (Schlechte Leistung beim Posten von IDocs mit Bericht RBDAPP01 – SAP for Me)
- SAP-Supporthinweis Nr. 1333417: Performance problems when processing IDocs immediately - SAP for Me (Leistungsprobleme bei der sofortigen Verarbeitung von IDocs – SAP for ME)
Voraussetzungen für Netzwerkkonnektivität
Das SAP-System erfordert Netzwerkkonnektivität vom Host der SAP .NET Connector (NCo)-Bibliothek:
Für Verbrauchs-Logik-App-Workflows in Azure Logic Apps mit mehreren Mandanten hostet das lokale Datengateway die SAP .NET Connector (NCo)-Bibliothek. Wenn Sie einen lokalen Datengatewaycluster verwenden, ist für alle Knoten des Clusters eine Netzwerkverbindung mit dem SAP-System erforderlich.
Bei Standard-Logik-App-Workflows in Azure Logic Apps mit einem Mandanten hostet die Logik-App-Ressource die SAP .NET Connector (NCo)-Bibliothek. Daher muss die Logik-App-Ressource selbst die Integration virtueller Netzwerke aktivieren, und dieses virtuelle Netzwerk muss über Netzwerkkonnektivität mit dem SAP-System verfügen.
Die für das SAP-System erforderliche Netzwerkkonnektivität umfasst die folgenden Server und Dienste:
SAP-Anwendungsserver, Dispatcherdienst (für alle Anmeldetypen)
Ihr SAP-System kann mehrere SAP-Anwendungsserver enthalten. Der Host der SAP .NET Connector (NCo)-Bibliothek benötigt Zugriff auf jeden Server und seine Dienste.
SAP-Nachrichtenserver, Nachrichtendienst (für Anmeldetyp Gruppe)
Der Nachrichtenserver und der Dienst werden an einen oder mehrere Dispatcherdienste des Anwendungsservers umgeleitet. Der Host der SAP .NET Connector (NCo)-Bibliothek benötigt Zugriff auf jeden Server und seine Dienste.
SAP-Gatewayserver, Gatewaydienst
SAP-Gatewayserver, sicherer Gatewaydienst
Die für das SAP-System erforderliche Netzwerkkonnektivität umfasst auch diesen Server und Dienst für die Verwendung mit Secure Network Communications (SNC).
Die Umleitung von Anforderungen von Anwendungsserver und Dispatcherdienst zu Gatewayserver und Gatewaydienst erfolgt automatisch innerhalb der SAP .NET Connector (NCo)-Bibliothek. Diese Umleitung erfolgt auch dann, wenn in den Verbindungsparametern nur die Dispatcherdienstinformationen des Anwendungsservers bereitgestellt werden.
Wenn Sie vor Ihrem SAP-System einen Lastenausgleich verwenden, müssen Sie alle Dienste an die entsprechenden Server umleiten. Weitere Informationen zu SAP-Diensten und -Ports finden Sie unter TCP/IP-Ports aller SAP-Produkte.
Hinweis
Stellen Sie sicher, dass Sie die Netzwerkkonnektivität über den Host der SAP .NET Connector (NCo)-Bibliothek aktiviert haben und dass die erforderlichen Ports für Firewalls und Netzwerksicherheitsgruppen geöffnet sind. Andernfalls erhalten Sie von der Komponente NI (Netzwerkschnittstelle) Fehler wie Partner nicht erreicht und Fehlertext wie WSAECONNREFUSED: Verbindung abgelehnt.
Voraussetzungen für die SAP-NCo-Clientbibliothek
Um den SAP-Connector zu verwenden, müssen Sie die SAP-Connector NCo-Clientbibliothek für Microsoft .NET 3.1 installieren. Die folgende Liste beschreibt die Voraussetzungen für die SAP NCo-Clientbibliothek, basierend auf dem Workflow, in dem Sie den SAP-Connector verwenden:
Version:
Stellen Sie sicher, dass Sie für Verbrauchs-Logik-App-Workflows, die das lokale Daten-Gateway verwenden, die neueste 64-Bit-Version SAP-Connector für Microsoft .NET 3.1.3.0 für Windows 64bit (x64) installieren. Das lokale Datengateway kann nur unter 64-Bit-Systemen ausgeführt werden. Die Installation der nicht unterstützten 32-Bit-Version führt zu einem Fehler „Ungültiges Image“.
Für Standard-Logik-App-Workflows können Sie die neueste 64-Bit- oder 32-Bit-Version für SAP-Connector (NCo 3.1) für Microsoft .NET 3.1.3.0, kompiliert mit .NET Framework 4.6.2 installieren. Stellen Sie jedoch sicher, dass Sie die Version installieren, die mit der Konfiguration in Ihrer Standard-Logik-App-Ressource übereinstimmt. Um die von Ihrer Logik-App verwendete Version zu überprüfen, führen Sie diese Schritte aus:
Öffnen Sie im Azure-Portal Ihre Ressource vom Typ „Logic App (Standard)“.
Wählen Sie im Logik-App-Menü unter EinstellungenKonfiguration aus.
Wählen Sie auf der Seite Konfiguration die Registerkarte Allgemeine Einstellungen aus. Überprüfen Sie unter Plattformeinstellungen, ob der Wert für die Plattform auf 64 Bit oder 32 Bit eingestellt ist.
Stellen Sie sicher, dass Sie die Version von SAP-Connector (NCo 3.1) für Microsoft .NET 3.1.3.0 kompiliert mit .NET Framework 4.6.2 installieren, die Ihrer Plattformkonfiguration entspricht.
Kopieren Sie die Assemblydateien (DLL) aus dem Standardinstallationsordner der Clientbibliothek gemäß Ihrem Szenario wie folgt an einen anderen Speicherort. Wenn Sie optional nur den verwalteten SAP-Connector verwenden, wählen Sie beim Installieren der SAP-NCo-Clientbibliothek die Option Registrierung des globalen Assemblycache aus. Der integrierte SAP-Connector unterstützt derzeit keine GAC-Registrierung.
Kopieren Sie für einen Verbrauchsworkflow, der in Azure Logic Apps mit mehreren Mandanten ausgeführt wird und Ihr lokales Datengateway verwendet, die folgenden Assemblydateien (DLL) in den Installationsordner des lokalen Datengateways, z. B. C:\Programme\Lokales Datengateway. Die Clientbibliothek SAP NCo 3.0 enthält die folgenden Assemblys:
- libicudecnumber.dll
- rscp4n.dll
- sapnco.dll
- sapnco_utils.dll
Überprüfen Sie, ob Sie die Assemblydateien in den Installationsordner des Datengateways kopiert haben. Andernfalls schlägt Ihre SAP-Verbindung möglicherweise mit der folgenden Fehlermeldung fehl: Überprüfen Sie Ihre Kontoinformationen und/oder Berechtigungen, und versuchen Sie es erneut. Weitere Probleme können Sie mithilfe der Protokollanzeige für .NET-Assemblybindungen behandeln. Mit diesem Tool können Sie überprüfen, ob sich Ihre Assemblydateien am richtigen Speicherort befinden.
Kopieren Sie für Standardworkflows die folgenden Assemblydateien (DLL) an einen Speicherort, von dem Sie sie in Ihre Logik-App-Ressource oder Ihr Projekt, wo Sie Ihren Workflow erstellen, hochladen können. Führen Sie den Kopiervorgang entweder im Azure-Portal oder lokal in Visual Studio Code aus. Die Clientbibliothek SAP NCo 3.1 enthält die folgenden Assemblys:
- rscp4n.dll
- sapnco.dll
- sapnco_utils.dll
Zwischen der SAP-NCo-Clientbibliothek, dem .NET Framework, der .NET-Runtime und dem Datengateway bestehen die folgenden Beziehungen:
Sowohl der SAP-Adapter von Microsoft als auch der Gatewayhostdienst verwenden .NET Framework 4.7.2.
Der SAP .NET-Connector für .NET Framework 4.0 funktioniert mit Prozessen, die die .NET Runtime 4.0 bis 4.8 verwenden.
Der SAP .NET-Connector für .NET Framework 2.0 funktioniert mit Prozessen, die die .NET-Laufzeit 2.0 bis 3.5 verwenden. Er kann jedoch nicht mehr mit dem neuesten Gateway verwendet werden.
SNC-Voraussetzungen
Für Verbrauchsworkflows in Azure Logic Apps mit mehreren Mandanten, die das lokale Datengateway und optional SNC verwenden, müssen Sie auch die folgenden Einstellungen konfigurieren.
Die Version Ihrer SNC-Bibliothek und die zugehörigen Abhängigkeiten müssen mit Ihrer SAP-Umgebung kompatibel sein. Sie können das lokale Datengateway und die Datengatewayprotokolle auch verwenden, um etwaige Probleme mit der Bibliothekskompatibilität zu behandeln.
Stellen Sie sicher, dass Sie die folgenden Assemblydateien (DLL) aus der Clientbibliothek SAP NCo 3.0 in den Installationsordner des lokalen Datengateways kopiert haben, z. B. C:\Programme\Lokales Datengateway.
- libicudecnumber.dll
- rscp4n.dll
- sapnco.dll
- sapnco_utils.dll
Für das Hilfsprogramm SAPGENPSE müssen Sie speziell sapgenpse.exeverwenden.
Wenn Sie eine Persönliche Sicherheitsumgebung (PSE) mit Ihrer Verbindung bereitstellen, müssen Sie die PSE und SECUDIR für Ihr lokales Datengateway nicht kopieren und einrichten.
Wenn Sie SNC über ein externes Sicherheitsprodukt wie sapseculib, Kerberos oder NTLM aktivieren, stellen Sie sicher, dass die SNC-Bibliothek auf demselben Computer wie Ihre Datengatewayinstallation vorhanden ist. Kopieren Sie für diese Aufgabe die Binärdateien der SNC-Bibliothek in denselben Ordner wie die Datengatewayinstallation auf Ihrem lokalen Computer, z. B. C:\Programme\Lokales Datengateway.
Hinweis
Legen Sie auf dem Computer mit der Datengatewayinstallation und der SNC-Bibliothek nicht die Umgebungsvariablen für SNC_LIB und SNC_LIB_64 fest. Anderenfalls haben diese Variablen Vorrang vor dem Wert der SNC-Bibliothek, der über den Connector übergeben wird.
Stellen Sie bei Verwendung von SNC mit einmaligem Anmelden (Single Sign-on, SSO) sicher, dass der Datengatewaydienst als Benutzender ausgeführt wird, der dem SAP-Benutzenden zugeordnet ist. Wählen Sie zum Ändern des Standardkontos für das Gateway-Dienstkonto die Option Konto ändern und geben Sie die Benutzeranmeldeinformationen ein.
Weitere Informationen zum Aktivieren von SNC finden Sie unter Aktivieren von Secure Network Communications (SNC).
Voraussetzungen für die Azure Logic Apps-Umgebung
Für einen Verbrauchsworkflow in Azure Logic Apps mit mehreren Mandanten kann der verwaltete SAP-Connector über ein lokales Datengateway in SAP-Systeme integriert werden. Ein Beispiel: In Szenarien, in denen eine Nachricht von Ihrem Workflow an ein SAP-System gesendet wird, agiert das Datengateway als RFC-Client und leitet die von Ihrem Workflow erhaltenen Anforderungen an SAP weiter. In Szenarien, in denen Ihr Workflow eine Nachricht von SAP empfängt, fungiert das Datengateway wiederum als RFC-Server, der Anforderungen von SAP empfängt und an Ihren Workflow weiterleitet.
Auf einem Hostcomputer oder einem virtuellen Computer, der sich in demselben virtuellen Netzwerk befindet wie das SAP-System, zu dem Sie eine Verbindung herstellen möchten, sollten Sie das lokale Datengateway herunterladen und es installieren.
Das Gateway hilft Ihnen, sicher auf lokale Daten und Ressourcen zuzugreifen. Stellen Sie sicher, dass Sie eine unterstützte Version des Gateways verwenden. Führen Sie bei einem Problem mit dem Gateway ein Upgrade auf die neueste Version durch, die möglicherweise Updates zur Behebung des Problems enthält.
Erstellen Sie eine Azure-Gatewayressource für Ihre lokale Datengatewayinstalllation im Azure-Portal.
Laden Sie die neueste SAP-NCo-Clientbibliothek herunter, und installieren Sie sie auf demselben Computer, auf dem sich bereits Ihre lokale Datengatewayinstallation befindet.
Konfigurieren Sie für den Hostcomputer mit ihrer lokalen Datengatewayinstallation die Netzwerkhostnamen und die Auflösung der Dienstnamen.
Wenn Sie planen, die Host- oder Dienstnamen für die Verbindung aus Azure Logic Apps zu verwenden, müssen Sie für jede SAP-Anwendung, jede Nachricht und jeden Gatewayserver mit ihren jeweiligen Diensten die Namensauflösung einrichten:
Richten Sie die Auflösung des Netzwerk-Hostnamens in der Datei %windir%\System32\drivers\etc\hosts oder in dem DNS-Server ein, der für den Hostcomputer Ihrer lokalen Datengatewayinstallation verfügbar ist.
Richten Sie die Auflösung des Dienstnamens in der Datei %windir%\System32\drivers\etc\services ein.
Wenn Sie nicht planen, Netzwerk-Hostnamen oder Dienstnamen für die Verbindung zu verwenden, können Sie stattdessen Host-IP-Adressen und Dienstportnummern verwenden.
Verfügen Sie noch nicht über einen DNS-Eintrag für Ihr SAP-System? Hier sehen Sie einen Beispieleintrag für die hosts-Datei:
10.0.1.9 sapserver # SAP single-instance system host IP by simple computer name 10.0.1.9 sapserver.contoso.com # SAP single-instance system host IP by fully qualified DNS name
Die folgende Liste zeigt einen Beispielsatz von Einträgen für die Dienstdateien:
sapdp00 3200/tcp # SAP system instance 00 dialog (application) service port sapgw00 3300/tcp # SAP system instance 00 gateway service port sapmsDV6 3601/tcp # SAP system ID DV6 message service port
Aktivieren der Secure Network Communications (SNC)
Für einen Verbrauchsworkflow, der in Azure Logic Apps mit mehreren Mandanten ausgeführt wird, können Sie SNC für die Authentifizierung aktivieren. Dies gilt nur, wenn Sie das Datengateway verwenden. Bevor Sie beginnen, stellen Sie sicher, dass Sie alle erforderlichen Voraussetzungen und Voraussetzungen für SNC erfüllt haben.
Öffnen Sie im Azure-Portal Ihre Verbrauchslogik-App und deren Workflow im Workflow-Designer.
Fügen Sie einen Vorgang für einen verwalteten SAP-Connector hinzu, oder bearbeiten Sie diesen.
Geben Sie im Feld „Informationen zur SAP-Verbindung“ die folgenden erforderlichen Informationen an. Der von Ihnen ausgewählte Authentifizierungstyp ändert die verfügbaren Optionen.
Hinweis
Die Felder SAP-Benutzername und SAP-Kennwort sind optional. Wenn Sie keinen Benutzernamen und kein Kennwort angeben, verwendet der Connector zur Authentifizierung das Clientzertifikat, das in einem späteren Schritt bereitgestellt wird.
Geben Sie im Feld „Informationen zur SAP-Verbindung“ die folgenden erforderlichen Informationen an, um SNC zu aktivieren:
Parameter BESCHREIBUNG SNC verwenden Aktivieren Sie das Kontrollkästchen. SNC-Bibliothek Geben Sie einen der folgenden Wert ein:
– Den Namen für Ihre SNC-Bibliothek, z. B. sapsnc.dll
– Den relativen Pfad zum Speicherort der NCo-Installation, z. B. .\security\sapsnc.dll
– Den absoluten Pfad zum Speicherort der NCo-Installation, z. B. c:\security\sapsnc.dllSNC SSO Wählen Sie entweder Anmelden mit der SNC-Identität oder Anmelden mit dem auf RFC-Ebene angegebenen Benutzernamen/Kennwort aus.
In der Regel wird die SNC-Identität verwendet, um die aufrufende Funktion zu authentifizieren. Sie können sich stattdessen mit Benutzernamen und Kennwort authentifizieren, aber dieser Parameterwert ist weiterhin verschlüsselt.SNC Mein Name Diesen Wert können Sie in den meisten Fällen weglassen. Die installierte SNC-Lösung kennt in der Regel den eigenen SNC-Namen. Wenn Ihre Lösung mehrere Identitäten unterstützt, müssen Sie möglicherweise die Identität angeben, die für dieses bestimmte Ziel oder diesen bestimmten Server verwendet werden soll. Name des SNC-Partners Geben Sie den Namen für den Back-End-SNC ein, z. B. p:CN=DV3, OU=LA, O=MS, C=US. SNC-Qualität des Schutzes Wählen Sie die Servicequalität aus, die für die SNC-Kommunikation dieses bestimmten Ziels oder Servers verwendet werden soll. Der Standardwert wird durch das Back-End-System definiert. Der Maximalwert wird durch das für SNC verwendete Sicherheitsprodukt definiert. SNC-Zertifikat Geben Sie den base64-codierten öffentlichen Schlüssel für das Zertifikat ein, mit dem Ihr Client für SAP identifiziert werden soll.
Hinweis: Schließen Sie weder die PEM-Kopfzeile noch die PEM-Fußzeile ein.
– Geben Sie hier nicht den privaten Schlüssel für das Clientzertifikat ein. Ihre persönliche Sicherheitsumgebung (Personal Security Environment, PSE) muss den übereinstimmenden privaten Schlüssel für dieses Zertifikat enthalten und kann andere private Zertifikate enthalten. Weitere Informationen dazu finden Sie im nächsten Parameter.PSE Geben Sie Ihre SNC Personal Security Environment (PSE) als Base64-codierte Binärdatei ein.
– Ihre PSE muss den privaten Schlüssel für das Clientzertifikat enthalten, wobei der Fingerabdruck mit dem öffentlichen Schlüssel für das Clientzertifikat im SNC Certificate-Parameter übereinstimmt.
– Auch wenn Ihre PSE mehrere Clientzertifikate enthalten kann, erstellen Sie stattdessen separate Arbeitsabläufe, um verschiedene Clientzertifikate zu verwenden.
- Wenn Sie mehr als ein SNC-Clientzertifikat für Ihre Standard-Logik-App-Ressource verwenden, müssen Sie dieselbe PSE für alle Verbindungen angeben. Ihre PSE muss den passenden privaten Schlüssel für das Clientzertifikat für jede und alle Verbindungen enthalten. Sie müssen den Parameter SNC-Zertifikat so einstellen, dass er mit dem spezifischen privaten Zertifikat für jede Verbindung übereinstimmt.Wählen Sie Erstellen aus, um die Erstellung der Verbindung abzuschließen.
Wenn die Parameter korrekt sind, wird die Verbindung erstellt. Sollte ein Problem mit den Parametern bestehen, zeigt das Dialogfeld für die Verbindungserstellung eine Fehlermeldung an. Sie können eine lokale Datengatewayinstallation und die lokalen Protokolle dieses Gateways nutzen, um Probleme mit Verbindungsparametern zu beheben.
Konvertieren einer binären PSE-Datei in das Base64-codierte Format
Verwenden Sie zum Beispiel ein PowerShell-Skript:
Param ([Parameter(Mandatory=$true)][string]$psePath, [string]$base64OutputPath) $base64String = [convert]::ToBase64String((Get-Content -path $psePath -Encoding byte)) if ($base64OutputPath -eq $null) { Write-Output $base64String } else { Set-Content -Path $base64OutputPath -Value $base64String Write-Output "Output written to $base64OutputPath" }
Speichern Sie das Skript als Datei pseConvert.ps1, und rufen Sie es dann auf, z. B:
.\pseConvert.ps1 -psePath "C:\Temp\SECUDIR\request.pse" -base64OutputPath "connectionInput.txt" Output written to connectionInput.txt
Wenn der Parameter für den Ausgabepfad nicht angegeben wird, wird die Ausgabe des Skripts an die Konsole Zeilenumbrüche enthalten. Entfernen Sie die Zeilenumbrüche der Base64-codierten Zeichenfolge für den Eingabeparameter der Verbindung.
Einrichten und Testen des Sendens von IDocs aus SAP an Ihren Workflow
Um IDocs von SAP an Ihren Logik-App-Workflow zu senden, führen Sie die folgenden Schritte aus, um Ihre SAP-Konfiguration mit Ihrem Logik-App-Workflow einzurichten und zu testen. Diese Schritte gelten nur für Tests, da Produktionsumgebungen eine zusätzliche Konfiguration erfordern.
Um IDocs aus SAP an Ihren Workflow zu senden, benötigen Sie die folgende Mindestkonfiguration:
- Erstellen eines RFC-Ziels
- Erstellen einer ABAP-Verbindung
- Erstellen Sie einen Empfangsport.
- Erstellen Sie einen Sendeport.
- Erstellen Sie einen logischen Systempartner.
- Erstellen Sie ein Partnerprofil.
- Testen Sie das Senden von Nachrichten.
Erstellen eines RFC-Ziels
Dieses Ziel identifiziert Ihren Logik-App-Workflow als Empfängerport.
Öffnen Sie in SAP die Einstellungen Konfiguration von RFC-Verbindungen. Sie können den Transaktionscode (T-Code) sm59 mit dem Präfix /n verwenden.
Wählen Sie TCP/IP-Verbindungen>Erstellen aus.
Erstellen Sie ein neues RFC-Ziel mit den folgenden Einstellungen:
Geben Sie bei RFC-Ziel einen Namen ein.
Wählen Sie auf der Registerkarte Technische Einstellungen für Aktivierungstyp die Option Registriertes Serverprogramm aus.
Geben Sie bei Programm-ID einen Wert ein. Auf dem SAP-Server ist der Trigger Ihres Workflows mit diesem Bezeichner registriert.
Wichtig
Die SAP-Programm-ID berücksichtigt die Groß-/Kleinschreibung. Stellen Sie sicher, dass Sie beim Konfigurieren Ihres Workflows und des SAP-Servers für Ihre Programm-ID stets dieselbe Groß-/Kleinschreibung verwenden. Andernfalls erhalten Sie möglicherweise die folgenden Fehler im tRFC-Monitor (T-Code SM58), wenn Sie versuchen, ein IDoc an SAP zu senden:
- Funktion IDOC_INBOUND_ASYNCHRONOUS nicht gefunden
- Nicht-ABAP-RFC-Client (Partnertyp) nicht unterstützt
Weitere Informationen von SAP finden Sie in den folgenden Hinweisen (Anmeldung erforderlich):
Wählen Sie auf der Registerkarte Unicode für Kommunikationstyp mit Zielsystem die Option Unicode aus.
Hinweis
SAP-.NET-Clientbibliotheken unterstützen nur Unicode-Zeichen. Wenn Sie beim Senden von IDocs aus SAP an Azure Logic Apps den Fehler Nicht-ABAP-RFC-Client (Partnerart) wird nicht unterstützt erhalten, überprüfen Sie, ob der Wert für den Kommunikationstyp mit Zielsystem auf Unicode festgelegt ist.
Speichern Sie die Änderungen.
Registrieren Sie die neue Programm-ID bei Azure Logic Apps, indem Sie einen Logik-App-Workflow erstellen, der mit dem von SAP verwalteten Trigger Beim Empfang einer Nachricht gestartet wird.
Auf diese Weise registriert Azure Logic Apps die Programm-ID im SAP-Gateway, wenn Sie Ihren Workflow speichern.
Überprüfen Sie den Registrierungsstatus im Triggerverlauf des Workflows, gegebenenfalls in den SAP-Adapterprotokollen des lokalen Datengateways und in den Ablaufverfolgungsprotokollen des SAP-Gateways.
Im Feld des SAP-Gateway-Monitors (T-Code: SMGW) wird die neue Registrierung unter Angemeldete Clients als Registrierter Server angezeigt.
Um die Verbindung zu testen, wählen Sie unter Ihrem neuen RFC-Ziel die Option Verbindungstest aus.
Erstellen einer ABAP-Verbindung
Dieses Ziel identifiziert Ihr SAP-System als Absenderport.
Öffnen Sie in SAP die Einstellungen Konfiguration von RFC-Verbindungen. Sie können den Transaktionscode (T-Code) sm59 mit dem Präfix /n verwenden.
Wählen Sie ABAP-Verbindungen>Erstellen aus.
Geben Sie für RFC-Ziel den Bezeichner für Ihr SAP-Testsystem ein.
Lassen Sie unter Technische Einstellungen den Zielhost leer, um eine lokale Verbindung mit dem SAP-System herzustellen.
Speichern Sie die Änderungen.
Um Ihre Verbindung zu testen, wählen Sie Verbindungstest aus.
Erstellen eines Sendeports
Öffnen Sie in SAP die Einstellungen fürPorts In der IDoc-Verarbeitung. Sie können den Transaktionscode (T-Code) we21 mit dem Präfix /n verwenden.
Wählen Sie Ports>Transaktions-RFC>Erstellen aus.
Wählen Sie im daraufhin geöffneten Feld den eigenen Portnamen aus.
Geben Sie für Ihren Testport einen Namen ein, der mit SAP beginnt. Speichern Sie die Änderungen.
Alle Namen von Sendeports müssen mit den Buchstaben SAP beginnen, z. B. SAPTEST.
Geben Sie in den Einstellungen für Ihren neuen Sendeport für RFC-Ziel den Bezeichner für Ihre ABAP-Verbindung ein.
Speichern Sie die Änderungen.
Erstellen eines Empfangsports
Öffnen Sie in SAP die Einstellungen fürPorts In der IDoc-Verarbeitung. Sie können den Transaktionscode (T-Code) we21 mit dem Präfix /n verwenden.
Wählen Sie Ports>Transaktions-RFC>Erstellen aus.
Wählen Sie im daraufhin geöffneten Feld den eigenen Portnamen aus. Geben Sie für Ihren Testport einen Namen ein. Speichern Sie die Änderungen.
Geben Sie in den Einstellungen für Ihren neuen Empfangsport für RFC-Ziel den Bezeichner für Ihr RFC-Testziel ein.
Speichern Sie die Änderungen.
Erstellen eines logischen Systempartners
Öffnen Sie in SAP die Einstellungen zu Änderungsansicht „Logische Systeme“: Übersicht. Sie können den Transaktionscode (T-Code) bd54 verwenden.
Akzeptieren Sie die folgende angezeigte Warnmeldung: Vorsicht: Die Tabelle ist clientübergreifend.
Wählen Sie oberhalb der Liste, in der Ihre vorhandenen logischen Systeme angezeigt werden, Neue Einträge aus.
Geben Sie für Ihr neues logisches System einen Log.System-Bezeichner und eine kurze Namen-Beschreibung ein. Speichern Sie die Änderungen.
Wenn die Aufforderung für Workbench angezeigt wird, erstellen Sie eine neue Anforderung, indem Sie eine Beschreibung angeben, oder wenn Sie bereits eine Anforderung erstellt haben, überspringen Sie diesen Schritt.
Nachdem Sie die Workbench-Anforderung erstellt haben, verknüpfen Sie diese Anforderung mit der Tabellenaktualisierungsanforderung. Um zu bestätigen, dass Ihre Tabelle aktualisiert wurde, speichern Sie Ihre Änderungen.
Erstellen von Partnerprofilen
Für Produktionsumgebungen müssen Sie die folgenden zwei Partnerprofile erstellen:
- Ein Profil für den Absender, bei dem es sich um Ihre Organisation und Ihr SAP-System handelt.
- Ein Profil für den Empfänger, bei dem es sich um Ihre Logik-App-Ressource und Ihren Workflow handelt.
Öffnen Sie in SAP die Einstellungen für Partnerprofile . Sie können den Transaktionscode (T-Code) we20 mit dem Präfix /n verwenden.
Wählen Sie unter Partnerprofile die Option Partnertyp-LS>Erstellen aus.
Erstellen Sie ein neues Partnerprofil mit den folgenden Einstellungen:
Einstellung BESCHREIBUNG Partner-Nr. Geben Sie den Bezeichner Ihres logischen Systempartners ein. Partn. type Geben Sie LS ein. Agent Geben Sie den Bezeichner für das SAP-Benutzerkonto ein, das verwendet werden soll, wenn Sie Programmbezeichner für Azure Logic Apps oder andere Nicht-SAP-Systeme registrieren. Speichern Sie die Änderungen.
Wenn Sie den logischen Systempartner nicht erstellt haben, erhalten Sie die Fehlermeldung Geben Sie eine gültige Partnernummer ein.
Wählen Sie in den Einstellungen Ihres Partnerprofils unter Ausgehende Parameter die Option Ausgehenden Parameter erstellen aus.
Erstellen Sie einen neuen ausgehenden Parameter mit den folgenden Einstellungen:
Geben Sie Ihren Nachrichtentyp ein, z. B. CREMAS.
Geben Sie den Bezeichner Ihre Empfangsports ein.
Geben Sie eine IDoc-Größe für Paket größe ein. Oder, um IDocs einzeln von SAP zu senden, wählen Sie IDoc sofort übergeben aus.
Speichern Sie die Änderungen.
Testen des Sendens von Nachrichten
Öffnen Sie in SAP die Einstellungen für Testtool für die IDoc-Verarbeitung. Sie können den Transaktionscode (T-Code) we19 mit dem Präfix /n verwenden.
Wählen Sie unter Vorlage für Test die Option Via Nachrichtentyp aus. Geben Sie Ihren Nachrichtentyp ein, z. B. CREMAS. Klicken Sie auf Erstellen.
Bestätigen Sie die Meldung Welcher IDoc-Typ? , indem Sie Weiter auswählen.
Wählen Sie den Konten EDIDC aus. Geben Sie die geeigneten Werte für Ihren Empfangs- und Sendeport ein. Wählen Sie Weiter.
Wählen Sie Standardmäßige ausgehende Verarbeitung aus.
Um die ausgehende IDoc-Verarbeitung zu starten, wählen Sie Weiter aus.
Wenn das Tool die Verarbeitung beendet hat, wird die Meldung IDoc an SAP-System oder externes Programm gesendet angezeigt.
Um eine Überprüfung auf Verarbeitungsfehler durchzuführen, verwenden Sie den Transaktionscode (T-Code) sm58 mit dem Präfix /n.
Erstellen von Workflows für gängige SAP-Szenarien
Die Anleitung zum Erstellen von Workflows für gängige SAP-Integrationsworkloads finden Sie in den folgenden Schritten:
- Empfangen von Nachrichten von SAP
- Empfangen von IDoc-Paketen von SAP
- Senden von IDocs an SAP
- Generieren von Schemas für Artefakte in SAP
Erstellen von Workflows für erweiterte SAP-Szenarien
- Ändern von Sprachheadern zum Senden von Daten an SAP
- Separates Bestätigen einer Transaktion und Vermeiden doppelter IDocs
Suchen nach erweiterten Fehlerprotokollen (nur verwalteter Connector)
Wenn Sie den verwalteten SAP-Connector verwenden, können Sie vollständige Fehlermeldungen finden, indem Sie die erweiterten Protokolle Ihres SAP-Adapters überprüfen. Sie können auch eine erweiterte Protokolldatei für den SAP-Connector aktivieren.
Für lokale Datengatewayreleases ab April 2020 und früher sind Protokolle standardmäßig deaktiviert.
Für lokale Datengatewayreleases ab Juni 2020 und später können Sie Gatewayprotokolle in den App-Einstellungen aktivieren.
Der Standardprotokolliergrad ist Warnung.
Wenn Sie Zusätzliche Protokollierung in den Einstellungen für die Diagnose der lokalen Datengateway-App aktivieren, wird der Protokolliergrad auf Information erhöht.
Um den Protokolliergrad auf Ausführlich zu erhöhen, aktualisieren Sie die folgende Einstellung in Ihrer Konfigurationsdatei. Normalerweise befindet sich die Konfigurationsdatei unter
C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config
.<setting name="SapTraceLevel" serializeAs="String"> <value>Verbose</value> </setting>
Einrichten der erweiterten SAP-Protokollierung im lokalen Datengateway (nur verwalteter Connector)
Wenn Sie ein lokales Datengateway für Azure Logic Apps verwenden, können Sie eine erweiterte Protokolldatei für den SAP-Connector konfigurieren. Sie können Ihr lokales Datengateway verwenden, um Ereignisse der Ereignisablaufverfolgung für Windows (Event Tracing for Windows, ETW) in rotierende Protokolldateien umzuleiten, die in die ZIP-Protokollierungsdateien Ihres Gateways eingeschlossen werden.
Sie können alle Konfigurations- und Dienstprotokolle Ihres Gateways aus den Einstellungen der Gateway-App in eine ZIP-Datei exportieren.
Hinweis
Die erweiterte Protokollierung kann die Leistung Ihres Workflows beeinträchtigen, wenn sie immer aktiviert ist. Es ist eine bewährte Methode, erweiterte Protokolldateien zu deaktivieren, nachdem Sie mit der Analyse und Behebung eines Problems fertig sind.
Erfassen von ETW-Ereignissen
Als optionale erweiterte Protokollierungsaufgabe können Sie ETW-Ereignisse direkt erfassen und dann die Daten in Azure-Diagnose in Event Hubs nutzen oder Ihre Daten in Azure Monitor-Protokollen erfassen. Weitere Informationen finden Sie unter Bewährte Methoden für das Sammeln und Speichern von Daten.
Sie können PerfView verwenden, um mit den sich ergebenden ETL-Dateien zu arbeiten, oder Sie können ein eigenes Programm schreiben. In der folgenden exemplarischen Vorgehensweise wird PerfView verwendet:
Wählen Sie im PerfView-Menü Erfassen>Sammeln aus, um die Ereignisse zu erfassen.
Geben Sie im Parameter Zusätzlicher Anbieter
*Microsoft-LobAdapter
ein, um den SAP-Anbieter für die Erfassung von SAP-Adapterereignissen anzugeben. Wenn Sie diese Informationen nicht angeben, enthält Ihre Ablaufverfolgung nur allgemeine ETW-Ereignisse.Übernehmen Sie alle anderen Standardeinstellungen. Wenn Sie möchten, können Sie den Dateinamen oder den Speicherort im Parameter Datendatei ändern.
Wählen Sie Sammlung starten aus, um Ihre Ablaufverfolgung zu beginnen.
Nachdem Sie Ihr Problem reproduziert oder genügend Analysedaten gesammelt haben, wählen Sie Sammlung beenden aus.
Um Ihre Daten mit einer anderen Partei zu teilen, z. B. den Azure-Supporttechnikern, komprimieren Sie die ETL-Datei.
So zeigen Sie den Inhalt Ihrer Ablaufverfolgung an
Wählen Sie in PerfView Datei>Öffnen aus, und wählen Sie die soeben generierte ETL-Datei aus.
In der PerfView-Randleiste wird der Abschnitt Ereignisse unter Ihrer ETL-Datei angezeigt.
Filtern Sie unter Filter nach
Microsoft-LobAdapter
, um nur relevante Ereignisse und Gatewayprozesse anzuzeigen.
Testen Ihres Workflows
Je nachdem, ob Sie über einen Verbrauchsworkflow in Azure Logic Apps mit mehreren Mandanten oder einen Standardworkflow in Azure Logic Apps mit einem einzelnen Mandanten verfügen, führen Sie die entsprechenden Schritte aus:
Wenn Ihre Logik-App-Ressource nicht aktiviert ist, wählen Sie im Menü der Logik-App die Option Übersicht aus. Wählen Sie auf der Symbolleiste Aktivieren aus.
Wählen Sie auf der Symbolleiste des Designers Trigger ausführen>Ausführen aus, um Ihren Workflow manuell zu starten.
Senden Sie eine Nachricht aus Ihrem SAP-System, um Ihren Logik-App-Workflow auszulösen.
Kehren Sie zum Bereich Übersicht Ihrer Logik-App zurück. Suchen Sie unter Verlauf der Ausführungen alle neuen Ausführungen für Ihren Workflow.
Öffnen Sie die letzte Ausführung, die eine manuelle Ausführung anzeigt. Suchen und überprüfen Sie den Abschnitt „Triggerausgaben“.
Aktivieren der Protokollierung und Ablaufverfolgung der SAP-Clientbibliothek (NCo) (nur integrierter Connector)
Wenn Sie Probleme mit dieser Komponente untersuchen müssen, können Sie eine benutzerdefinierte, auf einer Textdatei basierende NCo-Ablaufverfolgung einrichten, die der SAP- oder Microsoft-Support möglicherweise von Ihnen anfordern wird. Standardmäßig ist diese Funktionalität deaktiviert, da sich das Aktivieren dieser Ablaufverfolgung negativ auf die Leistung auswirken und den Speicherplatz des Anwendungshosts schnell verbrauchen kann.
Sie können diese Ablaufverfolgungsfunktionalität auf Anwendungsebene steuern, indem Sie die folgenden Einstellungen hinzufügen:
Öffnen Sie im Azure-Portal Ihre Ressource vom Typ „Logic App (Standard)“.
Wählen Sie im Menü der Logik-App unter Einstellungen die Option Umgebungsvariablen aus, um die Anwendungseinstellungen zu überprüfen.
Fügen Sie auf der Seite Umgebungsvariablen auf der Registerkarte Appeinstellungen die folgenden Anwendungseinstellungen hinzu:
SAP_RFC_TRACE_DIRECTORY: Das Verzeichnis, in dem die NCo-Ablaufverfolgungsdateien gespeichert werden sollen, z. B. C:\home\LogFiles\NCo.
SAP_RFC_TRACE_LEVEL: Die NCo-Ablaufverfolgungsebene mit Level4 als vorgeschlagenen Wert für die typische ausführliche Protokollierung. Der SAP- oder Microsoft-Support verlangt möglicherweise, dass Sie eine andere Ablaufverfolgungsebene festlegen.
Hinweis
Für Standardlogik-App-Workflows, die die Laufzeitversion 1.69.0 oder höher verwenden, können Sie die Protokollierung für mehrere Ablaufverfolgungsebenen aktivieren, indem Sie jede Ebene durch ein Komma (,) trennen.
Führen Sie die folgenden Schritte aus, um die Laufzeitversion Ihres Workflows zu finden:
- Wählen Sie im Azure-Portal in Ihrem Workflowmenü die Option Übersicht aus.
- Suchen Sie im Abschnitt Essentials die Eigenschaft Laufzeitversion.
SAP_CPIC_TRACE_LEVEL: Die Trace-Stufe der Common Programming Interface for Communication (CPI-C) mit Verbose als vorgeschlagenem Wert für die typische ausführliche Protokollierung. Der SAP- oder Microsoft-Support verlangt möglicherweise, dass Sie eine andere Ablaufverfolgungsebene festlegen.
Weitere Informationen zum Hinzufügen von Anwendungseinstellungen finden Sie unter Bearbeiten von Host- und App-Einstellungen für Standard-Logik-App-Workflows.
Speichern Sie die Änderungen. In diesem Schritt wird die Anwendung neu gestartet.
Verfügbare Ablaufverfolgungsebenen
NCo Ablaufverfolgungsebenen
Wert | BESCHREIBUNG |
---|---|
Level1 | Die Ebene für die Ablaufverfolgung von Remote-Funktionsaufrufen. |
Level2 | Die Ebene für die Ablaufverfolgung von Remote-Funktionsaufrufen und öffentlichen API-Methodenaufrufen. |
Level3 | Die Ebene für die Ablaufverfolgung von Remote-Funktionsaufrufen, öffentlichen API-Methodenaufrufen und internen API-Methodenaufrufen. |
Level4 | Die Ebene für die Ablaufverfolgung von Remote-Funktionsaufrufen, öffentlichen API-Methodenaufrufen, internen API-Methodenaufrufen, Hex-Speicherabbildern für das RFC-Protokoll und netzwerkbezogene Informationen. |
Sperren | Schreibt Daten in die Ablaufverfolgungsdateien, die anzeigen, wenn Threads Sperren für Objekte anfordern, abrufen und freigeben. |
Metadaten | Verfolgt die Metadaten nach, die an einem Remote-Funktionsaufruf für jeden Aufruf beteiligt sind. |
Keine | Die Ebene zum Unterdrücken der gesamten Ablaufverfolgungsausgabe. |
ParameterData | Verfolgt die während jedes Remote-Funktionsaufrufs gesendeten und empfangenen Containerdaten nach. |
Leistung | Schreibt Daten in die Ablaufverfolgungsdateien, die bei der Analyse von Leistungsproblemen helfen können. |
PublicAPI | Verfolgt die meisten Methoden der öffentlichen API nach, mit Ausnahme von Gettern, Settern oder verwandten Methoden. |
InternalAPI | Verfolgt die meisten Methoden der internen API nach, mit Ausnahme von Gettern, Settern oder verwandten Methoden. |
RemoteFunctionCall | Verfolgt Remote-Funktionsaufrufe nach. |
RfcData | Verfolgt die Bytes nach, die während jedes Remote-Funktionsaufrufs gesendet und empfangen werden. |
SessionProvider | Verfolgt alle Methoden der derzeit verwendeten Implementierung von ISessionProvider nach. |
SetValue | Schreibt Informationen in die Ablaufverfolgungsdateien über Werte, die für Parameter von Funktionen oder Feldern von Strukturen oder Tabellen festgelegt sind. |
CPIC Ablaufverfolgungsebenen
Wert | BESCHREIBUNG |
---|---|
Aus | Keine Protokollierung |
Grundlegend | Basic Protokollierung |
Ausführlich | Ausführliche Protokollierung |
VerboseWithData | Ausführliche Protokollierung mit allen Serverantwortabbildern |
Anzeigen der Ablaufverfolgung
Wählen Sie im Ressourcenmenü der Standard-Logik-App unter Entwicklungstools die Option Erweiterte Tools>Go aus.
Wählen Sie auf der Symbolleiste Kudu die Option Debugging-Konsole>CMD aus.
Browsen Sie zum Ordner für die Anwendungseinstellung mit dem Namen $SAP_RFC_TRACE_DIRECTORY.
Ein neuer Ordner mit dem Namen NCo oder dem von Ihnen verwendeten Ordnernamen wird für den zuvor von Ihnen festgelegten Anwendungseinstellungswert C:\home\LogFiles\NCo angezeigt.
Öffnen Sie den Ordner $SAP_RFC_TRACE_DIRECTORY, der die folgenden Dateien enthält:
NCo-Ablaufverfolgungsprotokolle: Eine Datei mit dem Namen dev_nco_rfc.log, eine oder mehrere Dateien mit dem Namen nco_rfc_NNNN.log und eine oder mehrere Dateien mit dem Namen nco_rfc_NNNN.trc, Dateien mit dem Threadbezeichner NNNN.
CPIC-Ablaufverfolgungsprotokolle: Eine oder mehrere Dateien mit dem Namen nco_cpic_NNNN.trc, Dateien mit dem Threadbezeichner NNNN.
Um den Inhalt in einer Protokoll- oder Ablaufverfolgungsdatei anzuzeigen, wählen Sie die Schaltfläche Bearbeiten neben einer Datei aus.
Hinweis
Wenn Sie eine Protokoll- oder Ablaufverfolgungsdatei herunterladen, die von Ihrem Logik-App-Workflow geöffnet wurde und derzeit verwendet wird, kann Ihr Download zu einer leeren Datei führen.
Aktivieren der Ablaufverfolgung der SAP Common Crypto Library (CCL) (nur integrierter Connector)
Wenn Sie Probleme mit der Kryptografiebibliothek untersuchen müssen, während Sie die SNC-Authentifizierung verwenden, können Sie die benutzerdefinierte textdateibasierte CCL-Ablaufverfolgung (Common Crypto Library) einrichten. Sie können diese CCL-Protokolle verwenden, um SNC-Authentifizierungsprobleme zu beheben, oder sie bei Bedarf an den Microsoft- oder SAP-Support weiterleiten. Standardmäßig ist diese Funktionalität deaktiviert, da sich das Aktivieren dieser Ablaufverfolgung negativ auf die Leistung auswirken und den Speicherplatz des Anwendungshosts schnell verbrauchen kann.
Sie können diese Ablaufverfolgungsfunktionalität auf Anwendungsebene steuern, indem Sie die folgenden Einstellungen hinzufügen:
Öffnen Sie im Azure-Portal Ihre Ressource vom Typ „Logic App (Standard)“.
Wählen Sie im Ressourcenmenü der Standard-Logik-App unter Entwicklungstools die Option Erweiterte Tools>Go aus.
Wählen Sie auf der Symbolleiste Kudu die Option Debugging-Konsole>CMD aus.
Navigieren Sie zu einem Speicherort unter C:\home\site\wwwroot, und erstellen Sie eine Textdatei, z. B. CCLPROFILE.txt.
Weitere Informationen zu den Protokollierungsparametern finden Sie unter Tracing > SAP-Hinweis 2338952. Im Folgenden sehen Sie ein Beispiel für eine Ablaufverfolgungskonfiguration:
ccl/trace/directory=C:\home\LogFiles\CCLLOGS ccl/trace/level=4 ccl/trace/rotatefilesize=10000000 ccl/trace/rotatefilenumber=10
Wählen Sie im Menü der Logik-App unter Einstellungen die Option Umgebungsvariablen aus, um die Anwendungseinstellungen zu überprüfen.
Fügen Sie auf der Seite Umgebungsvariablen auf der Registerkarte App-Einstellungen die folgenden Anwendungseinstellung hinzu:
CCL_PROFILE: Das Verzeichnis, in dem CCLPROFILE.txt erstellt wurde, z. B. C:\home\site\wwwroot\CCLPROFILE.txt.
Speichern Sie die Änderungen. In diesem Schritt wird die Anwendung neu gestartet.
Anzeigen der Ablaufverfolgung
Wählen Sie im Ressourcenmenü der Standard-Logik-App unter Entwicklungstools die Option Erweiterte Tools>Go aus.
Wählen Sie auf der Symbolleiste Kudu die Option Debugging-Konsole>CMD aus.
Navigieren Sie zum Ordner für den Parameter $ccl/trace/directory, der aus der CCLPROFILE.txt-Datei stammt.
In der Regel lauten die Namen der Ablaufverfolgungsdateien sec-Microsoft.Azure.Work-$processId.trc und sec-sapgenpse.exe-$processId.trc.
Ihr Logik-App-Workflow führt die SNC-Authentifizierung in einem zweistufigen Prozess durch:
Ihr Logik-App-Workflow ruft sapgenpse.exe auf, um eine Datei cred_v2 aus der PSE-Datei zu generieren.
Die Ablaufverfolgungen im Zusammenhang mit diesem Schritt finden Sie in einer Datei namens sec-sapgenpse.exe-$processId.trc.
Der Logik-App-Workflow authentifiziert den Zugriff auf Ihren SAP-Server, indem er die generierte Datei cred_v2 nutzt, wobei die SAP-Clientbibliothek die Common Crypto Library aufruft.
Die Ablaufverfolgungen im Zusammenhang mit diesem Schritt finden Sie in einer Datei namens sec-Microsoft.Azure.Work-$processId.trc.
Senden von SAP-Telemetriedaten für lokales Datengateway an Azure Application Insights
Mit dem Update vom August 2021 für das lokale Datengateway können SAP-Connectorvorgänge Telemetriedaten aus der SAP-NCo-Clientbibliothek und Ablaufverfolgungen vom Microsoft-SAP-Adapter an Application Insights senden. Dies ist eine Funktion in Azure Monitor. Diese Telemetriedaten umfassen in erster Linie die folgenden Daten:
Metriken und Ablaufverfolgungen basierend auf SAP-NCo-Metriken und -Monitoren
Ablaufverfolgungen vom Microsoft-SAP-Adapter
Metriken und Ablaufverfolgungen aus der SAP-NCo-Clientbibliothek
SAP NCo-basierte Metriken sind numerische Werte, die je nach Nutzung und Verfügbarkeit von Ressourcen im lokalen Datengateway über einen bestimmten Zeitraum variieren können. Sie können diese Metriken verwenden, um die Systemintegrität besser zu verstehen und Warnungen zu Folgendem zu erstellen:
- Systemintegritätsverlust.
- Ungewöhnliche Ereignisse
- Hohe Systemlast.
Diese Informationen werden an die Application Insights-Tabelle namens customMetrics gesendet. Standardmäßig werden Metriken in 30-Sekunden-Intervallen gesendet.
SAP NCo-basierte Ablaufverfolgungen enthalten Textinformationen, die mit Metriken verwendet werden. Diese Informationen werden an die Application Insights-Tabelle namens traces gesendet. Standardmäßig werden Ablaufverfolgungen in 10-Minuten-Intervallen gesendet.
SAP-NCo-Metriken und -Ablaufverfolgungen basieren auf SAP-NCo-Metriken, insbesondere auf den folgenden NCo-Klassen:
- RfcDestinationMonitor
- RfcConnectionMonitor
- RfcServerMonitor
- RfcRepositoryMonitor
Weitere Informationen zu den Metriken, die jede Klasse bereitstellt, finden Sie in der SAP-NCo-Dokumentation (Anmeldung erforderlich).
Einrichten der SAP-Telemetrie für Application Insights
Bevor Sie SAP-Telemetriedaten für Ihre Gatewayinstallation an Application Insights senden können, müssen Sie Ihre Application Insights-Ressource erstellt und eingerichtet haben. Weitere Informationen finden Sie in der folgenden Dokumentation:
Führen Sie die folgenden Schritte aus, um das Senden von SAP-Telemetriedaten an Application Insights zu aktivieren:
Laden Sie das NuGet-Paket für Microsoft.ApplicationInsights.EventSourceListener.dll von diesem Speicherort herunter: https://www.nuget.org/packages/Microsoft.ApplicationInsights.EventSourceListener/2.14.0.
Fügen Sie die heruntergeladene Datei dem Installationsverzeichnis Ihres lokalen Datengateways hinzu, z. B. C:\Programme\On-Premises Data Gateway.
Überprüfen Sie in Ihrem lokalen Datengateway-Installationsverzeichnis, ob die Datei Microsoft.ApplicationInsights.dll die gleiche Versionsnummer hat wie die Microsoft.ApplicationInsights.EventSourceListener.dll-Datei, die Sie hinzugefügt haben. Das Gateway verwendet derzeit Version 2.14.0.
Fügen Sie in der Datei ApplicationInsights.config Ihren Application Insights Instrumentierungsschlüssel hinzu, indem Sie die Auskommentierung der Zeile mit dem Element
<InstrumentationKey></InstrumentationKey>
aufheben. Ersetzen Sie den Platzhalter your-Application-Insights-instrumentation-key durch Ihren Schlüssel, z. B.:<?xml version="1.0" encoding="utf-8"?> <ApplicationInsights schemaVersion="2014-05-30" xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings"> <!-- Uncomment this element and insert your Application Insights key to receive ETW telemetry about your gateway <InstrumentationKey>*your-instrumentation-key-placeholder*</InstrumentationKey> --> <TelemetryModules> <Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule, Microsoft.ApplicationInsights"> <IsHeartbeatEnabled>false</IsHeartbeatEnabled> </Add> <Add Type="Microsoft.ApplicationInsights.EventSourceListener.EventSourceTelemetryModule, Microsoft.ApplicationInsights.EventSourceListener"> <Sources> <Add Name="Microsoft-LobAdapter" Level="Verbose" /> </Sources> </Add> </TelemetryModules> </ApplicationInsights>
In der Datei ApplicationInsights.config können Sie den erforderlichen
Level
-Wert für Ablaufverfolgungen für Ihre SAP-Connectorvorgänge gemäß Ihren Anforderungen ändern, z. B.:<Add Type="Microsoft.ApplicationInsights.EventSourceListener.EventSourceTelemetryModule, Microsoft.ApplicationInsights.EventSourceListener"> <Sources> <Add Name="Microsoft-LobAdapter" Level="Verbose" /> </Sources> </Add>
Weitere Informationen finden Sie in der folgenden Dokumentation:
Starten Sie den lokalen Datengatewaydienst neu, nachdem Sie die Änderungen angewendet haben.
Überprüfen von Metriken in Application Insights
Wenn Ihre SAP-Vorgänge in Ihrem Logik-App-Workflow ausgeführt werden, können Sie die Telemetriedaten überprüfen, die an Application Insights gesendet wurden.
Öffnen Sie die Application Insights-Ressource im Azure-Portal.
Wählen Sie im Ressourcenmenü unter Überwachung die Option Protokolle aus.
Der folgende Screenshot zeigt das Azure-Portal mit Application Insights, geöffnet im Bereich Protokolle:
Im Bereich Protokolle können Sie eine mithilfe der Kusto-Abfragesprache (Kusto Query Language, KQL) Abfrage erstellen, die auf Ihren spezifischen Anforderungen basiert.
Sie können ein Abfragemuster verwenden, das der folgenden Beispielabfrage ähnelt:
customMetrics | extend DestinationName = tostring(customDimensions["DestinationName"]) | extend MetricType = tostring(customDimensions["MetricType"]) | where customDimensions contains "RfcDestinationMonitor" | where name contains "MaxUsedCount"
Nachdem Sie die Abfrage ausgeführt haben, überprüfen Sie die Ergebnisse.
Der folgende Screenshot zeigt die Metrikergebnistabelle der Beispielabfrage:
MaxUsedCount ist „Die maximale Anzahl von Clientverbindungen, die gleichzeitig vom überwachten Ziel verwendet wurden“, wie in der SAP NCo-Dokumentation (Anmeldung erforderlich) beschrieben. An diesem Wert können Sie die Anzahl gleichzeitig geöffneter Verbindungen ablesen.
Die Spalte valueCount zeigt 2 für jeden Lesevorgang an, da Metriken in 30-Sekunden-Intervallen generiert werden. Application Insights aggregiert diese Metriken im Minutentakt.
Die Spalte DestinationName enthält eine Zeichenfolge, bei der es sich um einen internen Namen des Microsoft-SAP-Adapters handelt.
Um dieses RFC-Ziel (Remote Function Call) besser zu verstehen, verwenden Sie diesen Wert mit
traces
, z. B.:customMetrics | extend DestinationName = tostring(customDimensions["DestinationName"]) | join kind=inner (traces | extend DestinationName = tostring(customDimensions["DestinationName"]), AppServerHost = tostring(customDimensions["AppServerHost"]), SncMode = tostring(customDimensions["SncMode"]), SapClient = tostring(customDimensions["Client"]) | where customDimensions contains "RfcDestinationMonitor" ) on DestinationName , $left.DestinationName == $right.DestinationName | where customDimensions contains "RfcDestinationMonitor" | where name contains "MaxUsedCount" | project AppServerHost, SncMode, SapClient, name, valueCount, valueSum, valueMin, valueMax
Sie können mit diesen Funktionen in Application Insights auch Metrikdiagramme oder Warnungen erstellen, z. B.:
Ablaufverfolgungen vom Microsoft-SAP-Adapter
Sie können Ablaufverfolgungen, die vom Microsoft-SAP-Adapter gesendet werden, verwenden, um Nachanalysen von Problemen durchzuführen und interne Systemfehler zu finden, die möglicherweise bei SAP-Connectorvorgängen auftreten. In diesem Ablaufverfolgungen ist message
auf "n\a"
festgelegt, da sie aus einem früheren Ereignisquellframework stammen, das vor Application Insights existierte, z. B.:
traces
| where message == "n/a"
| where severityLevel > 0
| extend ActivityId = tostring(customDimensions["ActivityId"])
| extend fullMessage = tostring(customDimensions["fullMessage"])
| extend shortMessage = tostring(customDimensions["shortMessage"])
| where ActivityId contains "8ad5952b-371e-4d80-b355-34e28df9b5d1"
Der folgende Screenshot zeigt die Tabelle mit den Ablaufverfolgungsergebnisse der Beispielabfrage: