Freigeben über


Erstellen von Workflows für gängige SAP-Integrationsszenarien in Azure Logic Apps

Gilt für: Azure Logic Apps (Verbrauch + Standard)

In dieser Anleitung wird erläutert, wie mithilfe von Azure Logic Apps und dem SAP-Connector Beispielworkflows für Logik-Apps für einige gängige SAP-Integrationsszenarien erstellt werden.

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-Dienstanbieter Connector, der in Azure Logic Apps mit einem einzelnen Mandanten gehostet und ausgeführt wird. Wenn Sie einen Verbrauchsworkflow in einer Integrationsdienstumgebung (ISE) erstellen und hosten, können Sie auch die native ISE-Version des SAP-Connectors verwenden. Weitere Informationen finden Sie in der technischen Referenzdokumentation für den Connector.

Voraussetzungen

  • Installieren oder verwenden Sie ein Tool, das HTTP-Anforderungen senden kann, um Ihre Lösung zu testen, zum Beispiel:

    Achtung

    Für Szenarien, in denen Sie über vertrauliche Daten wie Anmeldeinformationen, Geheimnisse, Zugriffstoken, API-Schlüssel und andere ähnliche Informationen verfügen, sollten Sie ein Tool verwenden, das Ihre Daten mit den erforderlichen Sicherheitsfunktionen schützt, offline oder lokal funktioniert, Ihre Daten nicht mit der Cloud synchronisiert und keine Anmeldung bei einem Online-Konto erfordert. Auf diese Weise verringern Sie das Risiko, dass vertrauliche Daten an die Öffentlichkeit gelangen.

Empfangen von Nachrichten von SAP

Der folgende Logik-App-Beispielworkflow löst aus, wenn der SAP-Trigger des Workflows eine Nachricht von einem SAP-Server empfängt.

Hinzufügen eines SAP-Triggers

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:

  1. Öffnen Sie im Azure-Portal Ihre Verbrauchslogik-App und deren leeren Workflow im Workflow-Designer.

  2. Führen Sie im Designer die folgenden allgemeinen Schritte aus, um den verwalteten SAP-Connectortrigger mit dem Namen Beim Empfang einer Nachricht hinzuzufügen.

  3. Wenn Sie dazu aufgefordert werden, geben Sie die folgende Verbindungsinformationen für Ihren lokalen SAP-Server an. Wählen Sie Erstellen, wenn Sie fertig sind. Fahren Sie andernfalls mit dem nächsten Schritt fort, um den SAP-Trigger einzurichten.

    Parameter Erforderlich BESCHREIBUNG
    Verbindungsname Ja Geben Sie einen Namen für die Verbindung ein.
    Datengateway Ja 1. Wählen Sie für Abonnement das Azure-Abonnement für die Datengateway-Ressource aus, die Sie im Azure-Portal für die Installation Ihres Datengateways erstellt haben.

    2. Wählen Sie für Verbindungsgateway Ihre Datengateway-Ressource in Azure aus.
    Client Ja Die SAP-Client-ID, die für die Verbindung zu Ihrem SAP-Server verwendet wird
    Authentifizierungstyp Ja Der für Ihre Verbindung zu verwendende Authentifizierungstyp, der Basic (Benutzername und Kennwort) sein muss. Informationen zum Erstellen einer SNC-Verbindung finden Sie unter Secure Network Communications (SNC) aktivieren.
    SAP-Benutzername Ja Der Benutzername für Ihren SAP-Server
    SAP-Kennwort Ja Das Kennwort für Ihren SAP-Server
    Anmeldetyp Ja Wählen Sie entweder Anwendungsserver oder Gruppe (Nachrichtenserver) aus, und konfigurieren Sie dann die entsprechenden erforderlichen Parameter, auch wenn sie optional erscheinen:

    Anwendungsserver:
    - AS-Host: Der Hostname für Ihren SAP-Anwendungsserver
    - AS-Dienst: Der Dienstname oder die Portnummer für Ihren SAP-Anwendungsserver
    - AS-Systemnummer: Die Systemnummer Ihres SAP-Servers, die zwischen 00 und 99 liegt

    Gruppe:
    - MS-Server-Host: Der Hostname für Ihren SAP-Nachrichtenserver
    - MS-Dienstname oder Portnummer: Der Dienstname oder die Portnummer für Ihren SAP-Nachrichtenserver
    - MS-System-ID: Die System-ID für Ihren SAP-Server
    - MS-Anmeldegruppe: Die Anmeldegruppe für Ihren SAP-Server. Auf Ihrem SAP-Server können Sie den Wert Anmeldegruppe suchen oder bearbeiten, indem Sie das Dialogfeld CCMS: Anmeldegruppen verwalten (T-Code SMLG) öffnen. Weitere Informationen finden Sie im SAP-Hinweis 26317 – Einrichten der LOGON-Gruppe für den automatischen Lastenausgleich.
    Sichere Typisierung Nein Diese Option ist aus Gründen der Abwärtskompatibilität verfügbar und überprüft nur die Länge der Zeichenfolge. Standardmäßig wird starke Typisierung verwendet, um nach ungültigen Werten zu suchen, indem eine XML-Validierung anhand des Schemas durchgeführt wird. Durch dieses Verhalten können Sie Probleme früher feststellen. Erfahren Sie mehr über die Einstellung „Sichere Typisierung“.
    SNC verwenden Nein Informationen zum Erstellen einer SNC-Verbindung finden Sie unter Secure Network Communications (SNC) aktivieren.

    Weitere optional verfügbare Verbindungsparameter finden Sie unter Standardverbindungsinformationen.

    Nachdem Azure Logic Apps die Verbindung eingerichtet und getestet hat, wird das Triggerinformationsfeld angezeigt. Weitere Informationen zu Verbindungsproblemen, die auftreten können, finden Sie unter Behandeln von Verbindungsproblemen.

  4. Geben Sie basierend auf Ihrer SAP-Serverkonfiguration und Ihrem Szenario die erforderlichen Parameterwerte für den Trigger Beim Empfang einer Nachricht an, und fügen Sie alle anderen verfügbaren Triggerparameter hinzu, die Sie in Ihrem Szenario verwenden möchten.

    Hinweis

    Dieser SAP-Trigger ist ein Webhook-basierter Trigger, kein Abruftrigger, und enthält keine Optionen zur Festlegung eines Abrufzeitplans. Wenn Sie beispielsweise den verwalteten SAP-Connector mit dem lokalen Datengateway verwenden, wird der Trigger nur vom Datengateway aufgerufen, wenn eine Nachricht eingeht, sodass keine Abrufe erforderlich sind.

    Parameter Erforderlich Beschreibung
    GatewayHost Ja Der Registrierungsgatewayhost für den SAP RFC-Server
    GatewayService Ja Der Registrierungsgatewaydienst für den SAP RFC-Server
    ProgramId Ja Die Programm-ID des Registrierungsgateways für den SAP RFC-Server.

    Hinweis: Bei diesem Wert wird die Groß-/Kleinschreibung beachtet. Stellen Sie sicher, dass Sie beim Konfigurieren Ihres Logik-App-Workflows und des SAP-Servers für den Wert Programm-ID stets dieselbe Groß-/Kleinschreibung verwenden. Wenn Sie sonst versuchen, ein IDoc an SAP zu senden, zeigt der tRFC-Monitor (T-Code SM58) möglicherweise die folgenden Fehler an (Links erfordern die SAP-Anmeldung):

    - Funktion IDOC_INBOUND_ASYNCHRONOUS nicht gefunden (2399329)
    - Nicht-ABAP-RFC-Client (Partnertyp) nicht unterstützt (353597)
    DegreeOfParallelism Nein Die Anzahl der Aufrufe, die parallel verarbeitet werden. Um diesen Parameter hinzuzufügen und den Wert zu ändern, wählen Sie in der Liste Neuen Parameter hinzufügen die Option DegreeOfParallelism aus, und geben Sie den neuen Wert ein.
    SapActions Nein Filtern Sie die Nachrichten, die Sie von Ihrem SAP-Server empfangen, anhand einer Liste von SAP-Aktionen. Um diesen Parameter hinzuzufügen, wählen Sie in der Liste Neuen Parameter hinzufügen die Option SapActions aus. Verwenden Sie im neuen Abschnitt SapActions für den Parameter SapActions - 1 die Dateiauswahl, um eine SAP-Aktion auszuwählen oder manuell eine Aktion anzugeben. Weitere Informationen zur SAP-Aktion finden Sie unter Nachrichtenschemas für IDoc-Vorgänge.
    IDoc-Format Nein Das Format, das für den Empfang von IDocs verwendet wird. Um diesen Parameter hinzuzufügen, wählen Sie in der Liste Neuen Parameter hinzufügen die Option IDoc-Format aus.

    – Um IDocs als einfaches SAP-XML zu empfangen, wählen Sie in der Liste IDoc-Format die Option SapPlainXml aus.

    – Um IDocs als Flatfile zu empfangen, wählen Sie in der Liste IDoc-Format die Option FlatFile aus.

    - Hinweis: Wenn Sie außerdem die Flatfile-Decodierungsaktion in Ihrem Workflow verwenden, müssen Sie im Flatfileschema die Eigenschaft early_terminate_optional_fields verwenden und den Wert auf wahr festlegen. Diese Anforderung besteht, weil der von SAP im tRFC-Aufruf mit dem Namen 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 Aktion bereitgestellt wird.
    Empfangen von IDOCS mit nicht freigegebenen Segmenten Nein Empfangen Sie IDocs mit nicht freigegebenen Segmenten oder ohne freigegebene Segmente. Um diesen Parameter hinzuzufügen und den Wert zu ändern, wählen Sie in der Liste Neuen Parameter hinzufügen die Option IDOCS mit nicht freigegebenen Segmenten empfangen und dann Ja oder Nein aus.
    SncPartnerNames Nein Die Liste der SNC-Partner, die die Berechtigung haben, den Trigger auf SAP-Clientbibliotheksebene aufzurufen. Nur die aufgeführten Partner werden über die SNC-Verbindung des SAP-Servers autorisiert. Um diesen Parameter hinzuzufügen, wählen Sie in der Liste Neuen Parameter hinzufügen die Option SncPartnerNames aus. Stellen Sie sicher, dass Sie jeden Namen durch einen senkrechten Strich (|) getrennt eingeben.

    Das folgende Beispiel zeigt einen grundlegend konfigurierten, SAP- verwalteten Trigger in einem Verbrauchsworkflow:

    Screenshot: Grundlegend konfigurierter, SAP-verwalteter Connectortrigger in einem Verbrauchsworkflow.

    Das folgende Beispiel zeigt einen verwalteten SAP-Trigger, bei dem Sie Nachrichten durch Auswählen von SAP-Aktionen filtern können:

    Screenshot: Auswählen einer SAP-Aktion, um Nachrichten in einem Verbrauchsworkflow zu filtern.

    Oder durch manuelles Festlegen einer Aktion:

    Screenshot: Manuelles Eingeben der SAP-Aktion, um Nachrichten in einem Verbrauchsworkflow zu filtern.

    Das folgende Beispiel stellt dar, wie die Aktion angezeigt wird, wenn Sie den Trigger für den Empfang mehrerer Nachrichten einrichten:

    Screenshot: Beispieltrigger, der mehrere Nachrichten in einem Verbrauchsworkflow empfängt.

  5. Speichern Sie Ihren Workflow, um den Empfang von Nachrichten von Ihrem SAP-Server zu starten. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

    Ihr Workflow kann jetzt Nachrichten von Ihrem SAP-Server empfangen.

  6. Nachdem der Trigger Ihren Workflow ausgelöst und ausgeführt hat, überprüfen Sie den Triggerverlauf des Workflows, um zu bestätigen, dass die Triggerregistrierung erfolgreich war.

Empfangen von IDoc-Paketen von SAP

Um IDoc-Pakete zu empfangen, bei denen es sich um Batches oder Gruppen von IDocs handelt, muss der SAP-Trigger nicht zusätzlich konfiguriert werden. Um jedoch jedes Element in einem IDoc-Paket zu verarbeiten, nachdem der Trigger das Paket empfangen hat, müssen Sie einige weitere Schritte implementieren, um das Paket in einzelne IDocs aufzuteilen, indem Sie SAP einrichten, um IDocs in Paketen zu senden.

Im folgenden Beispielworkflow wird veranschaulicht, wie die einzelnen IDocs aus einem Paket mithilfe der xpath()-Funktion extrahiert werden:

  1. Zunächst benötigen Sie einen Verbrauchs- oder Standard-Logik-App-Workflow mit einem SAP-Trigger. Wenn Ihr Workflow noch nicht mit diesem Trigger beginnt, führen Sie die vorherigen Schritte in dieser Anleitung aus, um den SAP-Trigger hinzuzufügen, der Nachrichten zu Ihrem Workflow empfangen kann.

  2. Um Ihrem SAP-Server sofort mit dem SAP-Anforderungsstatus zu antworten, fügen Sie die folgende Antwortaktion hinzu, je nachdem, ob Sie einen verwalteten SAP-Trigger oder einen integrierten SAP-Trigger verwenden:

    • Verwalteter SAP-Trigger: Fügen Sie für diesen Trigger dem Workflow eine Antwortaktion hinzu.

      Verwenden Sie in der Antwortaktion einen der folgenden Statuscodes (statusCode):

      Statuscode Beschreibung
      202 – Akzeptiert Die Anforderung wurde für die Verarbeitung akzeptiert, aber die Verarbeitung ist noch nicht abgeschlossen.
      204 Kein Inhalt Der Server hat die Anforderung erfolgreich ausgeführt, und es gibt keinen zusätzlichen Inhalt, der im Text der Antwortnutzlast gesendet werden kann.
      200 OK Dieser Statuscode enthält immer eine Nutzlast, auch wenn der Server einen Nutzlasttext der Länge 0 (Null) generiert.
    • Integrierter SAP-Trigger: Fügen Sie für diesen Trigger die Aktion Antworten an SAP-Server zu Ihrem Workflow hinzu.

    Hinweis

    Es ist eine bewährte Methode, diese Antwortaktion unmittelbar nach dem Trigger hinzuzufügen, um den Kommunikationskanal mit Ihrem SAP-Server freizugeben.

  3. Rufen Sie den Stammnamespace aus dem XML-IDoc ab, das Ihr Workflow von SAP empfängt.

    1. Um diesen Namespace aus dem XML-Dokument zu extrahieren und den Namespace in einer lokalen Zeichenfolgenvariablen zu speichern, fügen Sie die Aktion Variable initialisieren hinzu.

    2. Benennen Sie den Titel der Aktion um in Namespace für Stammknoten im empfangenen IDoc abrufen.

    3. Geben Sie einen Namen für die Variable an, und legen Sie den Typ auf Zeichenfolge fest.

    4. Wählen Sie im Parameter Wert der Aktion innerhalb des Bearbeitungsfelds aus, öffnen Sie den Ausdrucks- oder Funktions-Editor, und erstellen Sie den folgenden Ausdruck mithilfe der xpath()-Funktion:

      xpath(xml(triggerBody()?['Content']), 'namespace-uri(/*)')

      Verbrauchsworkflow

      Screenshot: Ausdruck, um den Namespace für Stammknoten aus dem empfangenen IDoc für einen Verbrauchsworkflow abzurufen.

      Standardworkflow

      Screenshot: Ausdruck, um den Namespace für Stammknoten aus dem empfangenen IDoc für einen Standardworkflow abzurufen.

      Wenn Sie fertig sind, wird der Ausdruck aufgelöst und erscheint nun im folgenden Format:

      Screenshot: Aufgelöster Ausdruck, der den Namespace für Stammknoten aus dem empfangenen IDoc abruft.

  4. Führen Sie die folgenden Schritte aus, um ein einzelnes IDoc zu extrahieren, indem Sie die IDoc-Auflistung in einer lokalen Arrayvariablen speichern:

    1. Fügen Sie eine weitere Aktion Variable initialisieren hinzu.

    2. Benennen Sie den Titel der Aktion um in Array mit IDoc-Datenelementen abrufen.

    3. Geben Sie einen Namen für die Variable an, und legen Sie den Typ auf Array fest.

      Die Arrayvariable stellt jedes IDoc für die individuelle Verarbeitung durch Ihren Workflow bereit, indem die gesamte Sammlung enumeriert wird.

    4. Wählen Sie im Parameter Wert der Aktion die Option im Bearbeitungsfeld aus, öffnen Sie den Ausdrucks- oder Funktions-Editor, und erstellen Sie den folgenden xpath() Ausdruck:

      xpath(xml(triggerBody()?['Content']), '/*[local-name()="Receive"]/*[local-name()="idocData"]')

      Wenn Sie fertig sind, wird der Ausdruck aufgelöst und erscheint nun im folgenden Format:

      Verbrauchsworkflow

      Screenshot: Ausdruck, um ein Array von IDocs für einen Verbrauchsworkflow abzurufen.

      In diesem Beispiel überträgt der folgende Workflow jedes IDoc an einen SFTP-Server, indem die Steuerungsaktion mit dem Namen Für alle und die SFTP-SSH-Aktion mit dem Namen Datei erstellen verwendet werden. Der Stammnamespace muss in jedem IDoc-Element enthalten sein. Daher wird der Inhalt der Datei zusammen mit dem Stammnamespace von einem <Receive></Receive>-Element umschlossen, bevor das IDoc-Element an die Downstream-App oder in diesem Fall an den SFTP-Server gesendet wird.

      Screenshot: Senden eines IDoc an einen SFTP-Server aus einem Vebrauchsworkflow.

      Hinweis

      Für Verbrauchsworkflows ist dieses Muster als Schnellstartvorlage verfügbar, die Sie aus dem Vorlagenkatalog auswählen können, wenn Sie eine Verbrauchslogik-App-Ressource und einen leeren Workflow erstellen. Oder wenn der Workflow-Designer geöffnet ist, wählen Sie auf der Designer-Symbolleiste Vorlagen aus.

      Screenshot: Auswählen der Vorlage zum Abrufen eines IDoc-Batchs.

      Standardworkflow

      Screenshot: Ausdruck, um ein Array von IDocs für einen Standardworkflow abzurufen.

      In diesem Beispiel überträgt der folgende Workflow jedes IDoc an einen SFTP-Server, indem die Steuerungsaktion mit dem Namen Für alle und die SFTP-SSH-Aktion mit dem Namen Datei erstellen verwendet werden. Der Stammnamespace muss in jedem IDoc-Element enthalten sein. Daher wird der Inhalt der Datei zusammen mit dem Stammnamespace von einem <Receive></Receive>-Element umschlossen, bevor das IDoc-Element an die Downstream-App oder in diesem Fall an den SFTP-Server gesendet wird.

      Screenshot: Senden eines IDoc an einen SFTP-Server aus einem Standardworkflow.


Filtern von empfangenen Nachrichten mit SAP-Aktionen

Wenn Sie den verwalteten SAP-Connector oder den SAP-Connector in der ISE-Version verwenden, richten Sie unter dem Trigger in Ihrem Workflow eine Möglichkeit ein, alle unerwünschten Aktionen von Ihrem SAP-Server explizit herauszufiltern – basierend auf dem Namespace für Stammknoten in der empfangenen XML-Nutzlast . Sie können eine Liste (Array) mit einer einzelnen oder mehreren SAP-Aktionen bereitstellen. Standardmäßig ist dieses Array leer, was bedeutet, dass Ihr Workflow alle Nachrichten von Ihrem SAP-Server ohne Filterung empfängt. Wenn Sie den Arrayfilter einrichten, empfängt der Trigger nur Nachrichten der angegebenen SAP-Aktionstypen und lehnt alle anderen Nachrichten von Ihrem SAP-Server ab. Dieser Filter beeinflusst jedoch nicht, ob die Typisierung der empfangenen Nutzlast schwach oder stark ist. Jegliche SAP-Aktionsfilterung erfolgt auf Ebene des SAP-Adapters für Ihr lokales Datengateway. Weitere Informationen finden Sie unter Testen des Sendens von IDocs an Azure Logic Apps von SAP.

Einrichten des asynchronen Anforderung/Antwort-Musters für Trigger

Der verwaltete SAP-Connector unterstützt das asynchrone Anforderung/Antwort-Muster von Azure für Azure Logic Apps-Trigger. Sie können dieses Muster verwenden, um erfolgreiche Anforderungen zu erstellen, die andernfalls mit dem standardmäßigen synchronen Anforderung/Antwort-Muster fehlschlagen würden.

Hinweis

In Workflows mit mehreren Antwortaktionen müssen alle Antwortaktionen dasselbe Anforderung/Antwort-Muster verwenden. Wenn Ihr Workflow z. B. ein Switch-Steuerelement mit mehreren möglichen Antwortaktionen verwendet, müssen Sie alle Antwortaktionen so einrichten, dass sie dasselbe Anforderung/Antwort-Muster verwenden – entweder synchron oder asynchron.

Wenn Sie eine asynchrone Antwort für Ihre Antwortaktion aktivieren, kann Ihr Workflow nach dem Akzeptieren einer Anforderung zur Verarbeitung der Antwort 202 Akzeptiert senden. Die Antwort enthält einen location-Header, den Sie verwenden können, um den endgültigen Status Ihrer Anforderung abzurufen.

Führen Sie die folgenden Schritte aus, um ein asynchrones Anforderung/Antwort-Muster für Ihren Workflow unter Verwendung des SAP-Connectors zu konfigurieren:

  1. Öffnen Sie im Designer Ihren Logik-App-Workflow. Vergewissern Sie sich, dass Ihr Workflow mit einem SAP-Trigger beginnt.

  2. Suchen Sie in Ihrem Workflow nach der Antwortaktion, und öffnen Sie die Einstellungen dieser Aktion.

  3. Je nachdem, ob Sie über einen Verbrauchs- oder Standardworkflow verfügen, führen Sie die entsprechenden Schritte aus:

    • Verbrauch: Ändern Sie unter Asynchrone Antwort die Einstellung von Aus in Ein, und wählen Sie Fertig aus.
    • Standard: Erweitern Sie Netzwerk, und ändern Sie unter Asynchrone Antwort die Einstellung von Aus in Ein.
  4. Speichern Sie den Workflow.

Senden von IDocs an SAP

Folgen Sie diesen Beispielen, um einen Logik-App-Workflow zu erstellen, der ein IDoc an einen SAP-Server sendet und eine Antwort zurückgibt:

  1. Erstellen Sie einen Logik-App-Workflow, der von einer HTTP-Anforderung ausgelöst wird.
  2. Fügen Sie Ihrem Workflow eine SAP-Aktion zum Senden eines IDoc an SAP hinzu.
  3. Fügen Sie Ihrem Workflow eine Antwortaktion hinzu.
  4. Erstellen Sie ein Anforderung/Antwort-Muster für einen Remotefunktionsaufruf (RFC), wenn Sie einen RFC verwenden, um Antworten von SAP ABAP zu empfangen.
  5. Testen Sie Ihren Workflow.

Hinzufügen des Anforderungstriggers

Damit Ihr Workflow IDocs von SAP über XML HTTP empfangen kann, können Sie den integrierten Anforderungstrigger verwenden. Dieser Trigger erstellt einen Endpunkt mit einer URL, über die Ihr SAP-Server HTTP POST-Anforderungen an Ihren Workflow senden kann. Wenn Ihr Workflow diese Anforderungen empfängt, wird der Trigger ausgelöst und führt den nächsten Schritt in Ihrem Workflow aus.

Informationen dazu, wie Sie IDocs per Common Programming Interface Communication (CPIC) als reine XML-Datei oder als Flatfile empfangen, finden Sie unter Empfangen von Nachrichten von SAP.

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:

  1. Erstellen Sie im Azure-Portal eine Verbrauchs-Logik-App-Ressource und einen leeren Workflow im Designer.

  2. Führen Sie im Designer die folgenden allgemeinen Schritte aus, um den integrierten Anforderungstrigger mit dem Namen Beim Empfang einer HTTP-Anforderung zu suchen und hinzuzufügen.

    Screenshot: Anforderungstrigger für einen Verbrauchsworkflow.

  3. Speichern Sie den Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

    Dieser Schritt generiert eine Endpunkt-URL, mit der Ihr Trigger Anforderungen von Ihrem SAP-Server empfangen kann, z. B.:

    Screenshot: Die vom Anforderungstrigger generierte Endpunkt-URL für den Empfang von Anforderungen in einem Verbrauchsworkflow.

Hinzufügen einer SAP-Aktion zum Senden eines IDoc

Erstellen Sie dann eine Aktion zum Senden Ihres IDoc an SAP, wenn der Anforderungstrigger des Workflows ausgelöst wird. 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:

  1. Wählen Sie im Workflow-Designer unter dem Anforderungstrigger die Option Neuer Schritt aus.

  2. Führen Sie im Designer die folgenden allgemeinen Schritte aus, um die verwaltete SAP-Aktion mit dem Namen Nachricht an SAP senden zu suchen und hinzuzufügen.

  3. Wenn Sie dazu aufgefordert werden, geben Sie die folgende Verbindungsinformationen für Ihren lokalen SAP-Server an. Wählen Sie Erstellen, wenn Sie fertig sind. Fahren Sie andernfalls mit dem nächsten Schritt fort, um die SAP-Aktion einzurichten.

    Parameter Erforderlich BESCHREIBUNG
    Verbindungsname Ja Geben Sie einen Namen für die Verbindung ein.
    Datengateway Ja 1. Wählen Sie für Abonnement das Azure-Abonnement für die Datengateway-Ressource aus, die Sie im Azure-Portal für die Installation Ihres Datengateways erstellt haben.

    2. Wählen Sie für Verbindungsgateway Ihre Datengateway-Ressource in Azure aus.
    Client Ja Die SAP-Client-ID, die für die Verbindung zu Ihrem SAP-Server verwendet wird
    Authentifizierungstyp Ja Der für Ihre Verbindung zu verwendende Authentifizierungstyp, der Basic (Benutzername und Kennwort) sein muss. Informationen zum Erstellen einer SNC-Verbindung finden Sie unter Secure Network Communications (SNC) aktivieren.
    SAP-Benutzername Ja Der Benutzername für Ihren SAP-Server
    SAP-Kennwort Ja Das Kennwort für Ihren SAP-Server
    Anmeldetyp Ja Wählen Sie entweder Anwendungsserver oder Gruppe (Nachrichtenserver) aus, und konfigurieren Sie dann die entsprechenden erforderlichen Parameter, auch wenn sie optional erscheinen:

    Anwendungsserver:
    - AS-Host: Der Hostname für Ihren SAP-Anwendungsserver
    - AS-Dienst: Der Dienstname oder die Portnummer für Ihren SAP-Anwendungsserver
    - AS-Systemnummer: Die Systemnummer Ihres SAP-Servers, die zwischen 00 und 99 liegt

    Gruppe:
    - MS-Server-Host: Der Hostname für Ihren SAP-Nachrichtenserver
    - MS-Dienstname oder Portnummer: Der Dienstname oder die Portnummer für Ihren SAP-Nachrichtenserver
    - MS-System-ID: Die System-ID für Ihren SAP-Server
    - MS-Anmeldegruppe: Die Anmeldegruppe für Ihren SAP-Server. Auf Ihrem SAP-Server können Sie den Wert Anmeldegruppe suchen oder bearbeiten, indem Sie das Dialogfeld CCMS: Anmeldegruppen verwalten (T-Code SMLG) öffnen. Weitere Informationen finden Sie im SAP-Hinweis 26317 – Einrichten der LOGON-Gruppe für den automatischen Lastenausgleich.
    Sichere Typisierung Nein Diese Option ist aus Gründen der Abwärtskompatibilität verfügbar und überprüft nur die Länge der Zeichenfolge. Standardmäßig wird starke Typisierung verwendet, um nach ungültigen Werten zu suchen, indem eine XML-Validierung anhand des Schemas durchgeführt wird. Durch dieses Verhalten können Sie Probleme früher feststellen. Erfahren Sie mehr über die Einstellung „Sichere Typisierung“.
    SNC verwenden Nein Informationen zum Erstellen einer SNC-Verbindung finden Sie unter Secure Network Communications (SNC) aktivieren.

    Weitere optional verfügbare Verbindungsparameter finden Sie unter Standardverbindungsinformationen.

    Nachdem Azure Logic Apps Ihre Verbindung eingerichtet und getestet hat, wird das SAP-Aktionsinformationsfeld angezeigt. Weitere Informationen zu Verbindungsproblemen, die auftreten können, finden Sie unter Behandeln von Verbindungsproblemen.

    Screenshot: Verbrauchsworkflow mit der verwalteten SAP-Aktion mit dem Namen „Nachricht an SAP senden“.

  4. Suchen Sie in der Aktion Nachricht an SAP senden nach einer verfügbaren SAP-Aktion auf Ihrem SAP-Server und wählen Sie diese aus, um das IDoc zu senden.

    Die Aktion Nachricht an SAP senden ist generisch und kann eine Nachricht für BAPI, IDoc, RFC oder tRFC senden. Sie müssen jedoch zuerst den Nachrichtentyp und die zu verwendende SAP-Aktion auswählen.

    1. Wählen Sie im Bearbeitungsfeld des Parameters SAP-Aktiondas Ordnersymbol aus. Wählen Sie in der sich öffnenden Liste BAPI, IDOC, RFC oder TRFC aus. In diesem Beispiel wird IDOC ausgewählt. Wenn Sie einen anderen Typ auswählen, ändern sich die verfügbaren SAP-Aktionen basierend auf Ihrer Auswahl.

      Hinweis

      Wenn Sie einen Fehler Ungültiges Gateway (500) oder einen Fehler Ungültige Anforderung (400) erhalten, lesen Sie Fehler „500 Ungültiges Gateway“ oder „400 Ungültige Anforderung“.

      Screenshot: Auswählen von IDOC für einen Verbrauchsworkflow.

    2. Durchsuchen Sie die SAP-Aktionstypenordner mithilfe der Pfeile, um die SAP-Aktion zu finden und auszuwählen, die Sie verwenden möchten.

      In diesem Beispiel wird AUFTRÄGE>AUFTRÄGE05>720>Senden ausgewählt.

      Screenshot: Suchen einer Auftragsaktion für einen Verbrauchsworkflow.

      Wenn Sie die Aktion, die Sie verwenden möchten, nicht finden können, können Sie einen Pfad auch manuell eingeben:

      Screenshot: Manuelles Eingeben eines Pfads zu einem Auftragsaktionstyp für einen Verbrauchsworkflow.

      Tipp

      Für den Parameter SAP-Aktion können Sie den Ausdrucks-Editor verwenden, um den Parameterwert anzugeben. Auf diese Weise können Sie dieselbe SAP-Aktion für verschiedene Nachrichtentypen verwenden.

      Weitere Informationen zu IDoc-Nachrichten finden Sie unter Nachrichtenschemas für IDoc-Vorgänge.

    3. Fügen Sie in die Aktion Nachricht an SAP senden die Textausgabe des Anforderungstriggers ein.

      1. Wählen Sie im Parameter Eingabenachricht die Option im Bearbeitungsfeld aus, um die Liste der dynamischen Inhalte zu öffnen.

      2. Klicken Sie in der Liste der dynamischen Inhalte unter Beim Empfang einer HTTP-Anforderung die Option Text aus. Das Feld Text enthält die Textausgabe des Anforderungstriggers.

        Hinweis

        Wenn das Feld Text nicht in der Liste aufgeführt ist, wählen Sie Mehr anzeigen neben der Bezeichnung Beim Empfang einer HTTP-Anforderung aus.

      Screenshot: Auswählen der Ausgabe des Anforderungstriggers mit dem Namen „Text für den Verbrauchsworkflow“.

      Die Aktion Nachricht an SAP senden enthält jetzt den Textinhalt des Anforderungstriggers und sendet diese Ausgabe an Ihren SAP-Server, z. B.:

      Screenshot: Abgeschlossene SAP-Aktion für den Verbrauchsworkflow.

  5. Speichern Sie den Workflow.

Senden von Flatfile-IDocs an den SAP-Server (nur verwalteter Connector)

Um ein IDoc mithilfe eines Flatfile-Schemas zu senden, wenn Sie den verwalteten SAP-Connector verwenden, können Sie das IDoc mit einem XML-Umschlag umschließen und die allgemeinen Schritte zum Hinzufügen einer SAP-Aktion zum Senden eines IDoc ausführen, jedoch mit den folgenden Änderungen.

Hinweis

Wenn Sie den integrierten SAP-Connector verwenden, stellen Sie sicher, dass Sie ein Flatfile-IDoc nicht mit einem XML-Umschlag umschließen.

Umschließen von IDocs mit einem XML-Umschlag

  1. Verwenden Sie in der SAP-Aktion, die Sie zum Senden der Nachricht verwenden, den folgenden URI:

    http://Microsoft.LobServices.Sap/2007/03/Idoc/SendIdoc

  2. Formatieren Sie Ihre Eingabenachricht mit einem XML-Umschlag.

Das folgende Beispiel zeigt eine XML-Beispielnutzlast:

<SendIdoc xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/">
  <idocData>EDI_DC 3000000001017945375750 30INVOIC011BTSVLINV30KUABCABCFPPC LDCA X004010810 4 SAPMSX LSEDI ABCABCFPPC 000d3ae4-723e-1edb-9ca4-cc017365c9fd 20210217054521INVOICINVOIC01ZINVOIC2RE 20210217054520
E2EDK010013000000001017945375000001E2EDK01001000000010 ABCABC1.00000 0060 INVO9988298128 298.000 298.000 LB Z4LR EN 0005065828 L
E2EDKA1 3000000001017945375000002E2EDKA1 000000020 RS ABCABCFPPC 0005065828 ABCABCABC ABCABC Inc. Limited Risk Distributor ABCABC 1950 ABCABCABCA Blvd ABCABAABCAB L5N8L9 CA ABCABC E ON V-ABCABC LDCA
E2EDKA1 3000000001017945375000003E2EDKA1 000000020 AG 0005065828 ABCABCFPPC ABCABC ABCABC ABCABC - FPP ONLY 88 ABCABC Crescent ABCABAABCAB L5R 4A2 CA ABCABC 111 111 1111 E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000004E2EDKA1 000000020 RE 0005065828 ABCABCFPPC ABCABC ABCABC ABCABC - FPP ONLY 88 ABCABC Crescent ABCABAABCAB L5R 4A2 CA ABCABC 111 111 1111 E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000005E2EDKA1 000000020 RG 0005065828 ABCABCFPPC ABCABC ABCABC ABCABC - FPP ONLY 88 ABCABC Crescent ABCABAABCAB L5R 4A2 CA ABCABC 111 111 1111 E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000006E2EDKA1 000000020 WE 0005001847 41 ABCABC ABCABC INC (ABCABC) DC A. ABCABCAB 88 ABCABC CRESCENT ABCABAABCAB L5R 4A2 CA ABCABC 111-111-1111 E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000007E2EDKA1 000000020 Z3 0005533050 ABCABCABC ABCABC Inc. ABCA Bank Swift Code -ABCABCABCAB Sort Code - 1950 ABCABCABCA Blvd. Acc No -1111111111 ABCABAABCAB L5N8L9 CA ABCABC E ON ABCABCFPPC EN
E2EDKA1 3000000001017945375000008E2EDKA1 000000020 BK 1075 ABCABCABC ABCABC Inc 1950 ABCABCABCA Blvd ABCABAABCAB ON L5N 8L9 CA ABCABC (111) 111-1111 (111) 111-1111 ON
E2EDKA1 3000000001017945375000009E2EDKA1 000000020 CR 1075 CONTACT ABCABCABC 1950 ABCABCABCA Blvd ABCABAABCAB ON L5N 8L9 CA ABCABC (111) 111-1111 (111) 111-1111 ON
E2EDK02 3000000001017945375000010E2EDK02 000000020 0099988298128 20210217
E2EDK02 3000000001017945375000011E2EDK02 000000020 00140-N6260-S 20210205
E2EDK02 3000000001017945375000012E2EDK02 000000020 0026336270425 20210217
E2EDK02 3000000001017945375000013E2EDK02 000000020 0128026580537 20210224
E2EDK02 3000000001017945375000014E2EDK02 000000020 01740-N6260-S
E2EDK02 3000000001017945375000015E2EDK02 000000020 900IAC
E2EDK02 3000000001017945375000016E2EDK02 000000020 901ZSH
E2EDK02 3000000001017945375000017E2EDK02 000000020 9078026580537 20210217
E2EDK03 3000000001017945375000018E2EDK03 000000020 02620210217
E2EDK03 3000000001017945375000019E2EDK03 000000020 00120210224
E2EDK03 3000000001017945375000020E2EDK03 000000020 02220210205
E2EDK03 3000000001017945375000021E2EDK03 000000020 01220210217
E2EDK03 3000000001017945375000022E2EDK03 000000020 01120210217
E2EDK03 3000000001017945375000023E2EDK03 000000020 02420210217
E2EDK03 3000000001017945375000024E2EDK03 000000020 02820210418
E2EDK03 3000000001017945375000025E2EDK03 000000020 04820210217
E2EDK17 3000000001017945375000026E2EDK17 000000020 001DDPDelivered Duty Paid
E2EDK17 3000000001017945375000027E2EDK17 000000020 002DDPdestination
E2EDK18 3000000001017945375000028E2EDK18 000000020 00160 0 Up to 04/18/2021 without deduction
E2EDK28 3000000001017945375000029E2EDK28 000000020 CA BOFACATT Bank of ABCABAB ABCABC ABCABAB 50127217 ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000030E2EDK28 000000020 CA 026000082 ABCAbank ABCABC ABCABAB 201456700OLD ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000031E2EDK28 000000020 GB ABCAGB2L ABCAbank N.A ABCABA E14, 5LB GB63ABCA18500803115593 ABCABCABC ABCABC Inc. GB63ABCA18500803115593
E2EDK28 3000000001017945375000032E2EDK28 000000020 CA 020012328 ABCABANK ABCABC ABCABAB ON M5J 2M3 2014567007 ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000033E2EDK28 000000020 CA 03722010 ABCABABC ABCABABC Bank of Commerce ABCABAABCAB 64-04812 ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000034E2EDK28 000000020 IE IHCC In-House Cash Center IHCC1075 ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000035E2EDK28 000000020 CA 000300002 ABCAB Bank of ABCABC ABCABAB 0021520584OLD ABCABCABC ABCABC Inc.
E2EDK28 3000000001017945375000036E2EDK28 000000020 US USCC US Cash Center (IHC) city USCC1075 ABCABCABC ABCABC Inc.
E2EDK29 3000000001017945375000037E2EDK29 000000020 0064848944US A CAD CA ABCABC CA United States US CA A Air Air
E2EDKT1 3000000001017945375000038E2EDKT1 000000020 ZJ32E EN
E2EDKT2 3000000001017945375000039E2EDKT2 000038030 GST/HST877845941RT0001 *
E2EDKT2 3000000001017945375000040E2EDKT2 000038030 QST1021036966TQ0001 *
E2EDKT1 3000000001017945375000041E2EDKT1 000000020 Z4VL
E2EDKT2 3000000001017945375000042E2EDKT2 000041030 0.000 *
E2EDKT1 3000000001017945375000043E2EDKT1 000000020 Z4VH
E2EDKT2 3000000001017945375000044E2EDKT2 000043030 *
E2EDK14 3000000001017945375000045E2EDK14 000000020 008LDCA
E2EDK14 3000000001017945375000046E2EDK14 000000020 00710
E2EDK14 3000000001017945375000047E2EDK14 000000020 00610
E2EDK14 3000000001017945375000048E2EDK14 000000020 015Z4F2
E2EDK14 3000000001017945375000049E2EDK14 000000020 0031075
E2EDK14 3000000001017945375000050E2EDK14 000000020 021M
E2EDK14 3000000001017945375000051E2EDK14 000000020 0161075
E2EDK14 3000000001017945375000052E2EDK14 000000020 962M
E2EDP010013000000001017945375000053E2EDP01001000000020 000011 2980.000 EA 298.000 LB MOUSE 298.000 Z4TN 4260
E2EDP02 3000000001017945375000054E2EDP02 000053030 00140-N6260-S 00000120210205 DFUE
E2EDP02 3000000001017945375000055E2EDP02 000053030 0026336270425 00001120210217
E2EDP02 3000000001017945375000056E2EDP02 000053030 0168026580537 00001020210224
E2EDP02 3000000001017945375000057E2EDP02 000053030 9100000 00000120210205 DFUE
E2EDP02 3000000001017945375000058E2EDP02 000053030 911A 00000120210205 DFUE
E2EDP02 3000000001017945375000059E2EDP02 000053030 912PP 00000120210205 DFUE
E2EDP02 3000000001017945375000060E2EDP02 000053030 91300 00000120210205 DFUE
E2EDP02 3000000001017945375000061E2EDP02 000053030 914CONTACT ABCABCABC 00000120210205 DFUE
E2EDP02 3000000001017945375000062E2EDP02 000053030 963 00000120210205 DFUE
E2EDP02 3000000001017945375000063E2EDP02 000053030 965 00000120210205 DFUE
E2EDP02 3000000001017945375000064E2EDP02 000053030 9666336270425 00000120210205 DFUE
E2EDP02 3000000001017945375000065E2EDP02 000053030 9078026580537 00001020210205 DFUE
E2EDP03 3000000001017945375000066E2EDP03 000053030 02920210217
E2EDP03 3000000001017945375000067E2EDP03 000053030 00120210224
E2EDP03 3000000001017945375000068E2EDP03 000053030 01120210217
E2EDP03 3000000001017945375000069E2EDP03 000053030 02520210217
E2EDP03 3000000001017945375000070E2EDP03 000053030 02720210217
E2EDP03 3000000001017945375000071E2EDP03 000053030 02320210217
E2EDP03 3000000001017945375000072E2EDP03 000053030 02220210205
E2EDP19 3000000001017945375000073E2EDP19 000053030 001418VVZ
E2EDP19 3000000001017945375000074E2EDP19 000053030 002RJR-00001 AB ABCABCABC Mouse FORBUS BLUETOOTH
E2EDP19 3000000001017945375000075E2EDP19 000053030 0078471609000
E2EDP19 3000000001017945375000076E2EDP19 000053030 003889842532685
E2EDP19 3000000001017945375000077E2EDP19 000053030 011CN
E2EDP26 3000000001017945375000078E2EDP26 000053030 00459064.20
E2EDP26 3000000001017945375000079E2EDP26 000053030 00352269.20
E2EDP26 3000000001017945375000080E2EDP26 000053030 01052269.20
E2EDP26 3000000001017945375000081E2EDP26 000053030 01152269.20
E2EDP26 3000000001017945375000082E2EDP26 000053030 0126795.00
E2EDP26 3000000001017945375000083E2EDP26 000053030 01552269.20
E2EDP26 3000000001017945375000084E2EDP26 000053030 00117.54
E2EDP26 3000000001017945375000085E2EDP26 000053030 00252269.20
E2EDP26 3000000001017945375000086E2EDP26 000053030 940 2980.000
E2EDP26 3000000001017945375000087E2EDP26 000053030 939 2980.000
E2EDP05 3000000001017945375000088E2EDP05 000053030 + Z400MS List Price 52269.20 17.54 1 EA CAD 2980
E2EDP05 3000000001017945375000089E2EDP05 000053030 + XR1 Tax Jur Code Level 6795.00 13.000 52269.20
E2EDP05 3000000001017945375000090E2EDP05 000053030 + Tax Subtotal1 6795.00 2.28 1 EA CAD 2980
E2EDP05 3000000001017945375000091E2EDP05 000053030 + Taxable Amount + TaxSubtotal1 59064.20 19.82 1 EA CAD 2980
E2EDP04 3000000001017945375000092E2EDP04 000053030 CX 13.000 6795.00 7000000000
E2EDP04 3000000001017945375000093E2EDP04 000053030 CX 0 0 7001500000
E2EDP04 3000000001017945375000094E2EDP04 000053030 CX 0 0 7001505690
E2EDP28 3000000001017945375000095E2EDP28 000053030 00648489440000108471609000 CN CN ABCAB ZZ 298.000 298.000 LB US 400 United Stat KY
E2EDPT1 3000000001017945375000096E2EDPT1 000053030 0001E EN
E2EDPT2 3000000001017945375000097E2EDPT2 000096040 AB ABCABCABC Mouse forBus Bluetooth EN/XC/XD/XX Hdwr Black For Bsnss *
E2EDS01 3000000001017945375000098E2EDS01 000000020 0011
E2EDS01 3000000001017945375000099E2EDS01 000000020 01259064.20 CAD
E2EDS01 3000000001017945375000100E2EDS01 000000020 0056795.00 CAD
E2EDS01 3000000001017945375000101E2EDS01 000000020 01159064.20 CAD
E2EDS01 3000000001017945375000102E2EDS01 000000020 01052269.20 CAD
E2EDS01 3000000001017945375000103E2EDS01 000000020 94200000 CAD
E2EDS01 3000000001017945375000104E2EDS01 000000020 9440.00 CAD
E2EDS01 3000000001017945375000105E2EDS01 000000020 9450.00 CAD
E2EDS01 3000000001017945375000106E2EDS01 000000020 94659064.20 CAD
E2EDS01 3000000001017945375000107E2EDS01 000000020 94752269.20 CAD
E2EDS01 3000000001017945375000108E2EDS01 000000020 EXT
Z2XSK010003000000001017945375000109Z2XSK01000000108030 Z400 52269.20
Z2XSK010003000000001017945375000110Z2XSK01000000108030 XR1 13.000 6795.00 CX
</idocData>
</SendIdoc>

Hinzufügen einer Antwortaktion

Richten Sie nun Ihren Workflow so ein, dass die Ergebnisse von Ihrem SAP-Server an den ursprünglichen Anforderer zurückgegeben werden. Führen Sie diese Aufgabe in folgenden Schritten aus:

  1. Wählen Sie im Workflow-Designer unter der SAP-Aktion die Option Neuer Schritt aus.

  2. Führen Sie im Designer die folgenden allgemeinen Schritte aus, um die integrierte Anforderungsaktion mit dem Namen Antwort zu suchen und hinzuzufügen.

  3. Wählen Sie in der Aktion Antwort für den Parameter Text die Option im Bearbeitungsfeld aus, um die Liste der dynamischen Inhalte zu öffnen.

  4. Wählen Sie in der Liste der dynamischen Inhalte unter Nachricht an SAP senden die Option Text aus. Das Feld Text enthält die Textausgabe der SAP-Aktion.

    Screenshot: Auswählen der Ausgabe der SAP-Aktion mit dem Namen „Text für den Verbrauchsworkflow“.

  5. Speichern Sie den Workflow.

Erstellen eines Anforderung/Antwort-Musters für einen Remotefunktionsaufruf (RFC)

Für die Verbrauchsworkflows, die den verwalteten SAP-Connector und den SAP-Connector in der ISE-Version verwenden, müssen Sie ein Anforderungs- und Antwortmuster implementieren, wenn Sie Antworten über einen Remotefunktionsaufruf (RFC) an Azure Logic Apps von SAP ABAP empfangen müssen. Um IDocs in Ihrem Workflow zu empfangen, wenn Sie den Anforderungstrigger verwenden, stellen Sie sicher, dass die erste Aktion des Workflows eine Antwortaktion ist, die den Statuscode 200 OK ohne Inhalt verwendet. Mit diesem empfohlenen Schritt wird die asynchrone SAP LUW-Übertragung (SAP Logical Unit of Work) per tRFC sofort abgeschlossen, und die SAP CPIC-Konversation ist wieder verfügbar. Anschließend können Sie Ihrem Workflow weitere Aktionen zum Verarbeiten des empfangenen IDocs hinzufügen, ohne spätere Übertragungen zu blockieren.

Hinweis

Der SAP-Trigger empfängt IDocs per tRFC, und hierfür ist standardmäßig kein Antwortparameter vorhanden.

Zum Implementieren eines Anforderung/Antwort-Musters müssen Sie zuerst mit dem Befehl generate schema das RFC-Schema ermitteln. Das generierte Schema verfügt über zwei mögliche Stammknoten:

  • Der Anforderungsknoten, bei dem es um den Aufruf geht, den Sie von SAP erhalten
  • Der Antwortknoten, bei dem es um Ihre Antwort an SAP geht

Im folgenden Beispiel generiert das STFC_CONNECTION RFC-Modul ein Anforderung/Antwort-Muster. Der XML-Code der Anforderung wird analysiert, um einen Knotenwert zu extrahieren, mit dem <ECHOTEXT> von SAP angefordert wird. In der Antwort wird der aktuelle Zeitstempel als dynamischer Wert eingefügt. Sie erhalten eine ähnliche Antwort, wenn Sie einen RFC vom Typ STFC_CONNECTION aus einem Logik-App-Workflow an SAP senden.

<STFC_CONNECTIONResponse xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
  <ECHOTEXT>@{first(xpath(xml(triggerBody()?['Content']), '/*[local-name()="STFC_CONNECTION"]/*[local-name()="REQUTEXT"]/text()'))}</ECHOTEXT>
  <RESPTEXT>Azure Logic Apps @{utcNow()}</RESPTEXT>
</STFC_CONNECTIONResponse>

Testen Ihres Workflows

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

  2. Wählen Sie auf der Symbolleiste des Designers die Option Ausführen>Ausführen aus, um Ihren Workflow manuell zu starten.

  3. Um eine Webhook-Triggernutzlast zu simulieren und den Workflow auszulösen, senden Sie eine HTTP-Anforderung an die vom Anforderungstrigger Ihres Workflows erstellte Endpunkt-URL, einschließlich der Methode, die der Anforderungstrigger erwartet, indem Sie Ihr HTTP-Anforderungstool und dessen Anweisungen verwenden. Stellen Sie sicher, dass Sie den Nachrichteninhalt in Ihre Anforderung einfügen.

    In diesem Beispiel wird die Methode POST und die Endpunkt-URL verwendet, um eine IDoc-Datei zu senden, die im XML-Format vorliegen und den Namespace für die von Ihnen ausgewählte SAP-Aktion enthalten muss, z. B.:

    <?xml version="1.0" encoding="UTF-8" ?>
    <Send xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/2/ORDERS05//720/Send">
      <idocData>
        <...>
      </idocData>
    </Send>
    
  4. Nachdem Sie die HTTP-Anforderung gesendet haben, warten Sie auf die Antwort Ihres Workflows.

    Hinweis

    Im Workflow kann ein Timeout auftreten, wenn nicht alle für die Antwort erforderlichen Schritte innerhalb des Timeoutlimits der Anforderung abgeschlossen wurden. Wenn dies passiert, können Anforderungen blockiert werden. Um die Problemdiagnose zu vereinfachen, sollten Sie sich mit dem Überprüfen und Überwachen Ihrer Logik-App-Workflows vertraut machen.

Sie haben einen Workflow erstellt, der mit dem SAP-Server kommunizieren kann. Nachdem Sie nun eine SAP-Verbindung für Ihren Workflow eingerichtet haben, können Sie mit BAPI und RFC testen.

Sichere Typisierung

Standardmäßig wird beim Erstellen der Verbindung für den verwalteten SAP-Vorgang starke Typisierung verwendet, um nach ungültigen Werten zu suchen, indem eine XML-Validierung anhand des Schemas durchgeführt wird. Durch dieses Verhalten können Sie Probleme früher feststellen. Die Option Sichere Typisierung ist aus Gründen der Abwärtskompatibilität verfügbar und überprüft nur die Länge der Zeichenfolge. Wenn Sie Sichere Typisierung auswählen, werden die DATS- und TIMS-Typen in SAP als Zeichenfolgen und nicht als ihre XML-Entsprechungen (xs:date und xs:time, xmlns:xs="http://www.w3.org/2001/XMLSchema") behandelt. Die sichere Typisierung beeinflusst das Verhalten für die gesamte Schemagenerierung, die Sendenachricht für die Nutzlast „wurde gesendet“ und die Antwort „wurde empfangen“ sowie den Trigger.

Wenn starke Typisierung verwendet wird (Sichere Typisierung ist nicht aktiviert) ordnet das Schema die DATS-und TIMS-Typen einfacheren XML-Typen zu:

<xs:element minOccurs="0" maxOccurs="1" name="UPDDAT" nillable="true" type="xs:date"/>
<xs:element minOccurs="0" maxOccurs="1" name="UPDTIM" nillable="true" type="xs:time"/>

Beim Senden von Nachrichten mit starker Typisierung stimmt die DATS- und TIMS-Antwort mit dem entsprechenden XML-Typformat überein:

<DATE>9999-12-31</DATE>
<TIME>23:59:59</TIME>

Wenn Sichere Typisierung aktiviert ist, ordnet das Schema die DATS- und TIMS-Typen nur XML-Zeichenfolgenfeldern mit Längeneinschränkungen zu, z.B.:

<xs:element minOccurs="0" maxOccurs="1" name="UPDDAT" nillable="true">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:maxLength value="8" />
    </xs:restriction>
  </xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="UPDTIM" nillable="true">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:maxLength value="6" />
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Beim Senden von Nachrichten mit aktivierter Sicherer Typisierung sieht die DATS- und TIMS-Antwort wie im folgenden Beispiel aus:

<DATE>99991231</DATE>
<TIME>235959</TIME>

Erweiterte Szenarien

Ändern von Sprachheadern zum Senden von Daten an SAP

Wenn Sie über Azure Logic Apps eine Verbindung mit SAP herstellen, ist Englisch die Standardsprache, die von der SAP-Verbindung zum Senden von Daten an Ihren SAP-Server verwendet wird. Der verwaltete SAP-Connector und der integrierte SAP-Connector verarbeiten jedoch das Ändern und Speichern der Sprache, die auf unterschiedliche Weise verwendet wird.

  • Wenn Sie eine Verbindung mit dem integrierten SAP-Connector erstellen, können Sie mit den Verbindungsparametern den Sprachparameterwert als Teil der SAP-Verbindungsparameter angeben und speichern.

  • Wenn Sie eine Verbindung mit dem verwalteten SAP-Connector erstellen, haben die Verbindungsparameter keinen Sprachparameter. Während dieses Zeitraums können Sie also nicht die Sprache angeben oder speichern, die zum Senden von Daten an Ihren SAP-Server verwendet werden soll. Stattdessen verwendet der Connector sowohl zur Entwurfszeit des Workflows als auch zur Laufzeit die lokale Sprache Ihres Webbrowsers von jeder Anforderung, die an Ihren Server gesendet wird. Wenn Ihr Browser z. B. auf Portugiesisch eingestellt ist, erstellt und testet Azure Logic Apps die SAP-Verbindung in Portugiesisch, speichert aber nicht die Verbindung in dieser Sprache.

    Sie können jedoch die Sprache für Ihre Verbindung festlegen, indem Sie den HTTP-Standardheader Accept-Language mit Ihren eingehenden Anforderungen verwenden. Die meisten Webbrowser fügen auf Grundlage Ihrer lokalen Einstellungen des Benutzers einen Accept-Language-Header hinzu. Der Webbrowser wendet diesen Header an, wenn Sie eine neue SAP-Verbindung im Workflow-Designer erstellen. Sie können also entweder die Einstellungen Ihres Webbrowsers zur Verwendung der bevorzugten Sprache aktualisieren oder eine SAP-Verbindung im Azure Resource Manager anstatt im Workflow-Designer erstellen.

    Beispielsweise können Sie eine Anforderung mit dem Accept-Language-Header an Ihren Logik-App-Workflow senden, indem Sie den Anforderungstrigger mit dem Namen Beim Empfang einer HTTP-Anforderung verwenden. Alle Aktionen in Ihrem Workflow empfangen den Header. SAP verwendet dann die angegebenen Sprachen in seinen Systemmeldungen, z. B. in BAPI-Fehlermeldungen. Wenn Sie keinen Accept-Language-Header zur Laufzeit übergeben, wird standardmäßig Englisch verwendet.

    Wenn Sie den Accept-Language-Header verwenden, tritt möglicherweise folgender Fehler auf: Überprüfen Sie Ihre Kontoinformationen und/oder Berechtigungen, und versuchen Sie es noch einmal. Überprüfen Sie in diesem Fall stattdessen die Fehlerprotokolle der SAP-Komponente. Der Fehler tritt tatsächlich in der SAP-Komponente auf, die den Header verwendet, sodass Sie möglicherweise eine der folgenden Fehlermeldungen erhalten:

    • „SAP. Middleware.Connector.RfcLogonException: Wählen Sie eine der installierten Sprachen aus“

    • „SAP. Middleware.Connector.RfcAbapMessageException: Wählen Sie eine der installierten Sprachen aus“

Bestätigen der Transaktion separat und explizit

Wenn Sie Transaktionen aus Azure Logic Apps an SAP senden, erfolgt dieser Austausch in zwei Schritten, wie im SAP-Dokument Transactional RFC Server Programs (Transaktionsbezogene RFC-Serverprogramme) beschrieben.

Standardmäßig übernimmt die Aktion des verwalteten SAP-Connectors mit dem Namen Nachricht an SAP senden sowohl die Schritte zum Übertragen der Funktion als auch zum Bestätigen der Transaktion in einem einzelnen Aufruf. Sie haben auch die Möglichkeit, diese Schritte zu entkoppeln. Die Möglichkeit, die Übertragungs- und Bestätigungsschritte zu entkoppeln, ist für Szenarien nützlich, in denen Transaktionen in SAP nicht dupliziert werden sollen. Zu solchen Szenarien gehören Fehler, die auf Ursachen, wie z. B. Netzwerkprobleme, zurückzuführen sind.

Sie können ein IDoc senden, ohne die Transaktion automatisch zu bestätigen, indem Sie die Aktion „Verwalteter SAP-Connector“ mit dem Namen [IDOC] Dokument an SAP senden verwenden. Anschließend können Sie die Transaktion explizit mit der Aktion „Verwalteter SAP-Connector“ mit dem Namen [IDOC - RFC] Transaktions-ID bestätigen bestätigen. Wenn Ihr Workflow die Transaktion in einem anderen Schritt separat bestätigt, schließt das SAP-System die Transaktion nur einmal ab.

In Standardworkflows verfügt der integrierte SAP-Connector auch über Aktionen, die die Übertragungs- und Bestätigungsschritte separat behandeln, insbesondere [IDoc] Dokument an SAP senden und [IDOC - RFC] Transaktions-ID bestätigen.

Der folgende Beispielworkflow zeigt dieses Muster:

  1. Erstellen und öffnen Sie eine Verbrauchs- oder Standard-Logik-App mit einem leeren Workflow im Designer. Fügen Sie den Anforderungstrigger hinzu.

  2. Um das Senden doppelter IDocs an SAP zu vermeiden, führen Sie die folgenden alternativen Schritte aus, um eine IDoc-Transaktions-ID in Ihren SAP-Aktionen zu erstellen und zu verwenden.

  3. Fügen Sie ihrem Workflow die SAP-Aktion mit dem Namen [IDOC] Dokument an SAP senden hinzu. Geben Sie die Informationen für das IDoc an, das Sie an Ihr SAP-System senden, sowie die folgenden Werte:

    Parameter Wert Beschreibung
    TID bestätigen Nein Bestätigen Sie die Transaktions-ID nicht automatisch, was explizit in einem separaten Schritt erfolgt.
    Transaktions-ID-GUID <IDoc-Tansaktions-ID> Wenn dieser Parameter nicht automatisch angezeigt wird, öffnen Sie die Liste Neue Parameter hinzufügen und wählen Sie den Parameter aus.

    Sie können diesen Wert entweder manuell angeben oder der Connector kann diese GUID automatisch als Ausgabe der Aktion [IDOC] Dokument an SAP senden generieren. In diesem Beispiel bleibt dieser Parameter leer, um die GUID automatisch zu generieren.

    Verbrauchsworkflow

    Screenshot: Verbrauchsworkflow mit der Aktion mit dem Namen „IDOC Dokument an SAP senden“.

    Standardworkflow

    Screenshot: Standardworkflow mit der Aktion mit dem Namen „IDOC Dokument an SAP senden“.

  4. Öffnen Sie in der SAP-Aktion mit dem Namen [IDOC] Dokument an SAP senden die Option Einstellungen, um die Wiederholungsrichtlinie zu überprüfen.

    Die Standardoption ist die empfohlene Richtlinie, Sie können jedoch eine benutzerdefinierte Richtlinie für Ihre spezifischen Bedürfnisse auswählen. Wenn Sie sich für die Verwendung einer benutzerdefinierten Richtlinie entscheiden, richten Sie mindestens einen Wiederholungsversuch ein, um vorübergehende Netzwerkausfälle zu überwinden.

  5. Fügen Sie nun die SAP-Aktion mit dem Namen [IDOC - RFC] Transaktions-ID bestätigen hinzu.

    1. Wählen Sie im Parameter Transaktions-ID die Option im Bearbeitungsfeld aus, um die Liste der dynamischen Inhalte zu öffnen.

    2. Wählen Sie in der Liste unter [IDOC] Dokument an SAP senden den Wert Transaktions-ID aus, bei dem es sich um die Ausgabe der vorherigen SAP-Aktion handelt.

      Verbrauchsworkflow

      Screenshot: Verbrauchsworkflow mit der Aktion mit dem Namen „Transaktions-ID bestätigen“, die die GUID-Ausgabe der vorherigen Aktion enthält.

      Standardworkflow

      Screenshot: Standardworkflow mit der Aktion mit dem Namen „Transaktions-ID bestätigen“, die die GUID-Ausgabe der vorherigen Aktion enthält.

    Im Anschluss an diesen Schritt wird die aktuelle Transaktion auf beiden Seiten (also aufseiten des SAP-Connectors und aufseiten des SAP-Systems) als abgeschlossen markiert.

Senden von doppelten IDocs mit einer Transaktions-ID-Variablen vermeiden

Wenn ein Problem bei Ihrem Workflow auftritt, der doppelte IDocs an SAP sendet, können Sie eine Zeichenfolgenvariable erstellen, die als IDoc-Transaktionsbezeichner dient. Sie können diesen Bezeichner dann verwenden, um doppelte Netzwerkübertragungen zu verhindern, z. B. bei vorübergehenden Ausfällen, Netzwerkproblemen oder verloren gegangenen Bestätigungen.

  1. Fügen Sie im Designer nach dem Hinzufügen des Anforderungstriggers und vor dem Hinzufügen der SAP-Aktion mit dem Namen [IDOC] Dokument an SAP senden ihrem Workflow die Aktion mit dem Namen Variable initialisieren hinzu.

  2. Benennen Sie die Aktion in IDoc-Transaktions-ID erstellen um.

  3. Geben Sie im Aktionsinformationsfeld die folgenden Parameterwerte an:

    Parameter Wert Beschreibung
    Name <Variablenname> Name für Ihre Variable, z. B. IDocTransactionID
    Typ String Der Variablentyp
    Wert guid() Wählen Sie die Option im Bearbeitungsfeld aus, öffnen Sie den Ausdrucks- oder Funktions-Editor und geben Sie guid() ein. Speichern Sie die Änderungen.

    Der Parameter Wert ist jetzt auf die Funktion guid() festgelegt, mit der eine GUID generiert wird.

    Verbrauchsworkflow

    Screenshot: Verbrauchsworkflow mit der Aktion mit dem Namen „Transaktions-ID erstellen“.

    Standardworkflow

    Screenshot: Standardworkflow mit der Aktion mit dem Namen „Transaktions-ID erstellen“.

    Hinweis

    In SAP-Systemen wird ein Transaktionsbezeichner nach einer bestimmten Zeit vergessen (standardmäßig nach 24 Stunden). Aus diesem Grund wird bei SAP niemals die Bestätigung eines Transaktionsbezeichners übersehen, falls die ID oder GUID unbekannt ist. Wenn die Bestätigung für einen Transaktionsbezeichner nicht erfolgt, ist dies ein Hinweis darauf, dass bei der Kommunikation mit dem SAP-System ein Fehler aufgetreten ist, bevor die Bestätigung von SAP verifiziert werden konnte.

  4. Fügen Sie ihrem Workflow die SAP-Aktion mit dem Namen [IDOC] Dokument an SAP senden hinzu. Geben Sie die Informationen für das IDoc an, das Sie an Ihr SAP-System senden, sowie die folgenden Werte:

    Parameter Wert Beschreibung
    TID bestätigen Nein Bestätigen Sie die Transaktions-ID nicht automatisch, was explizit in einem separaten Schritt erfolgt.
    Transaktions-ID-GUID <IDoc-Tansaktions-ID> Wenn dieser Parameter nicht automatisch angezeigt wird, öffnen Sie die Liste Neue Parameter hinzufügen und wählen Sie den Parameter aus. Führen Sie die folgenden Schritte aus, um die von Ihnen erstellte Transaktions-ID-Variable auszuwählen:

    1. Wählen Sie im Parameter Transaktions-ID-GUID die Option im Bearbeitungsfeld aus, um die Liste der dynamischen Inhalte zu öffnen.

    2. Wählen Sie in der Liste unter Variablen die zuvor erstellte Variable aus, die in diesem Beispiel IDocTransactionID ist.

    Verbrauchsworkflow

    Screenshot: Verbrauchsworkflow mit der Aktion mit dem Namen „IDOC Dokument an SAP senden“.

    Standardworkflow

    Screenshot: Standardworkflow mit der Aktion mit dem Namen „IDOC Dokument an SAP senden“.

  5. Öffnen Sie in der verwalteten SAP-Aktion mit dem Namen [IDOC] Dokument an SAP senden die Option Einstellungen, um die Wiederholungsrichtlinie zu überprüfen.

    Die Standardoption ist die empfohlene Richtlinie, Sie können jedoch eine benutzerdefinierte Richtlinie für Ihre spezifischen Bedürfnisse auswählen. Wenn Sie sich für die Verwendung einer benutzerdefinierten Richtlinie entscheiden, richten Sie mindestens einen Wiederholungsversuch ein, um vorübergehende Netzwerkausfälle zu überwinden.

    Hinweis

    Nur verwaltete Connectoraktionen verfügen derzeit über die Einstellung „Wiederholungsrichtlinie“, keine integrierten, auf Dienstanbietern basierten Connectors.

  6. Fügen Sie nun die SAP-Aktion mit dem Namen [IDOC - RFC] Transaktions-ID bestätigen hinzu.

    1. Wählen Sie im Parameter Transaktions-ID die Option im Bearbeitungsfeld aus, um die Liste der dynamischen Inhalte zu öffnen.

    2. Geben Sie in der Liste unter Variablen den Namen für die von Ihnen erstellte Variable ein, die in diesem Beispiel IDocTransactionID ist.

      Verbrauchsworkflow

      Screenshot: Verbrauchsworkflow mit der Aktion mit dem Namen „Transaktions-ID mit einer Variablen bestätigen“.

      Standardworkflow

      Screenshot: Standardworkflow mit der Aktion mit dem Namen „Transaktions-ID mit einer Variablen bestätigen“.

  7. Optional können Sie die Deduplizierung in Ihrer Testumgebung überprüfen.

    1. Fügen Sie eine weitere SAP-Aktion mit dem Namen [IDOC] Dokument an SAP senden hinzu. Wählen Sie im Parameter Transaktions-ID die Transaktions-ID-GUID aus, die Sie im vorherigen Schritt verwendet haben.

    2. Um zu überprüfen, welche IDoc-Nummer nach jedem Aufruf der Aktion mit dem Namen [IDOC] Dokument an SAP senden zugewiesen wurde, fügen Sie die Aktion mit dem Namen [IDOC] IDOC-Liste für Transaktion abrufen Ihrem Workflow mit derselben Transaktions-ID und der Richtung Empfangen hinzu.

      Wird bei beiden Aufrufen die gleiche IDoc-Nummer zurückgegeben, wurde das IDoc dedupliziert.

Wenn Sie dasselbe IDoc zweimal senden, können Sie überprüfen, ob SAP die Duplizierung des tRFC-Aufrufs identifizieren und die beiden Aufrufe einer einzelnen eingehenden IDoc-Nachricht auflösen kann.

Behandeln von Problemen

Verbindungsprobleme

Wenn der folgende Fehler während der Erstellung der Verbindung auftritt, liegt ein Problem mit Ihrer Installation der SAP NCo-Clientbibliothek vor:

Fehler beim Testen der Verbindung. Fehler „Fehler beim Verarbeiten der Anforderung. Fehlerdetails: „Die Datei oder Assembly ‚sapnco, Version=3.0.0.42, Culture=neutral, PublicKeyToken 50436dca5c7f7d23‘ oder eine Abhängigkeit davon konnte nicht geladen werden. Das System kann die angegebene Datei nicht finden.“.“

Stellen Sie sicher, dass Sie die erforderliche Version der SAP NCo-Clientbibliothek installieren und alle anderen Voraussetzungen erfüllen.

Fehler „500 Ungültiges Gateway“ oder „400 Ungültige Anforderung“

Wenn Sie den Fehler 500 – ungültiges Gateway oder 400 – ungültige Anforderung mit einer Meldung ähnlich wie Dienst "sapgw00" unbekannt erhalten, funktioniert die Auflösung des Netzwerkdienstnamens in die Portnummer nicht. Beispiel:

{
   "body": {
      "error": {
         "code": 500,
         "source": "EXAMPLE-FLOW-NAME.eastus.environments.microsoftazurelogicapps.net",
         "clientRequestId": "00000000-0000-0000-0000-000000000000",
         "message": "BadGateway",
         "innerError": {
            "error": {
               "code": "UnhandledException",
               "message": "\nERROR service 'sapgw00' unknown\nTIME Wed Nov 11 19:37:50 2020\nRELEASE 721\nCOMPONENT NI (network interface)\nVERSION 40\nRC -3\nMODULE ninti.c\nLINE 933\nDETAIL NiPGetServByName: 'sapgw00' not found\nSYSTEM CALL getaddrinfo\nCOUNTER 1\n\nRETURN CODE: 20"
            }
         }
      }
   }
}
  • Option 1: Ersetzen Sie in der Konfiguration der API-Verbindung und des Triggers den Namen Ihres Gatewaydiensts durch die Portnummer des Diensts. Im Beispielfehler muss sapgw00 durch eine echte Portnummer ersetzt werden, z. B. 3300. Dies ist die einzig mögliche Option für die ISE.

  • Option 2: Wenn Sie ein lokales Datengateway verwenden, können Sie den Namen des Gatewaydiensts zur Portzuordnung in %windir%\System32\drivers\etc\services hinzufügen und den Dienst des lokalen Datengateways dann neu starten. Beispiel:

    sapgw00  3300/tcp
    

Möglicherweise wird Ihnen ein ähnlicher Fehler angezeigt, wenn der Name des SAP-Anwendungsservers oder -Nachrichtenservers in die IP-Adresse aufgelöst wird. Für die ISE müssen Sie die IP-Adresse für Ihren SAP-Anwendungsserver oder -Nachrichtenserver angeben. Für das lokale Datengateway können Sie stattdessen den Namen zur IP-Adresszuordnung in %windir%\System32\drivers\etc\hosts hinzufügen. Beispiel:

10.0.1.9 SAPDBSERVER01 # SAP System Server VPN IP by computer name
10.0.1.9 SAPDBSERVER01.someguid.xx.xxxxxxx.cloudapp.net # SAP System Server VPN IP by fully qualified computer name

Fehler beim Senden von IDoc-Paketen von SAP an Ihren Trigger

Wenn Sie keine IDoc-Pakete von SAP an den Trigger senden können, finden Sie weitere Informationen in der tRFC-Aufrufablehnungsmeldung (Transactional RFC) im tRFC-Dialogfeld von SAP (T-Code: SM58). Auf der SAP-Oberfläche erhalten Sie unter Umständen die folgenden Fehlermeldungen, die aufgrund der Limits für Teilzeichenfolgen im Feld Statustext abgeschnitten sind.

Die Segment- oder Gruppendefinition E2EDK36001 wurde in den IDoc-Metadaten nicht gefunden.

Diese Fehlermeldung bedeutet, dass erwartete Ausfälle mit anderen Fehlern auftreten. Beispielsweise ein Fehler bei der Erzeugung einer IDoc XML-Nutzlast, weil ihre Segmente nicht von SAP freigegeben werden. Folglich fehlen die für die Konvertierung erforderlichen Segmenttypmetadaten.

Damit diese Segmente von SAP freigegeben werden, wenden Sie sich an den ABAP-Techniker Ihres SAP-Systems.

Der RequestContext für den IReplyChannel wurde geschlossen, ohne dass eine Antwort gesendet wurde.

Für den verwalteten SAP-Connector und SAP-Connector in der ISE-Version bedeutet diese Fehlermeldung, dass unerwartete Fehler auftreten, wenn der Catch-All-Handler für den Kanal den Kanal aufgrund eines Fehlers beendet und den Kanal neu erstellt, um weitere Meldungen zu verarbeiten.

Hinweis

Der verwaltete SAP-Trigger und die SAP-Trigger in der ISE-Version sind Webhooks, die den SOAP-basierten SAP-Adapter verwenden. Der integrierte SAP-Trigger ist jedoch ein Azure Functions-basierter Trigger, der keinen SOAP-SAP-Adapter verwendet und diese Fehlermeldung nicht erhält.

  • Um zu bestätigen, dass Ihr Workflow das IDoc empfangen hat, fügen Sie eine Antwortaktion hinzu, die den Statuscode 200 OK zurückgibt. Lassen Sie den Text leer, ändern Sie die Header nicht, und fügen Sie ihnen auch nichts hinzu. Das IDoc wird über tRFC transportiert, was keine Antwortnutzlast zulässt.

  • Um stattdessen das IDoc abzulehnen, antworten Sie mit einem HTTP-Statuscode, der nicht 200 OK ist. Der SAP-Adapter gibt dann in Ihrem Namen eine Ausnahme an SAP zurück. Sie sollten das IDoc nur ablehnen, um Transportfehler an SAP zurückzumelden, z. B. ein falsch geroutetes IDoc, das Ihre Anwendung nicht verarbeiten kann. Sie sollten ein IDoc nicht wegen Fehlern auf Anwendungsebene ablehnen, wie z. B. bei Problemen mit den im IDoc enthaltenen Daten. Wenn Sie die Annahme des Transports für die Validierung auf Anwendungsebene verzögern, kann es zu einer negativen Leistung kommen, weil Ihre Verbindung am Transport anderer IDocs gehindert wird.

  • Wenn Sie diese Fehlermeldung erhalten und systematische Fehler beim Aufrufen von Azure Logic Apps auftreten, überprüfen Sie, ob Sie die Netzwerkeinstellungen für Ihren lokalen Datengatewaydienst für Ihre jeweilige Umgebung konfiguriert haben. Wenn Ihre Netzwerkumgebung beispielsweise die Verwendung eines Proxys zum Aufrufen von Azure-Endpunkten erfordert, müssen Sie Ihren lokalen Datengatewaydienst für die Verwendung Ihres Proxys konfigurieren. Weitere Informationen finden Sie unter Proxykonfiguration.

  • Wenn Sie diese Fehlermeldung erhalten und beim Aufrufen von Azure Logic Apps zeitweilig Fehler auftreten, müssen Sie möglicherweise die Wiederholungsanzahl und/oder das Wiederholungsintervall erhöhen, indem Sie die folgenden Schritte ausführen:

    1. Überprüfen Sie die SAP-Einstellungen in der Konfigurationsdatei Ihres lokalen Datengatewaydiensts mit dem Namen Microsoft.PowerBI.EnterpriseGateway.exe.config.

      1. Fügen Sie unter dem configuration-Stammknoten ein configSections-Element hinzu, falls keines vorhanden ist.

      2. Fügen Sie unter dem configSections-Knoten ein section-Element mit den folgenden Attributen hinzu, falls keine vorhanden sind: name="SapAdapterSection" type="Microsoft.Adapters.SAP.Common.SapAdapterSection, Microsoft.Adapters.SAP.Common"

        Wichtig

        Ändern Sie die Attribute in bestehenden section-Elementen nicht, wenn solche Elemente bereits vorhanden sind.

        Ihr configSections-Element sieht wie die folgende Version aus, wenn kein anderer Abschnitt oder keine andere Abschnittsgruppe in der Konfiguration des Gatewaydiensts deklariert ist:

        <configSections>
          <section name="SapAdapterSection" type="Microsoft.Adapters.SAP.Common.SapAdapterSection, Microsoft.Adapters.SAP.Common"/>
        </configSections>
        
      3. Fügen Sie unter dem configuration-Stammknoten ein SapAdapterSection-Element hinzu, falls keines vorhanden ist.

      4. Fügen Sie unter dem SapAdapterSection-Knoten ein Broker-Element mit den folgenden Attributen hinzu, falls keine vorhanden sind: WebhookRetryDefaultDelay="00:00:00.10" WebhookRetryMaximumCount="2"

        Wichtig

        Ändern Sie die Attribute für das Broker-Element, auch wenn das Element bereits vorhanden ist.

        Das SapAdapterSection-Element sieht wie die folgende Version aus, wenn kein anderes Element oder Attribut in der SAP-Adapterkonfiguration deklariert ist:

        <SapAdapterSection>
          <Broker WebhookRetryDefaultDelay="00:00:00.10" WebhookRetryMaximumCount="2" />
        </SapAdapterSection>
        

        Die Einstellung für die Wiederholungsanzahl sieht wie folgt aus: WebhookRetryMaximumCount="2". Die Einstellung für das Wiederholungsintervall sieht wie WebhookRetryDefaultDelay="00:00:00.10" aus, während das Zeitraumformat HH:mm:ss.ff ist.

      Hinweis

      Weitere Informationen über die Konfigurationsdatei finden Sie unter Konfigurationsdateischema für .NET Framework.

    2. Speichern Sie die Änderungen.

    3. Wenn Sie das lokale Datengateway verwenden, starten Sie Ihr Gateway neu.

Nächste Schritte