Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Azure Logic Apps (Verbrauch + Standard)
In dieser Schrittanleitung wird gezeigt, wie Sie einen Beispielworkflow für Logik-Apps erstellen, der Schemas für SAP-Artefakte generiert. Der Workflow beginnt mit einem Anforderungstrigger, der HTTP POST-Anforderungen von Ihrem SAP-Server empfangen kann. Der Workflow generiert dann Schemas für das angegebene IDoc und die BAPI mithilfe der SAP-Aktion Schemas generieren, die eine Anforderung an Ihren SAP-Server sendet. Zum Senden dieser Anforderung können Sie entweder die generische Aktion des verwalteten SAP-Connectors mit dem Namen Nachricht an SAP senden verwenden, oder Sie können die spezifische von SAP verwaltete oder integrierte Aktion mit dem Namen [BAPI] Call-Methode in SAP verwenden. Diese SAP-Aktion gibt ein XML-Schema ohne den Inhalt oder die Daten im XML-Dokument selbst zurück. Der Workflow lädt dann die von der Antwort zurückgegebenen Schemas mithilfe eines Azure Resource Manager-Connectorvorgangs in ein Integrationskonto hoch.
Schemas enthalten die folgenden Teile:
Komponente | Beschreibung |
---|---|
Struktur der Anforderungsmeldung | Verwenden Sie diese Informationen, um Ihre get -BAPI-Liste zu erstellen. |
Struktur der Antwortmeldung | Verwenden Sie diese Informationen, um die Antwort zu analysieren. |
Sowohl Standard- als auch Verbrauchs-Logik-App-Workflows bieten den von SAP verwalteten 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 Mandanten gehostet und ausgeführt wird. Weitere Informationen finden Sie in der technischen Referenzdokumentation für den Connector.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie die SAP-Connectoranforderungen für Ihr spezifisches Szenario überprüfen und erfüllen.
Wenn Sie Ihre generierten Schemas in ein Repository hochladen möchten, z. B. in ein Integrationskonto, stellen Sie sicher, dass das Repository vorhanden ist.
Entweder eine Verbrauchslogik-App-Ressource mit einem leeren Workflow oder eine Standard-Logik-App-Ressource mit einem leeren Workflow. Wenn Sie nicht über eine verfügen, erstellen Sie diese Ressource:
Installieren oder verwenden Sie ein Tool, das HTTP-Anforderungen senden kann, um Ihre Lösung zu testen, zum Beispiel:
- Visual Studio Code mit einer Erweiterung von Visual Studio Marketplace
- PowerShell Invoke-RestMethod
- Microsoft Edge – Netzwerkkonsolentool
- Bruno
- Locke
Achtung
Für Szenarien, in denen Sie vertrauliche Daten haben, z. B. Anmeldeinformationen, Geheime Schlüssel, Zugriffstoken, API-Schlüssel und andere ähnliche Informationen, stellen Sie sicher, dass Sie ein Tool verwenden, das Ihre Daten mit den erforderlichen Sicherheitsfeatures schützt. Das Tool sollte offline oder lokal arbeiten und muss sich nicht bei einem Onlinekonto anmelden oder Daten mit der Cloud synchronisieren. Wenn Sie ein Tool mit diesen Merkmalen verwenden, verringern Sie das Risiko, vertrauliche Daten für die Öffentlichkeit verfügbar zu machen.
Generieren von Schemas für ein SAP-Artefakt
Im folgenden Beispiel für den Logik-App-Workflow wird ausgelöst, wenn der SAP-Trigger des Workflows eine Anforderung von einem SAP-Server empfängt. Der Workflow führt dann eine SAP-Aktion aus, die Schemas für das angegebene SAP-Artefakt generiert.
Hinzufügen des Anforderungstriggers
Um Ihren Workflow Anforderungen von Ihrem SAP-Server über HTTP empfangen zu lassen, können Sie Integrierten Trigger anfordern verwenden. Dieser Trigger erstellt einen Endpunkt mit einer URL, über die Ihr SAP-Server HTTP POST-Anforderungen an Ihren Workflow senden kann. Wenn Ihr Logik-App-Workflow diese HTTP-Anforderungen empfängt, wird der Trigger ausgelöst und führt den nächsten Schritt in Ihrem Workflow aus.
Je nachdem, ob Sie über einen Verbrauchs- oder Standard-Workflow verfügen, führen Sie die entsprechenden Schritte aus.
Öffnen Sie im Azure-Portal die verbrauchsbasierte Logik-App-Ressource und einen leeren Workflow im Designer.
Führen Sie im Designer die folgenden allgemeinen Schritte aus, um den integrierten Anforderungstrigger mit dem Namen Wenn eine HTTP-Anforderung empfangen wird zu suchen und hinzuzufügen.
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.:
Hinzufügen einer SAP-Aktion zum Generieren von Schemas
Je nachdem, ob Sie über einen Verbrauchs- oder Standard-Workflow verfügen, führen Sie die entsprechenden Schritte aus.
Führen Sie im Workflow-Designer unter dem Anforderungstrigger die folgenden allgemeinen Schritte aus, um die von SAP verwaltete Aktion mit dem Namen Schemas generieren zu suchen und hinzuzufügen.
Weitere Informationen zu dieser von SAP verwalteten Aktion finden Sie unter Schemas generieren.
Wenn Sie dazu aufgefordert werden, geben Sie die Verbindungsinformationen für Ihren lokalen SAP-Server an. Wenn Sie fertig sind, wählen Sie "Neu erstellen" aus. Andernfalls fahren Sie mit dem nächsten Schritt fort, um die SAP-Aktion einzurichten.
Standardmäßig wird beim Erstellen der Verbindung für einen von SAP verwalteten 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. Weitere Informationen zu starker Typisierung finden Sie unter Einstellung für sichere Eingaben. Weitere verfügbare Verbindungsparameter finden Sie unter Standardverbindungsinformationen.
Nachdem Azure Logic Apps Ihre Verbindung eingerichtet und getestet hat, wird der Bereich mit den Aktionsinformationen angezeigt.
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. Weitere Informationen zu Verbindungsproblemen, die auftreten können, finden Sie unter Behandeln von Verbindungsproblemen.
Geben Sie in der Aktion Schemas generieren einen Pfad zu der SAP-Aktion an, für die Sie ein Schema generieren möchten.
In diesem Beispiel wird der folgende Beispielpfad für die SAP-Aktion mit dem Namen Senden verwendet:
http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//720/Send
Tipp
Im Abschnitt sapActionsUris können Sie den Ausdruckseditor verwenden, um Parameterwerte bereitzustellen. Auf diese Weise können Sie dieselbe SAP-Aktion für verschiedene Nachrichtentypen verwenden.
Weitere Informationen über die Aktion SAP senden finden Sie unter Nachrichtenschemata für IDoc-Operationen.
Wenn Sie die Möglichkeit haben, die Ordner entlang dieses Pfads zu durchsuchen und auszuwählen, gehen Sie folgendermaßen vor:
Wählen Sie in der Dropdown-Liste sapActionUris Item - 1BAPI,IDOC,RFC oder TRFC aus.
In diesem Beispiel wird IDOC ausgewählt. Wenn Sie einen anderen Arbeitsgangtyp auswählen, ändern sich die verfügbaren Parameter je nach Ihrer Auswahl.
Durchsuchen Sie die SAP-Ordner, indem Sie die Pfeile verwenden, um die zu verwendende SAP-Aktion zu suchen und auszuwählen.
In diesem Beispiel wird ORDERS>ORDERS05>720>Send ausgewählt.
Um Schemata für mehr als eine Aktion zu generieren, wählen Sie im Abschnitt sapActionUris die Option Neues Element hinzufügen aus.
Geben Sie für jede SAP-Aktion, für die Sie ein Schema generieren möchten, den Pfad zu dieser Aktion an, z. B.:
Speichern Sie den Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.
Testen Ihres Workflows auf die Schemagenerierung
Je nachdem, ob Sie über einen Verbrauchs- oder Standard-Workflow 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 die Option Ausführen>Ausführen aus, um Ihren Workflow manuell zu starten.
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>
Nachdem Sie die HTTP-Anforderung gesendet haben, warten Sie auf die Antwort Ihres Workflows.
Hinweis
Bei Ihrem Workflow kann es zu einer Zeitüberschreitung kommen, wenn nicht alle für die Antwort erforderlichen Schritte innerhalb des Timeoutlimits für die Anforderung abgeschlossen werden. Wenn dies passiert, können Anforderungen blockiert werden. Um Probleme zu diagnostizieren, erfahren Sie, wie Sie den Workflowstatus überprüfen und den Ausführungsverlauf in Azure Logic Apps anzeigen können.
Wählen Sie in der Logik-App-Menü Übersicht aus. Wählen Sie auf der Registerkarte Ausführungsverlauf die Workflowausführung aus.
Wählen Sie die Aktion Schemas generieren aus, um die Ausgaben der Aktion zu überprüfen.
Die Ausgaben zeigen die generierten Schemas für die angegebene Liste von Nachrichten.
Weitere Informationen zum Überprüfen des Workflowausführungsverlaufs finden Sie unter Überprüfen des Workflowstatus, Anzeigen des Ausführungsverlaufs und Einrichten von Warnungen in Azure Logic Apps.
Hochladen von Schemas in ein Integrationskonto
Optional können Sie die generierten Schemas herunterladen oder in Repositorys speichern, z. B. in einem Integrationskonto oder einem Azure-Speicherkonto wie einem Blobcontainer. Integrationskonten bieten eine erstklassige Erfahrung mit XML-Aktionen für Workflows in Azure Logic Apps. Optional können Sie generierte Schemas in ein vorhandenes Integrationskonto innerhalb desselben Workflows hochladen, der diese Schemas generiert, indem Sie die Azure Resource Manager-Aktion mit dem Namen Ressource erstellen oder aktualisieren verwenden.
Hinweis
Schemas verwenden das base64-codierte Format. Um Schemas in ein Integrationskonto hochzuladen, müssen Sie sie zuerst mit der Funktion base64ToString()
decodieren. Das folgende Beispiel zeigt den Code für das Element properties
:
"properties": {
"Content": "@base64ToString(items('For_each')?['Content'])",
"ContentType": "application/xml",
"SchemaType": "Xml"
}
Für diese Aufgabe benötigen Sie ein Integrationskonto, falls Sie noch keines haben. Führen Sie die entsprechenden Schritte aus, je nachdem, ob Sie über einen Verbrauchs- oder Standard-Workflow verfügen. Das Verfahren lädt nach der Schemagenerierung Schemas aus Ihrem Workflow in ein Integrationskonto hoch.
Führen Sie im Workflow-Designer unter der Aktion Schemas generierendie folgenden allgemeinen Schritte aus, um die verwaltete Azure Resource Manager-Aktion mit dem Namen Ressource erstellen oder aktualisieren hinzuzufügen.
Wenn Sie aufgefordert werden, sich anzumelden, tun Sie dies jetzt und fahren Sie fort.
Nachdem Azure Logic Apps Ihre Verbindung eingerichtet und getestet hat, wird der Bereich mit den Aktionsinformationen angezeigt:
Geben Sie in der Aktion Erstellen oder Aktualisieren einer Ressource die erforderlichen Informationen an.
Sie können alle Ausgaben aus vorherigen Schritten in den Workflow einbeziehen. Wählen Sie innerhalb des Parameters aus, wo Sie die Ausgabe einfügen möchten. Wählen Sie das Blitzsymbol aus, um die Liste der dynamischen Inhalte zu öffnen, und wählen Sie die Ausgabe aus, die eingeschlossen werden soll.
Wenn die Parameter "Position " und " Eigenschaften " nicht auf der Registerkarte "Parameter" angezeigt werden, öffnen Sie die Liste "Erweiterte Parameter", und fügen Sie diese Parameter hinzu.
Geben Sie Werte für die hinzugefügten Parameter an, z. B.:
Die SAP-Aktion Schemas generieren generiert Schemas als Sammlung, daher fügt der Designer der Aktion automatisch eine For each-Schleife hinzu:
Speichern Sie den Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.
Testen Ihres Workflows
Befolgen Sie diese allgemeinen Schritte, um Ihren Workflow manuell zu testen und auszuführen. Verwenden Sie das Verfahren, das Ihrem Verbrauchsworkflow in Azure Logic Apps mit mehreren Mandanten oder dem Standardworkflow in Azure Logic Apps mit einem Mandanten entspricht.
Wechseln Sie nach einer erfolgreichen Ausführung zum Integrationskonto, und bestätigen Sie, dass die generierten Schemas vorhanden sind.
Beispiele für XML-Schemas
Falls Sie lernen möchten, wie Sie ein XML-Schema zur Verwendung beim Erstellen eines Beispieldokuments generieren, helfen Ihnen die folgenden Beispiele weiter. In diesen Beispielen wird veranschaulicht, wie Sie viele verschiedene Arten von Nutzlasten verwenden können, z. B.:
- RFC-Anforderungen
- BAPI-Anforderungen
- IDoc-Anforderungen
- Einfache oder komplexe XML-Schemadatentypen
- Tabellenparameter
- Optionales XML-Verhalten
Sie können Ihr XML-Schema mit einem optionalen XML-Prolog beginnen. Der SAP-Connector funktioniert mit oder ohne XML-Prolog.
<?xml version="1.0" encoding="utf-8">
XML-Beispiele für RFC-Anforderungen
Das folgende Beispiel zeigt einen einfachen RFC-Aufruf, bei dem der RFC-Name STFC_CONNECTION
lautet. Diese Anforderung verwendet den Standardnamespace mit dem Namen xmlns=
. Sie können jedoch Namespacealiase wie xmlns:exampleAlias=
zuweisen und verwenden. Der Namespacewert ist der Namespace für alle Remotefunktionsaufrufe für Dienste vom Typ „SAP für Microsoft“. Die Anforderung verfügt über einen einfachen Eingabeparameter namens <REQUTEXT>
.
<STFC_CONNECTION xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
<REQUTEXT>exampleInput</REQUTEXT>
</STFC_CONNECTION>
Das folgende Beispiel enthält einen RFC-Aufruf mit einem Tabellenparameter. Dieser Beispielaufruf und die zugehörige Gruppe mit Test-RFCs sind in allen SAP-Systemen verfügbar. Der Tabellenparameter heißt TCPICDAT
. Der Tabellenzeilentyp lautet ABAPTEXT
, und dieses Element wird für jede Zeile der Tabelle wiederholt. Dieses Beispiel enthält eine einzelne Zeile mit dem Namen LINE
. Anforderungen mit einem Tabellenparameter können beliebig viele Felder enthalten, sofern die Anzahl eine positive ganze Zahl (n) ist.
<STFC_WRITE_TO_TCPIC xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
<RESTART_QNAME>exampleQName</RESTART_QNAME>
<TCPICDAT>
<ABAPTEXT xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
<LINE>exampleFieldInput1</LINE>
</ABAPTEXT>
<ABAPTEXT xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
<LINE>exampleFieldInput2</LINE>
</ABAPTEXT>
<ABAPTEXT xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
<LINE>exampleFieldInput3</LINE>
</ABAPTEXT>
</TCPICDAT>
</STFC_WRITE_TO_TCPIC>
Tipp
Um das Ergebnis aus RFC STFC_WRITE_TO_TCPIC zu überprüfen, verwenden Sie den SAP Logon's Data Browser (T-Code SE16) und die Tabelle mit dem Namen TCPIC.
Das folgende Beispiel zeigt einen RFC-Aufruf mit einem Tabellenparameter, der über ein anonymes Feld verfügt, bei dem es sich um ein Feld ohne zugewiesenen Namen handelt. Komplexe Typen werden unter einem separaten Namespace deklariert. Bei der Deklaration wird ein neuer Standardwert für den aktuellen Knoten und alle untergeordneten Elemente festgelegt. Im Beispiel wird der Hexadezimalcode x002F
als Escapezeichen für das Schrägstrichsymbol /
verwendet, da dieses Symbol im SAP-Feldnamen reserviert ist.
<RFC_XML_TEST_1 xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
<IM_XML_TABLE>
<RFC_XMLCNT xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
<_x002F_AnonymousField>AQIDBAU=</_x002F_AnonymousField>
</RFC_XMLCNT>
</IM_XML_TABLE>
</RFC_XML_TEST_1>
Das vorherige Beispiel zeigt auch, wie Sie binäre Arrays für die SAP-Datentypen byte
und XString
codieren können. Die binären Arrays sind in XML (XSD-Binärdatentyp xs:base64Binary
) base64-codiert. In dem Beispiel wird der beispielhafte base64-Zeichenfolgenwert AQIDBAU=
als binäres Array [01][02][03][04]
decodiert. Diese Codierung unterscheidet sich von der hexadezimalen Codierung des zugrunde liegenden SAP .NET-Connectors und ist platzsparender. Bei der hexadezimalen Codierung wird derselbe Wert wie die Zeichenfolge 01020304
codiert.
Achtung
Seien Sie vorsichtig, wenn Sie die binäre Arraycodierung verwenden, da die Hexadezimalcodierung eine Teilmenge des Base64-Bereichs verwendet und als gültige Base64-Werte angezeigt wird. Beispielsweise wird der Zeichenfolgenwert 01020304
auch als gültiger base64-codierter Wert decodiert, führt jedoch zu einem anderen binären Array [d3][5d][36][d3][7d][38]
und nicht zum binären Array [01][02][03][04]
.
Das folgende Beispiel enthält Präfixe für die Namespaces. Sie können alle Präfixe gleichzeitig deklarieren, oder Sie können eine beliebige Anzahl von Präfixen als Attribute eines Knotens deklarieren. Der RFC-Namespacealias ns0
wird als Stamm- und Parameterwert für den einfachen Typ genutzt.
Hinweis
Komplexe Typen werden in einem anderen Namespace für RFC-Typen mit dem Alias ns3
deklariert, nicht im regulären RFC-Namespace mit dem Alias ns0
.
<ns0:BBP_RFC_READ_TABLE xmlns:ns0="http://Microsoft.LobServices.Sap/2007/03/Rfc/" xmlns:ns3="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
<ns0:DELIMITER>0</ns0:DELIMITER>
<ns0:QUERY_TABLE>KNA1</ns0:QUERY_TABLE>
<ns0:ROWCOUNT>250</ns0:ROWCOUNT>
<ns0:ROWSKIPS>0</ns0:ROWSKIPS>
<ns0:FIELDS>
<ns3:RFC_DB_FLD>
<ns3:FIELDNAME>KUNNR</ns3:FIELDNAME>
</ns3:RFC_DB_FLD>
</ns0:FIELDS>
</ns0:BBP_RFC_READ_TABLE>
XML-Beispiele für BAPI-Anforderungen
Die folgenden XML-Beispiele sind Beispielanforderungen zum Aufrufen der BAPI-Methode.
Hinweis
SAP macht Geschäftsobjekte für externe Systeme verfügbar, indem diese als Antwort auf den RFC RPY_BOR_TREE_INIT
beschrieben werden. Dieser Aufruf wird von Azure Logic Apps ohne Eingabefilter ausgegeben. Logic Apps untersucht die Ausgabetabelle BOR_TREE
.
Das Feld SHORT_TEXT
wird für Namen von Geschäftsobjekten verwendet. Geschäftsobjekte, die von SAP nicht in der Ausgabetabelle zurückgegeben werden, sind für Azure Logic Apps nicht zugänglich.
Bei Verwendung von benutzerdefinierten Geschäftsobjekten müssen Sie sicherstellen, dass Sie diese in SAP veröffentlichen und als Release bereitstellen. Andernfalls listet SAP Ihre benutzerdefinierten Geschäftsobjekte in der Ausgabetabelle BOR_TREE
nicht auf. Sie können in Logic Apps erst auf Ihre benutzerdefinierten Geschäftsobjekte zugreifen, nachdem Sie sie über SAP verfügbar gemacht haben.
Im folgenden Beispiel wird eine Liste der Banken mit der BAPI-Methode GETLIST
abgerufen. Dieses Beispiel enthält das Geschäftsobjekt für eine Bank namens BUS1011
.
<GETLIST xmlns="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS1011">
<BANK_CTRY>US</BANK_CTRY>
<MAX_ROWS>10</MAX_ROWS>
</GETLIST>
Im folgenden Beispiel wird ein Bankobjekt mithilfe der CREATE
Methode erstellt. In diesem Beispiel wird das gleiche Geschäftsobjekt namens BUS1011
wie im vorherigen Beispiel verwendet. Wenn Sie die Methode CREATE
zum Erstellen einer Bank verwenden, sollten Sie Ihre Änderungen unbedingt committen, weil dies bei dieser Methode nicht standardmäßig durchgeführt wird.
Tipp
Stellen Sie sicher, dass für Ihr XML-Dokument alle Überprüfungsregeln eingehalten werden, die in Ihrem SAP-System konfiguriert sind. In diesem Beispieldokument muss der Bankschlüssel in den USA (<BANK_KEY>
) beispielsweise eine Bankleitzahl sein (auch als „ABA Number“ bezeichnet).
<CREATE xmlns="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS1011">
<BANK_ADDRESS>
<BANK_NAME xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc">ExampleBankName</BANK_NAME>
<REGION xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc">ExampleRegionName</REGION>
<STREET xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc">ExampleStreetAddress</STREET>
<CITY xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc">Redmond</CITY>
</BANK_ADDRESS>
<BANK_CTRY>US</BANK_CTRY>
<BANK_KEY>123456789</BANK_KEY>
</CREATE>
Im folgenden Beispiel werden Details für eine Bank mithilfe der Bankleitzahl abgerufen, bei der es sich um den Wert für <BANK_KEY>
handelt.
<GETDETAIL xmlns="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS1011">
<BANKCOUNTRY>US</BANKCOUNTRY>
<BANKKEY>123456789</BANKKEY>
</GETDETAIL>
XML-Beispiele für IDoc-Anforderungen
Verwenden Sie zum Generieren eines reinen SAP-IDoc-XML-Schemas die Anwendung für die SAP-Anmeldung und den T-Code WE60
. Greifen Sie auf die SAP-Dokumentation über die Benutzeroberfläche zu, und generieren Sie XML-Schemas im XSD-Format für Ihre IDoc-Typen und -Erweiterungen. Weitere Informationen zu generischen SAP-Formaten und -Payloads sowie zu den integrierten Dialogfeldern finden Sie in der SAP-Dokumentation.
In diesem Beispiel werden der Stammknoten und die Namespaces deklariert. Mit dem URI http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//700/Send
im Beispielcode wird die folgende Konfiguration deklariert:
/IDoc
ist der Stammknoten für alle IDocs./3
ist die Datensatztypversion für gängige Segmentdefinitionen./ORDERS05
ist der IDoc-Typ.//
ist ein leeres Segment, weil keine IDoc-Erweiterung vorhanden ist./700
ist die SAP-Version./Send
ist die Aktion zum Senden der Informationen an SAP.
<ns0:Send xmlns:ns0="http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//700/Send" xmlns:ns3="http://schemas.microsoft.com/2003/10/Serialization" xmlns:ns1="http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/Common/" xmlns:ns2="http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//700">
<ns0:idocData>
Sie können den Knoten idocData
wiederholen, um einen Batch mit IDocs in nur einem Aufruf zu senden. Das folgende Beispiel enthält einen Steuerungsdatensatz namens EDI_DC40
und mehrere Datensätze mit Daten.
<...>
<ns0:idocData>
<ns2:EDI_DC40>
<ns1:TABNAM>EDI_DC40</ns1:TABNAM>
<...>
<ns1:ARCKEY>Cor1908207-5</ns1:ARCKEY>
</ns2:EDI_DC40>
<ns2:E2EDK01005>
<ns2:DATAHEADERCOLUMN_SEGNAM>E23DK01005</ns2:DATAHEADERCOLUMN_SEGNAM>
<ns2:CURCY>USD</ns2:CURCY>
</ns2:E2EDK01005>
<ns2:E2EDK03>
<...>
</ns0:idocData>
Das folgende Beispiel zeigt enthält einen IDoc-Steuerungsdatensatz, für den das Präfix EDI_DC
verwendet wird. Sie müssen die Werte so aktualisieren, dass sie zu Ihrer SAP-Installation und zum IDoc-Typ passen. Ihr IDoc-Clientcode darf beispielsweise nicht 800
lauten. Wenden Sie sich an Ihr SAP-Team, um sicherzustellen, dass Sie die richtigen Werte für Ihre SAP-Installation nutzen.
<ns2:EDI_DC40>
<ns:TABNAM>EDI_DC40</ns1:TABNAM>
<ns:MANDT>800</ns1:MANDT>
<ns:DIRECT>2</ns1:DIRECT>
<ns:IDOCTYP>ORDERS05</ns1:IDOCTYP>
<ns:CIMTYP></ns1:CIMTYP>
<ns:MESTYP>ORDERS</ns1:MESTYP>
<ns:STD>X</ns1:STD>
<ns:STDVRS>004010</ns1:STDVRS>
<ns:STDMES></ns1:STDMES>
<ns:SNDPOR>SAPENI</ns1:SNDPOR>
<ns:SNDPRT>LS</ns1:SNDPRT>
<ns:SNDPFC>AG</ns1:SNDPFC>
<ns:SNDPRN>ABAP1PXP1</ns1:SNDPRN>
<ns:SNDLAD></ns1:SNDLAD>
<ns:RCVPOR>BTSFILE</ns1:RCVPOR>
<ns:RCVPRT>LI</ns1:RCVPRT>
Das folgende Beispiel zeigt einen Beispieldatensatz mit einfachen Segmenten. Hierbei wird das SAP-Datumsformat verwendet. Für stark typisierte Dokumente können native XML-Datumsformate verwendet werden, z. B. 2020-12-31 23:59:59
.
<ns2:E2EDK01005>
<ns2:DATAHEADERCOLUMN_SEGNAM>E2EDK01005</ns2:DATAHEADERCOLUMN_SEGNAM>
<ns2:CURCY>USD</ns2:CURCY>
<ns2:BSART>OR</ns2:BSART>
<ns2:BELNR>1908207-5</ns2:BELNR>
<ns2:ABLAD>CC</ns2:ABLAD>
</ns2>
<ns2:E2EDK03>
<ns2:DATAHEADERCOLUMN_SEGNAM>E2EDK03</ns2:DATAHEADERCOLUMN_SEGNAM>
<ns2:IDDAT>002</ns2:IDDAT>
<ns2:DATUM>20160611</ns2:DATUM>
</ns2:E2EDK03>
Das folgende Beispiel zeigt einen Datensatz mit gruppierten Segmenten. Der Datensatz enthält den übergeordneten Gruppenknoten E2EDKT1002GRP
und mehrere untergeordnete Knoten, z. B. E2EDKT1002
und E2EDKT2001
.
<ns2:E2EDKT1002GRP>
<ns2:E2EDKT1002>
<ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT1002</ns2:DATAHEADERCOLUMN_SEGNAM>
<ns2:TDID>ZONE</ns2:TDID>
</ns2:E2EDKT1002>
<ns2:E2EDKT2001>
<ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT2001</ns2:DATAHEADERCOLUMN_SEGNAM>
<ns2:TDLINE>CRSD</ns2:TDLINE>
</ns2:E2EDKT2001>
</ns2:E2EDKT1002GRP>
Die empfohlene Methode ist die Erstellung eines IDoc-Bezeichners für die Verwendung mit tRFC. Sie können diesen Transaktionsbezeichner tid
mit der Operation IDoc senden im SAP Managed Connector festlegen.
Das folgende Beispiel zeigt eine alternative Methode zum Festlegen des Transaktionsbezeichners oder tid
. In diesem Beispiel werden der letzte Datensatz-Segmentknoten und der IDoc-Datenknoten geschlossen. Anschließend wird die GUID guid
als tRFC-Bezeichner zum Erkennen von Duplikaten verwendet.
</E2STZUM002GRP>
</idocData>
<guid>8820ea40-5825-4b2f-ac3c-b83adc34321c</guid>
</Send>