Udostępnij za pośrednictwem


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 platformie Azure z wieloma dzierżawami. 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. Jeśli tworzysz i hostujesz przepływ pracy Zużycie w środowisku usługi integracji (ISE), możesz również użyć natywnej wersji programu SAP Connector. Aby uzyskać więcej informacji, zobacz dokumentację techniczną Połączenie or.

Wymagania wstępne

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 standardowy przepływ pracy w usłudze Azure Logic Apps z jedną dzierżawą, wykonaj odpowiednie kroki:

  1. W witrynie Azure Portal utwórz zasób aplikacji logiki Zużycie i pusty przepływ pracy, który zostanie otwarty w projektancie.

  2. W projektancie wykonaj następujące ogólne kroki, aby znaleźć i dodać wbudowany wyzwalacz Żądania o nazwie Po odebraniu żądania HTTP.

    Screenshot shows the Request trigger for a Consumption workflow.

  3. 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:

    Screenshot shows the Request trigger's generated endpoint URL for receiving requests in a Consumption workflow.

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 standardowy przepływ pracy w usłudze Azure Logic Apps z jedną dzierżawą, wykonaj odpowiednie kroki:

  1. W projektancie przepływu pracy w obszarze Wyzwalacz żądania wybierz pozycję Nowy krok.

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

  3. 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 Sejf Wpisywanie. 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.

    Screenshot shows Consumption workflow and SAP managed action named Generate schemas.

  4. W akcji Generuj schematy podaj ścieżkę do artefaktu, dla którego chcesz wygenerować schemat, wybierając dostępną akcję SAP na serwerze SAP.

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

      Screenshot shows Consumption workflow, Generate schemas action, and selecting IDOC.

    2. 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).

      Screenshot shows Consumption workflow, Generate schemas action, and finding an Orders action.

      Jeśli nie możesz znaleźć żądanej akcji, możesz ręcznie wprowadzić ścieżkę, na przykład:

      Screenshot shows Consumption workflow and manually entering a path to an SAP action.

      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.

    3. Aby wygenerować schematy dla więcej niż jednego artefaktu, w sekcji Body ActionUri wybierz pozycję Dodaj nowy element.

      Screenshot shows selecting the option to add a new item.

    4. Dla każdego artefaktu podaj akcję SAP, której chcesz użyć do generowania schematu, na przykład:

      Screenshot shows multiple SAP actions to use for generating multiple schemas.

  5. 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 standardowy przepływ pracy w usłudze Azure Logic Apps z jedną dzierżawą, wykonaj odpowiednie kroki:

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

  2. Na pasku narzędzi projektanta wybierz pozycję Uruchom wyzwalacz>Uruchom, aby ręcznie uruchomić przepływ pracy.

  3. Aby zasymulować ładunek wyzwalacza elementu webhook, wyślij żądanie HTTP POST do adresu URL punktu końcowego określonego przez wyzwalacz żądania przepływu pracy. Aby wysłać żądanie, użyj narzędzia takiego jak Postman.

    W tym przykładzie żądanie HTTP POST wysyła plik IDoc, który musi być w formacie XML i zawiera 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>
    
  4. 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.

  5. W okienku Przegląd aplikacji logiki w obszarze Historia przebiegów znajdź i otwórz przebieg przepływu pracy.

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

  1. W projektancie przepływu pracy w obszarze akcji zarządzanej SAP o nazwie Generuj schematy wybierz pozycję Nowy krok.

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

    Screenshot shows Consumption workflow and an Azure Resource Manager action named Create or update a resource.

  3. W akcji Tworzenie lub aktualizowanie zasobu podaj wymagane informacje.

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

    2. Z listy Dodaj nowy parametr wybierz parametry Lokalizacja i Właściwości.

    3. Podaj wartości tych dodanych parametrów, na przykład:

      Screenshot shows Consumption workflow and Azure Resource Manager action with added parameters named Location and Properties.

    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:

    Screenshot shows Consumption workflow and for each loop with included Azure Resource Manager action.

  4. Zapisz przepływ pracy. Na pasku narzędzi projektanta wybierz pozycję Zapisz.

Testowanie przepływu pracy

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

  2. 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:

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 xmmlns: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:base64Binarydanych 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 szesnastkowy bazowego Połączenie or sap .NET. 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_TREEdanych 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_TREEwyjś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 GETLISTBAPI . 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/Senddeklaruje 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_DC40i 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 E2EDKT1002GRPi 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>

Następne kroki