Generowanie schematów dla artefaktów SAP w usłudze Azure Logic Apps
Dotyczy: Azure Logic Apps (Zużycie + Standardowa)
W tym przewodniku z instrukcjami pokazano, jak utworzyć przykładowy przepływ pracy aplikacji logiki, który generuje schematy dla artefaktów SAP. Przepływ pracy rozpoczyna się od wyzwalacza Żądania , który może odbierać żądania HTTP POST z serwera SAP. Następnie przepływ pracy generuje schematy dla określonego dokumentu IDoc i BAPI przy użyciu akcji SAP o nazwie Generuj schematy wysyłające żądanie do serwera SAP. Aby wysłać to żądanie, możesz użyć ogólnej akcji łącznika zarządzanego SAP o nazwie Wyślij komunikat do systemu SAP lub użyć określonej akcji zarządzanej lub wbudowanej SAP o nazwie [BAPI] Wywołaj metodę w oprogramowaniu SAP. Ta akcja SAP zwraca schemat XML, a nie zawartość ani dane samego dokumentu XML. Schematy zwrócone w odpowiedzi są przekazywane do konta integracji przy użyciu łącznika usługi Azure Resource Manager. Schematy zawierają następujące części:
Składnik | opis |
---|---|
Struktura komunikatów żądania | Użyj tych informacji, aby utworzyć listę BAPI get . |
Struktura komunikatów odpowiedzi | Użyj tych informacji, aby przeanalizować odpowiedź. |
Przepływy pracy aplikacji logiki w warstwie Standardowa i Zużycie oferują łącznik zarządzany sap , który jest hostowany i uruchamiany na wielodostępnym platformie Azure. Standardowe przepływy pracy oferują również wbudowany łącznik SAP w wersji zapoznawczej, który jest hostowany i uruchamiany w usłudze Azure Logic Apps z jedną dzierżawą, ale ten łącznik jest obecnie w wersji zapoznawczej i podlega dodatkowym warunkom użytkowania dla wersji zapoznawczych platformy Microsoft Azure. Aby uzyskać więcej informacji, zobacz Dokumentację techniczną łącznika.
Wymagania wstępne
Przed rozpoczęciem upewnij się, że zapoznasz się z wymaganiami łącznika SAP i spełnij je dla konkretnego scenariusza.
Jeśli chcesz przekazać wygenerowane schematy do repozytorium, takiego jak konto integracji, upewnij się, że repozytorium już istnieje.
Zainstaluj lub użyj narzędzia, które może wysyłać żądania HTTP w celu przetestowania rozwiązania, na przykład:
- Program Visual Studio Code z rozszerzeniem z witryny Visual Studio Marketplace
- PowerShell Invoke-RestMethod
- Microsoft Edge — narzędzie konsoli sieciowej
- Bruno
- lok
Uwaga
W przypadku scenariuszy, w których masz poufne dane, takie jak poświadczenia, wpisy tajne, tokeny dostępu, klucze interfejsu API i inne podobne informacje, upewnij się, że używasz narzędzia chroniącego dane przy użyciu niezbędnych funkcji zabezpieczeń, działa w trybie offline lub lokalnie, nie synchronizuje danych z chmurą i nie wymaga zalogowania się do konta online. Dzięki temu można zmniejszyć ryzyko ujawnienia poufnych danych publicznie.
Generowanie schematów dla artefaktu SAP
Poniższy przykładowy przepływ pracy aplikacji logiki jest wyzwalany, gdy wyzwalacz SAP przepływu pracy odbiera żądanie z serwera SAP. Następnie przepływ pracy uruchamia akcję SAP, która generuje schematy dla określonego artefaktu SAP.
Dodawanie wyzwalacza żądania
Aby przepływ pracy odbierał żądania z serwera SAP za pośrednictwem protokołu HTTP, możesz użyć wbudowanego wyzwalacza Request. Ten wyzwalacz tworzy punkt końcowy z adresem URL, pod którym serwer SAP może wysyłać żądania HTTP POST do przepływu pracy. Gdy przepływ pracy odbierze te żądania, wyzwalacz zostanie wyzwolony i uruchomi następny krok w przepływie pracy.
W zależności od tego, czy masz przepływ pracy Zużycie w wielodostępnej usłudze Azure Logic Apps, czy w standardowym przepływie pracy w usłudze Azure Logic Apps z jedną dzierżawą, wykonaj odpowiednie kroki:
W witrynie Azure Portal utwórz zasób aplikacji logiki Zużycie i pusty przepływ pracy, który zostanie otwarty w projektancie.
W projektancie wykonaj następujące ogólne kroki, aby znaleźć i dodać wbudowany wyzwalacz Żądania o nazwie Po odebraniu żądania HTTP.
Zapisz przepływ pracy. Na pasku narzędzi projektanta wybierz pozycję Zapisz.
Ten krok generuje adres URL punktu końcowego, pod którym wyzwalacz może odbierać żądania z serwera SAP, na przykład:
Dodawanie akcji SAP w celu wygenerowania schematów
W zależności od tego, czy masz przepływ pracy Zużycie w wielodostępnej usłudze Azure Logic Apps, czy w standardowym przepływie pracy w usłudze Azure Logic Apps z jedną dzierżawą, wykonaj odpowiednie kroki:
W projektancie przepływu pracy w obszarze Wyzwalacz żądania wybierz pozycję Nowy krok.
W projektancie wykonaj następujące ogólne kroki, aby znaleźć i dodać akcję zarządzaną SAP o nazwie Generuj schematy.
Aby uzyskać więcej informacji na temat tej akcji zarządzanej przez oprogramowanie SAP, zobacz Generowanie schematów.
Jeśli zostanie wyświetlony monit, podaj informacje o połączeniu dla lokalnego serwera SAP. Po zakończeniu wybierz Utwórz. W przeciwnym razie przejdź do następnego kroku, aby skonfigurować akcję SAP.
Domyślnie podczas tworzenia połączenia dla operacji zarządzanej przez system SAP silne wpisywanie jest używane do sprawdzania nieprawidłowych wartości przez przeprowadzenie walidacji XML względem schematu. To zachowanie może pomóc w wykrywaniu problemów wcześniej. Dowiedz się więcej o ustawieniu Bezpiecznego wpisywania. Aby zapoznać się z innymi opcjonalnymi dostępnymi parametrami połączenia, zobacz Domyślne informacje o połączeniu.
Po skonfigurowaniu i testowaniu połączenia przez usługę Azure Logic Apps zostanie wyświetlone pole informacji o akcji. Aby uzyskać więcej informacji na temat wszelkich problemów z połączeniem, które mogą wystąpić, zobacz Rozwiązywanie problemów z połączeniami.
W akcji Generuj schematy podaj ścieżkę do artefaktu, dla którego chcesz wygenerować schemat, wybierając dostępną akcję SAP na serwerze SAP.
W polu edycji parametru Body ActionUri wybierz ikonę folderu. Z listy, która zostanie otwarta, wybierz pozycję BAPI, IDOC, RFC lub TRFC. W tym przykładzie wybrano dokument IDOC. W przypadku wybrania innego typu dostępne akcje SAP zmieniają się w zależności od wybranego typu.
Uwaga
Jeśli wystąpi błąd nieprawidłowej bramy (500) lub błąd Nieprawidłowe żądanie (400), zobacz błąd 500 Zła brama lub Błąd nieprawidłowego żądania 400.
Przeglądaj foldery typów akcji SAP przy użyciu strzałek, aby znaleźć i wybrać akcję SAP, której chcesz użyć.
W tym przykładzie wybrano pozycję ORDERS>ORDERS05>720>Send( Wyślij).
Jeśli nie możesz znaleźć żądanej akcji, możesz ręcznie wprowadzić ścieżkę, na przykład:
Napiwek
Dla parametru Body ActionUri możesz podać wartość parametru za pomocą edytora wyrażeń. W ten sposób można użyć tej samej akcji SAP dla różnych typów komunikatów.
Aby uzyskać więcej informacji na temat tej akcji SAP, zobacz Schematy komunikatów dla operacji IDoc.
Aby wygenerować schematy dla więcej niż jednego artefaktu, w sekcji Body ActionUri wybierz pozycję Dodaj nowy element.
Dla każdego artefaktu podaj akcję SAP, której chcesz użyć do generowania schematu, na przykład:
Zapisz przepływ pracy. Na pasku narzędzi projektanta wybierz pozycję Zapisz.
Testowanie przepływu pracy pod kątem generowania schematu
W zależności od tego, czy masz przepływ pracy Zużycie w wielodostępnej usłudze Azure Logic Apps, czy w standardowym przepływie pracy w usłudze Azure Logic Apps z jedną dzierżawą, wykonaj odpowiednie kroki:
Jeśli zasób aplikacji logiki Zużycie nie jest jeszcze włączony, w menu aplikacji logiki wybierz pozycję Przegląd. Na pasku narzędzi wybierz pozycję Włącz.
Na pasku narzędzi projektanta wybierz pozycję Uruchom>, aby ręcznie uruchomić przepływ pracy.
Aby zasymulować ładunek wyzwalacza elementu webhook i wyzwolić przepływ pracy, wyślij żądanie HTTP do adresu URL punktu końcowego utworzonego przez wyzwalacz żądania przepływu pracy, w tym metodę oczekiwaną przez wyzwalacz żądania przy użyciu narzędzia żądania HTTP i jego instrukcji. Upewnij się, że dołącz zawartość wiadomości do żądania.
W tym przykładzie użyto metody POST i adresu URL punktu końcowego do wysłania pliku IDoc, który musi być w formacie XML i uwzględnić przestrzeń nazw wybranej akcji SAP, na przykład:
<?xml version="1.0" encoding="UTF-8" ?> <Send xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/2/ORDERS05//720/Send"> <idocData> <...> </idocData> </Send>
Po wysłaniu żądania HTTP poczekaj na odpowiedź z przepływu pracy.
Uwaga
Przepływ pracy może przekraczać limit czasu, jeśli wszystkie kroki wymagane dla odpowiedzi nie zakończą się w limicie limitu czasu żądania. Jeśli ten warunek się stanie, żądania mogą zostać zablokowane. Aby ułatwić diagnozowanie problemów, dowiedz się, jak można sprawdzać i monitorować przepływy pracy aplikacji logiki.
W okienku Przegląd aplikacji logiki w obszarze Historia przebiegów znajdź i otwórz przebieg przepływu pracy.
Znajdź akcję Generuj schematy i przejrzyj dane wyjściowe akcji.
W danych wyjściowych są wyświetlane wygenerowane schematy dla określonych komunikatów.
Aby uzyskać więcej informacji na temat przeglądania historii uruchamiania przepływu pracy, zobacz Monitorowanie przepływów pracy aplikacji logiki.
Przekazywanie schematów do konta integracji
Opcjonalnie możesz pobrać lub zapisać wygenerowane schematy w repozytoriach, takich jak konto integracji lub konto usługi Azure Storage, na przykład w kontenerze obiektów blob. Konta integracji zapewniają najwyższej klasy środowisko akcji XML dla przepływów pracy w usłudze Azure Logic Apps. Istnieje możliwość przekazania wygenerowanych schematów do istniejącego konta integracji w ramach tego samego przepływu pracy, który generuje te schematy przy użyciu akcji usługi Azure Resource Manager o nazwie Utwórz lub zaktualizuj zasób.
Uwaga
Schematy używają formatu zakodowanego w formacie base64. Aby przekazać schematy do konta integracji, najpierw należy je zdekodować przy użyciu base64ToString()
funkcji . W poniższym przykładzie pokazano kod elementu properties
:
"properties": {
"Content": "@base64ToString(items('For_each')?['Content'])",
"ContentType": "application/xml",
"SchemaType": "Xml"
}
W tym zadaniu będziesz potrzebować konta integracji, jeśli jeszcze go nie masz. W zależności od tego, czy masz przepływ pracy Zużycie w wielodostępnej usłudze Azure Logic Apps, czy w standardowym przepływie pracy w usłudze Azure Logic Apps z jedną dzierżawą, wykonaj odpowiednie kroki, aby przekazać schematy do konta integracji z przepływu pracy po wygenerowaniu schematu.
W projektancie przepływu pracy w obszarze akcji zarządzanej SAP o nazwie Generuj schematy wybierz pozycję Nowy krok.
Wykonaj następujące ogólne kroki, aby znaleźć i dodać akcję zarządzaną usługi Azure Resource Manager o nazwie Utwórz lub zaktualizuj zasób. Jeśli zostanie wyświetlony monit o zalogowanie się przy użyciu poświadczeń, przejdź dalej i kontynuuj.
Po skonfigurowaniu i testowaniu połączenia przez usługę Azure Logic Apps zostanie wyświetlone pole informacji o akcji.
W akcji Tworzenie lub aktualizowanie zasobu podaj wymagane informacje.
Aby uwzględnić wszystkie dane wyjściowe z poprzednich kroków w przepływie pracy, wybierz wewnątrz parametru, w którym chcesz dołączyć dane wyjściowe, otwórz listę zawartości dynamicznej i wybierz dane wyjściowe do uwzględnienia.
Z listy Dodaj nowy parametr wybierz parametry Lokalizacja i Właściwości.
Podaj wartości tych dodanych parametrów, na przykład:
Akcja Generuj schematy generuje schematy jako kolekcję, więc projektant automatycznie dodaje pętlę Dla każdego z nich wokół akcji usługi Azure Resource Manager, na przykład:
Zapisz przepływ pracy. Na pasku narzędzi projektanta wybierz pozycję Zapisz.
Testowanie przepływu pracy
W zależności od tego, czy masz przepływ pracy aplikacji logiki Zużycie, czy Standardowa, wykonaj ogólne kroki, aby ręcznie przetestować i uruchomić przepływ pracy.
Po pomyślnym uruchomieniu przejdź do konta integracji i sprawdź, czy istnieją wygenerowane schematy.
Przykładowe schematy XML
Jeśli dowiesz się, jak wygenerować schemat XML do użycia podczas tworzenia przykładowego dokumentu, zapoznaj się z poniższymi przykładami. W poniższych przykładach pokazano, jak można pracować z wieloma typami ładunków, w tym:
- Żądania RFC
- Żądania BAPI
- Żądania IDoc
- Proste lub złożone typy danych schematu XML
- Parametry tabeli
- Opcjonalne zachowania XML
Możesz rozpocząć schemat XML przy użyciu opcjonalnego prologu XML. Łącznik SAP działa z listą prologu XML lub bez tego pliku.
<?xml version="1.0" encoding="utf-8">
Przykłady XML dla żądań RFC
W poniższym przykładzie pokazano podstawowe wywołanie RFC, w którym nazwa RFC to STFC_CONNECTION
. To żądanie używa domyślnej przestrzeni nazw o nazwie xmlns=
. Można jednak przypisywać aliasy przestrzeni nazw, takie jak xmlns:exampleAlias=
. Wartość przestrzeni nazw to przestrzeń nazw dla wszystkich elementów RFC w systemie SAP dla usługi firmy Microsoft. Żądanie ma prosty parametr wejściowy o nazwie <REQUTEXT>
.
<STFC_CONNECTION xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
<REQUTEXT>exampleInput</REQUTEXT>
</STFC_CONNECTION>
W poniższym przykładzie pokazano wywołanie RFC z parametrem tabeli. To przykładowe wywołanie i grupa testowych RFC są dostępne we wszystkich systemach SAP. Parametr tabeli ma nazwę TCPICDAT
. Typ wiersza tabeli to ABAPTEXT
, a ten element jest powtarzany dla każdego wiersza w tabeli. Ten przykład zawiera pojedynczy wiersz o nazwie LINE
. Żądania z parametrem tabeli mogą zawierać dowolną liczbę pól, gdzie liczba jest dodatnią liczbą całkowitą (n).
<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>
Napiwek
Aby przejrzeć wynik z STFC_WRITE_TO_TCPIC RFC, użyj przeglądarki danych programu SAP Logon (T-Code SE16) i tabeli o nazwie TCPIC.
W poniższym przykładzie pokazano wywołanie RFC z parametrem tabeli z polem anonimowym, które jest polem bez przypisanej nazwy. Typy złożone są deklarowane w oddzielnej przestrzeni nazw, w której deklaracja ustawia nową wartość domyślną dla bieżącego węzła i wszystkich jego elementów podrzędnych. W przykładzie użyto kodu x002F
szesnastkowego jako znaku ucieczki dla symbolu / , ponieważ ten symbol jest zarezerwowany w nazwie pola SAP.
<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>
W poprzednim przykładzie pokazano również, jak kodować tablice binarne dla typów byte
danych SAP i XString
. Tablice binarne są zakodowane w formacie Base64 w formacie XML (typ xs:base64Binary
danych binarnych XSD). W przykładzie przykładowa wartość AQIDBAU=
ciągu base64 dekoduje się jako tablica [01][02][03][04]
binarna . To kodowanie różni się i jest bardziej wydajne niż kodowanie szesnastkowe bazowego łącznika SAP .NET Connector. W przypadku kodowania szesnastkowego ta sama wartość jest kodowana jako ciąg 01020304
.
Uwaga
Należy zachować ostrożność podczas korzystania z kodowania tablicy binarnej, ponieważ kodowanie szesnastkowe używa podzestawu zakresu base64 i jest wyświetlane jako prawidłowe wartości base64. Na przykład wartość 01020304
ciągu również dekoduje jako prawidłową wartość zakodowaną w formacie base64, ale powoduje użycie innej tablicy [d3][5d][36][d3][7d][38]
binarnej, a nie tablicy [01][02][03][04]
binarnej .
Poniższy przykład zawiera prefiksy dla przestrzeni nazw. Wszystkie prefiksy można zadeklarować jednocześnie lub zadeklarować dowolną liczbę prefiksów jako atrybuty węzła. Alias przestrzeni nazw RFC o nazwie ns0
jest używany jako główny i parametr dla typu podstawowego.
Uwaga
Typy złożone są deklarowane w innej przestrzeni nazw dla typów RFC z aliasem ns3
zamiast regularnej przestrzeni nazw RFC z aliasem 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>
Przykłady XML dla żądań interfejsu BAPI
Poniższe przykłady XML to przykładowe żądania wywołania metody BAPI.
Uwaga
System SAP udostępnia obiekty biznesowe systemom zewnętrznym, opisując je w odpowiedzi na RFC RPY_BOR_TREE_INIT
, które problemy z usługą Azure Logic Apps bez filtru wejściowego. Usługa Azure Logic Apps sprawdza tabelę BOR_TREE
danych wyjściowych .
Pole SHORT_TEXT
jest używane dla nazw obiektów biznesowych. Obiekty biznesowe, które nie są zwracane przez oprogramowanie SAP w tabeli wyjściowej, nie są dostępne dla usługi Azure Logic Apps.
Jeśli używasz niestandardowych obiektów biznesowych, pamiętaj, aby opublikować i zwolnić te obiekty biznesowe w oprogramowaniu SAP. W przeciwnym razie system SAP nie wyświetla niestandardowych obiektów biznesowych w tabeli BOR_TREE
wyjściowej . Nie możesz uzyskać dostępu do niestandardowych obiektów biznesowych w usłudze Azure Logic Apps, dopóki nie uwidocznisz obiektów biznesowych z systemu SAP.
Poniższy przykład pobiera listę banków przy użyciu metody GETLIST
BAPI . Ten przykład zawiera obiekt biznesowy banku o nazwie BUS1011
.
<GETLIST xmlns="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS1011">
<BANK_CTRY>US</BANK_CTRY>
<MAX_ROWS>10</MAX_ROWS>
</GETLIST>
Poniższy przykład tworzy obiekt bankowy CREATE
przy użyciu metody . W tym przykładzie użyto tego samego obiektu biznesowego o nazwie BUS1011
, co w poprzednim przykładzie. Jeśli używasz CREATE
metody do utworzenia banku, pamiętaj, aby zatwierdzić zmiany, ponieważ ta metoda nie jest domyślnie zatwierdzana.
Napiwek
Upewnij się, że dokument XML jest zgodny z wszelkimi regułami walidacji skonfigurowanymi w systemie SAP. Na przykład w przypadku tego przykładowego dokumentu w USA klucz bankowy (<BANK_KEY>
) musi być numerem routingu bankowego, znanym również jako numer ABA.
<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>
Poniższy przykład pobiera szczegóły dla banku przy użyciu numeru routingu bankowego, który jest wartością .<BANK_KEY>
<GETDETAIL xmlns="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS1011">
<BANKCOUNTRY>US</BANKCOUNTRY>
<BANKKEY>123456789</BANKKEY>
</GETDETAIL>
Przykłady XML dla żądań IDoc
Aby wygenerować zwykły schemat XML oprogramowania SAP IDoc, użyj aplikacji SAP Logon i WE60
T-Code. Uzyskaj dostęp do dokumentacji systemu SAP za pośrednictwem interfejsu użytkownika i wygeneruj schematy XML w formacie XSD dla typów i rozszerzeń IDoc. Aby uzyskać więcej informacji na temat ogólnych formatów i ładunków SAP oraz wbudowanych okien dialogowych, zapoznaj się z dokumentacją systemu SAP.
W tym przykładzie zadeklarowany jest węzeł główny i przestrzenie nazw. Identyfikator URI w przykładowym kodzie http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//700/Send
deklaruje następującą konfigurację:
/IDoc
jest węzłem głównym dla wszystkich dokumentów IDocs./3
to wersja typów rekordów dla typowych definicji segmentów./ORDERS05
to typ IDoc.//
jest pustym segmentem, ponieważ nie ma rozszerzenia IDoc./700
to wersja oprogramowania SAP./Send
to akcja wysyłania informacji do systemu 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>
Węzeł można powtórzyć, idocData
aby wysłać partię dokumentów IDoc w jednym wywołaniu. W poniższym przykładzie istnieje jeden rekord kontrolny o nazwie EDI_DC40
i wiele rekordów danych.
<...>
<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>
W poniższym przykładzie pokazano przykładowy rekord kontrolki IDoc, który używa prefiksu o nazwie EDI_DC
. Należy zaktualizować wartości, aby odpowiadały typowi instalacji sap i IDoc. Na przykład kod klienta IDoc może nie być 800
. Skontaktuj się z zespołem SAP, aby upewnić się, że używasz poprawnych wartości instalacji sap.
<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>
W poniższym przykładzie przedstawiono przykładowy rekord danych z segmentami zwykłymi. W tym przykładzie jest używany format daty SAP. Silne dokumenty mogą używać natywnych formatów dat XML, takich jak 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>
W poniższym przykładzie przedstawiono rekord danych z pogrupowanych segmentów. Rekord zawiera węzeł nadrzędny grupy o nazwie E2EDKT1002GRP
i wiele węzłów podrzędnych, w tym E2EDKT1002
i 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>
Zalecaną metodą jest utworzenie identyfikatora IDoc do użycia z tRFC. Możesz ustawić ten identyfikator transakcji o nazwie tid
przy użyciu operacji Send IDoc w łączniku zarządzanym sap.
Poniższy przykład przedstawia alternatywną metodę ustawiania identyfikatora transakcji lub tid
. W tym przykładzie ostatni węzeł segmentu rekordów danych i węzeł danych IDoc są zamknięte. Następnie identyfikator GUID guid
, jest używany jako identyfikator tRFC do wykrywania duplikatów.
</E2STZUM002GRP>
</idocData>
<guid>8820ea40-5825-4b2f-ac3c-b83adc34321c</guid>
</Send>