Udostępnij za pośrednictwem


Nawiązywanie połączenia z oprogramowaniem SAP z przepływów pracy w usłudze Azure Logic Apps

Dotyczy: Azure Logic Apps (Zużycie + Standardowa)

Ten wieloczęściowy przewodnik z instrukcjami przedstawia sposób uzyskiwania dostępu do serwera SAP z przepływu pracy w usłudze Azure Logic Apps przy użyciu łącznika SAP. Za pomocą operacji łącznika SAP można tworzyć zautomatyzowane przepływy pracy uruchamiane po wyzwoleniu przez zdarzenia na serwerze SAP lub w innych systemach oraz uruchamiać akcje do zarządzania zasobami na serwerze SAP.

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, który jest hostowany i uruchamiany w usłudze Azure Logic Apps z jedną dzierżawą. 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ą łącznika.

Zgodność z oprogramowaniem SAP

Łącznik SAP jest zgodny z następującymi typami systemów SAP:

  • Lokalne i oparte na chmurze systemy SAP oparte na chmurze, takie jak S/4 HANA.

  • Klasyczne lokalne systemy SAP, takie jak R/3 i ECC.

Oprogramowanie SAP musi obsługiwać wersję systemu SAP, którą chcesz nawiązać połączenie. W przeciwnym razie wszelkie problemy, które mogą wystąpić, mogą nie być możliwe do rozwiązania. Aby uzyskać więcej informacji na temat wersji systemu SAP i informacji o konserwacji, zapoznaj się z tematem SAP Product Availability Matrix (PAM).

Łącznik SAP obsługuje następujące typy integracji komunikatów i danych z systemów opartych na oprogramowaniu SAP NetWeaver:

  • Dokument pośredni (IDoc)

  • Interfejs programowania aplikacji biznesowych (BAPI)

  • Zdalne wywołanie funkcji (RFC) i transakcyjne RFC (tRFC)

Łącznik SAP używa biblioteki SAP .NET Connector (NCo).

Aby użyć operacji łącznika SAP, musisz najpierw uwierzytelnić połączenie i mieć następujące opcje:

Możesz użyć protokołu SNC dla logowania jednokrotnego (SSO) sap NetWeaver lub możliwości zabezpieczeń z produktów zewnętrznych. Jeśli zdecydujesz się używać SNC, zapoznaj się z wymaganiami wstępnymi SNC i wymaganiami wstępnymi SNC dla łącznika ISE.

Dokumentacja techniczna łącznika

Łącznik SAP ma różne wersje na podstawie typu aplikacji logiki i środowiska hosta.

Aplikacja logiki Środowisko Wersja łącznika
Zużycie Wielodostępna usługa Azure Logic Apps Łącznik zarządzany, który jest wyświetlany w projektancie pod etykietą Enterprise . Aby uzyskać więcej informacji, zapoznaj się z następującą dokumentacją:

- Dokumentacja łącznika zarządzanego sap
- Łączniki zarządzane w usłudze Azure Logic Apps
Zużycie Środowisko usługi integracji (ISE) Łącznik zarządzany, który pojawia się w projektancie pod etykietą Enterprise , oraz w wersji natywnej ISE, która jest wyświetlana w projektancie z etykietą ISE i ma inne limity komunikatów niż zarządzany łącznik.

Uwaga: upewnij się, że używasz wersji natywnej środowiska ISE, a nie wersji zarządzanej.

Aby uzyskać więcej informacji, zapoznaj się z następującą dokumentacją:

- Dokumentacja łącznika zarządzanego sap
- Limity komunikatów ISE
- Łączniki zarządzane w usłudze Azure Logic Apps
Standardowa Usługa Azure Logic Apps i środowisko App Service Environment w wersji 3 z jedną dzierżawą (tylko plany systemu Windows) Łącznik zarządzany wyświetlany w galerii łączników w obszarze Udostępnione środowisko uruchomieniowe>i wbudowany łącznik, który jest wyświetlany w galerii łączników w obszarze Środowisko uruchomieniowe>w aplikacji i jest oparty na dostawcy usług. Wbudowany łącznik może bezpośrednio uzyskiwać dostęp do sieci wirtualnych platformy Azure za pomocą parametry połączenia bez lokalnej bramy danych. Aby uzyskać więcej informacji, zapoznaj się z następującą dokumentacją:

- Dokumentacja łącznika zarządzanego sap
- Dokumentacja wbudowanego łącznika SAP

- Łączniki zarządzane w usłudze Azure Logic Apps
- Wbudowane łączniki w usłudze Azure Logic Apps

Różnice łączników

Wbudowany łącznik SAP znacznie różni się od łącznika zarządzanego sap i łącznika SAP ISE w następujący sposób:

  • Połączenia lokalne nie wymagają lokalnej bramy danych.

    Zamiast tego wbudowany łącznik SAP komunikuje się bezpośrednio z serwerem SAP w zintegrowanej sieci wirtualnej, co pozwala uniknąć przeskoków, opóźnień i punktów awarii bramy sieci. Upewnij się, że przekazujesz lub wdrażasz biblioteki klienckie SAP innych niż redystrybucyjne za pomocą aplikacji przepływu pracy aplikacji logiki. Aby uzyskać więcej informacji, zobacz wymagania wstępne w tym przewodniku.

  • Obsługiwane są rozmiary ładunków do 100 MB, więc nie trzeba używać identyfikatora URI obiektu blob dla dużych żądań.

  • Konkretne akcje są dostępne dla wywołań BAPI, Wywołaj RFC i Wyślij IDoc. Te dedykowane akcje zapewniają lepsze środowisko dla stanowych interfejsów BAPI, transakcji RFC i deduplikacji IDoc i nie używają starszego modelu obsługi komunikatów protokołu SOAP Windows Communication Foundation (WCF).

    Akcja Wywołaj interfejs BAPI zawiera maksymalnie dwie odpowiedzi z zwróconym kodem JSON, odpowiedzią XML z wywołania baPI oraz zatwierdzeniem BAPI lub odpowiedzią wycofywania baPI, a także w przypadku użycia automatycznego zatwierdzania. Ta funkcja rozwiązuje problem z łącznikiem zarządzanym sap, w którym wynik z automatycznego zatwierdzania jest dyskretny i widoczny tylko za pośrednictwem dzienników.

  • Dłuższy limit czasu na 5 minut w porównaniu z łącznikiem zarządzanym i łącznikiem z wersją środowiska ISE.

    Wbudowany łącznik SAP nie korzysta z udostępnionej lub globalnej infrastruktury łącznika, co oznacza, że limity czasu są dłuższe o 5 minut w porównaniu z łącznikiem zarządzanym sap (dwie minuty) i łącznikiem SAP ISE (cztery minuty). Długotrwałe żądania działają bez konieczności implementowania długotrwałego wzorca akcji żądania opartego na elementach webhook.

  • Domyślnie wbudowane operacje łącznika SAP są bezstanowe. Można jednak włączyć tryb stanowy (koligację) dla tych operacji.

    W trybie stanowym wbudowany łącznik SAP obsługuje konfiguracje wysokiej dostępności i skalowania w poziomie. Dla porównania łącznik zarządzany sap ma ograniczenia dotyczące lokalnej bramy danych ograniczone do pojedynczego wystąpienia dla wyzwalaczy i do klastrów tylko w trybie failover dla akcji. Aby uzyskać więcej informacji, zobacz Łącznik zarządzany sap — znane problemy i ograniczenia.

  • Standardowe przepływy pracy aplikacji logiki wymagają biblioteki klienta SAP NCo 3.1, a nie systemu SAP NCo 3.0. Aby uzyskać więcej informacji, zobacz Wymagania wstępne.

  • Standardowe przepływy pracy aplikacji logiki udostępniają ustawienia aplikacji, w których można określić osobiste środowisko zabezpieczeń (PSE) i hasło PSE.

    Ta zmiana uniemożliwia przekazywanie wielu plików PSE, które nie są obsługiwane i powoduje błędy połączenia SAP. W obszarze Przepływy pracy aplikacji logiki Zużycie łącznik zarządzany sap umożliwia określenie tych wartości za pomocą parametrów połączenia, które umożliwiają przekazywanie wielu plików PSE i nie są obsługiwane, powodując błędy połączeń SAP.

  • Generowanie akcji schematu

    • Możesz wybrać spośród wielu typów operacji, takich jak BAPI, IDoc, RFC i tRFC, w porównaniu z tą samą akcją w łączniku zarządzanym sap, który używa parametru SapActionUris i środowiska selektora systemu plików.

    • Możesz bezpośrednio podać nazwę parametru jako wartość niestandardową. Można na przykład określić parametr nazwa RFC z akcji Wywołaj RFC . Dla porównania w łączniku zarządzanym sap trzeba było podać złożoną nazwę parametru Identyfikator URI akcji.

    • Zgodnie z projektem ta akcja nie obsługuje generowania wielu schematów dla rfc, BAPIs lub IDocs w jednym wykonaniu akcji, które obsługuje łącznik zarządzany przez sap. Ta zmiana możliwości zapobiega teraz próbom wysyłania dużej ilości zawartości w jednym wywołaniu.

Parametry łącznika

Oprócz prostych danych wejściowych ciągów i liczb łącznik SAP akceptuje następujące parametry tabeli (Type=ITAB dane wejściowe):

  • Parametry kierunku tabeli, zarówno dane wejściowe, jak i wyjściowe, dla starszych wersji sap.
  • Zmiany parametrów, które zastępują parametry kierunku tabeli dla nowszych wydań SAP.
  • Hierarchiczne parametry tabeli.

Znane problemy i ograniczenia

Łącznik zarządzany przez oprogramowanie SAP

  • Łącznik SAP obecnie nie obsługuje ciągów routera SAP. Lokalna brama danych musi istnieć w sieci wirtualnej, w której brama może bezpośrednio nawiązać połączenie z systemem SAP.

  • Ogólnie rzecz biorąc, wyzwalacz SAP nie obsługuje klastrów bramy danych. W niektórych przypadkach trybu failover węzeł bramy danych, który komunikuje się z systemem SAP, może różnić się od aktywnego węzła, co powoduje nieoczekiwane zachowanie.

    • W przypadku scenariuszy wysyłania komunikatów obsługiwane są klastry bramy danych w trybie failover.

    • Stanowe akcje SAP nie obsługują klastrów bramy danych w trybie równoważenia obciążenia. Komunikacja stanowa musi pozostać w tym samym węźle klastra bramy danych. Użyj bramy danych w trybie innym niż klaster lub w klastrze skonfigurowanym tylko do pracy w trybie failover. Na przykład te akcje obejmują następujące elementy:

      • Wszystkie akcje określające wartość identyfikatora sesji
      • [BAPI] Zatwierdzanie transakcji
      • [BAPI] Wycofywanie transakcji
      • [BAPI — RFC] Zamknij sesję stanową
      • [BAPI — RFC] Tworzenie sesji stanowej
  • W akcji o nazwie [BAPI] Wywołaj metodę w systemie SAP funkcja automatycznego zatwierdzania nie zatwierdzi zmian BAPI, jeśli co najmniej jedno ostrzeżenie istnieje w obiekcie CallBapiResponse zwróconym przez akcję. Aby zatwierdzić zmiany BAPI pomimo wszelkich ostrzeżeń, wykonaj następujące kroki:

    1. Utwórz sesję jawnie przy użyciu akcji o nazwie [BAPI - RFC] Utwórz sesję stanową.
    2. W akcji o nazwie [BAPI] Wywołaj metodę w systemie SAP wyłącz funkcję automatycznego zatwierdzania.
    3. Wywołaj akcję o nazwie [BAPI] Zatwierdź transakcję .

Połączenia oparte na adresach IP z serwerem SAP Message Server (konfiguracja z równoważeniem obciążenia)

Jeśli określisz adres IP, aby nawiązać połączenie z serwerem komunikatów SAP, na przykład moduł równoważenia obciążenia, połączenie może nadal zakończyć się niepowodzeniem z komunikatem o błędzie podobnym do "nazwa hosta SAPDBSERVER01.example.com nieznany". Serwer komunikatów instruuje łącznik SAP, aby używał nazwy hosta dla połączenia z serwerem aplikacji SAP zaplecza lub serwera za modułem równoważenia obciążenia. Jeśli usługa DNS nie może rozpoznać nazwy hosta, połączenie zakończy się niepowodzeniem.

W przypadku tego problemu istnieją następujące obejścia lub rozwiązania:

  • Upewnij się, że klient tworzący połączenie, taki jak komputer z lokalną bramą danych dla łącznika SAP lub hosta łącznika ISE dla łącznika SAP opartego na środowisku ISE, może rozpoznać nazwy hostów zwracane przez serwer komunikatów.

  • W transakcji o nazwie RZ11 zmień lub dodaj ustawienie SAP o nazwie ms/lg_with_hostname=0.

Kontekst lub tło problemu

Oprogramowanie SAP uaktualniło łącznik .NET (NCo) do wersji 3.1, co zmieniło sposób, w jaki łącznik żąda połączeń z serwerami zaplecza z serwerów komunikatów. Łącznik używa teraz nowego interfejsu API do rozpoznawania serwera aplikacji przez serwer komunikatów, chyba że wymusisz użycie poprzedniego interfejsu API za pomocą ustawienia o nazwie ms/lg_with_hostname=0". Aby uzyskać więcej informacji, zobacz artykuł sap KB 3305039 — ustawienie adresu IP SMLG nie jest brane pod uwagę podczas logowania do grupy logowania do grupy logowania.

Wymagania wstępne

  • Konto i subskrypcja platformy Azure. Jeśli nie masz jeszcze subskrypcji platformy Azure, utwórz bezpłatne konto platformy Azure.

  • Serwer aplikacji SAP lub serwer komunikatów SAP, do którego chcesz uzyskać dostęp z usługi Azure Logic Apps.

    • Skonfiguruj serwer SAP i konto użytkownika, aby zezwolić na korzystanie z usługi RFC.

      Aby uzyskać więcej informacji, w tym obsługiwanych typów kont użytkowników i minimalną wymaganą autoryzację dla każdego typu akcji (RFC, BAPI, IDoc), zapoznaj się z następującą uwagą SAP: 460089 — minimalne profile autoryzacji dla zewnętrznych programów RFC.

    • Konto użytkownika sap wymaga dostępu do RFC_METADATA grupy funkcji i odpowiednich modułów funkcji dla następujących operacji:

      Operacje Dostęp do modułów funkcji
      Akcje RFC RFC_GROUP_SEARCH i DD_LANGU_TO_ISOLA
      Akcje BAPI BAPI_TRANSACTION_COMMIT, , BAPI_TRANSACTION_ROLLBACK, SWO_QUERY_METHODSRPY_BOR_TREE_INIT, iSWO_QUERY_API_METHODS
      Akcje IDoc IDOCTYPES_LIST_WITH_MESSAGES, IDOCTYPES_FOR_MESTYPE_READ, , INBOUND_IDOCS_FOR_TID, OUTBOUND_IDOCS_FOR_TID, GET_STATUS_FROM_IDOCNRi IDOC_RECORD_READ
      Odczytywanie akcji tabeli SAP RFC BBP_RFC_READ_TABLE lub RFC_READ_TABLE.
      Przyznawanie minimalnego dostępu do serwera SAP dla połączenia SAP RFC_METADATA_GET i RFC_METADATA_GET_TIMESTAMP
  • Przepływ pracy aplikacji logiki, z którego chcesz uzyskać dostęp do serwera SAP.

    • Aby zapoznać się z przepływem pracy Zużycie w wielodostępnej usłudze Azure Logic Apps, zobacz Wielodostępne wymagania wstępne.

    • Aby uzyskać standardowy przepływ pracy w usłudze Azure Logic Apps z jedną dzierżawą, zobacz Wymagania wstępne dotyczące jednej dzierżawy.

    • Aby zapoznać się z przepływem pracy Zużycie w środowisku usługi integracji na poziomie premium (ISE), zobacz Wymagania wstępne środowiska ISE.

      Uwaga

      W przypadku korzystania z środowiska ISE na poziomie Premium należy użyć natywnego łącznika SAP isE, a nie łącznika zarządzanego sap, który nie jest natywnie uruchamiany w środowisku ISE. Aby uzyskać więcej informacji, zapoznaj się z wymaganiami wstępnymi środowiska ISE.

  • Domyślnie wbudowane operacje łącznika SAP są bezstanowe. Aby uruchomić te operacje w trybie stanowym, zobacz Włączanie trybu stanowego dla wbudowanych łączników bezstanowych.

  • Aby użyć wyzwalacza łącznika zarządzanego lub wbudowanego sap o nazwie Po odebraniu komunikatu wykonaj następujące zadania:

    • Skonfiguruj uprawnienia zabezpieczeń bramy SAP lub listę kontroli dostępu (ACL). W oknie dialogowym Monitor bramy (T-Code SMGW), w którym są wyświetlane pliki secinfo i reginfo, otwórz menu Goto i wybierz pozycję Expert Functions>External Security Maintenance of ACL Files (Obsługa zabezpieczeń>zewnętrznych funkcji ekspertów).

      Wymagane jest następujące ustawienie uprawnień:

      P TP=LOGICAPP HOST=<on-premises-gateway-server-IP-address> ACCESS=*

      Ten wiersz ma następujący format:

      P TP=<trading-partner-identifier-(program-name)-or-*-for-all-partners> HOST=<comma-separated-list-with-external-host-IP-or-network-names-that-can-register-the-program> ACCESS=<*-for-all-permissions-or-a-comma-separated-list-of-permissions>

      Jeśli nie skonfigurujesz uprawnień zabezpieczeń bramy SAP Gateway, może zostać wyświetlony następujący błąd:

      Rejestracja tp Microsoft.PowerBI.EnterpriseGateway z niedozwolonej nazwy hosta <>

      Aby uzyskać więcej informacji, zapoznaj się z tematem SAP Note 1850230 — GW: "Rejestracja identyfikatora> programu tp <jest niedozwolona".

    • Skonfiguruj rejestrowanie zabezpieczeń bramy SAP, aby ułatwić znajdowanie problemów z listą kontroli dostępu (ACL). Aby uzyskać więcej informacji, zapoznaj się z tematem pomocy sap na temat konfigurowania rejestrowania bramy.

    • W oknie dialogowym Konfiguracja połączeń RFC (T-Code SM59) utwórz połączenie RFC z typem TCP/IP. Upewnij się, że dla ustawienia Typ aktywacji ustawiono wartość Zarejestrowany program serwera. Ustaw typ komunikacji połączenia RFC z wartością Docelowy system na Unicode.

    • Jeśli używasz tego wyzwalacza SAP z parametrem Format IDOC ustawionym na FlatFile wraz z akcją Dekoduj plik prosty, musisz użyć early_terminate_optional_fields właściwości w schemacie pliku prostego, ustawiając wartość na true.

      To wymaganie jest konieczne, ponieważ rekord danych IDoc pliku prostego, który jest wysyłany przez system SAP w wywołaniu IDOC_INBOUND_ASYNCHRONOUS tRFC, nie jest wypełniony do pełnej długości pola SDATA. Usługa Azure Logic Apps udostępnia pliki proste IDoc oryginalne dane bez uzupełniania danych odebranych z oprogramowania SAP. Ponadto po połączeniu tego wyzwalacza SAP z akcją Dekoduj plik prosty schemat dostarczony do akcji musi być zgodny.

    Uwaga

    W przepływach pracy Zużycie i Standardowa wyzwalacz zarządzany SAP o nazwie Po odebraniu komunikatu używa tej samej lokalizacji identyfikatora URI, aby odnowić i anulować subskrypcję elementu webhook. Operacja odnawiania używa metody HTTP PATCH , podczas gdy operacja anulowania subskrypcji używa metody HTTP DELETE . To zachowanie może spowodować, że operacja odnowienia będzie wyświetlana jako operacja anulowania subskrypcji w historii wyzwalacza, ale operacja jest nadal odnawiana, ponieważ wyzwalacz używa PATCH jako metody HTTP, a nie DELETE.

    W przypadku standardowych przepływów pracy wbudowany wyzwalacz SAP o nazwie Po odebraniu komunikatu używa zamiast tego wyzwalacza usługi Azure Functions i pokazuje tylko rzeczywiste wywołania zwrotne z systemu SAP.

    • WEBSITE_PRIVATE_IP: ustaw tę wartość zmiennej środowiskowej na 127.0.0.1 jako adres localhost.
    • WEBSITE_PRIVATE_PORTS: ustaw tę wartość zmiennej środowiskowej na dwa wolne i użyteczne porty na komputerze lokalnym, oddzielając wartości przecinkiem (,), na przykład 8080 8088.
  • Zawartość komunikatu do wysłania na serwer SAP, na przykład przykładowy plik IDoc. Ta zawartość musi być w formacie XML i zawierać przestrzeń nazw akcji SAP, której chcesz użyć. Dokumenty IDoc można wysłać za pomocą prostego schematu pliku, opakowując je w kopertę XML.

Wymagania wstępne dotyczące łączności sieciowej

System SAP wymaga łączności sieciowej z hosta biblioteki łącznika SAP .NET Connector (NCo):

  • W przypadku przepływów pracy aplikacji logiki zużycie w wielodostępnej usłudze Azure Logic Apps lokalna brama danych hostuje bibliotekę łącznika SAP .NET Connector (NCo). Jeśli używasz lokalnego klastra bramy danych, wszystkie węzły klastra wymagają łączności sieciowej z systemem SAP.

  • W przypadku standardowych przepływów pracy aplikacji logiki w usłudze Azure Logic Apps z jedną dzierżawą zasób aplikacji logiki hostuje bibliotekę łącznika SAP .NET Connector (NCo). Dlatego zasób aplikacji logiki musi włączyć integrację sieci wirtualnej i że sieć wirtualna musi mieć łączność sieciową z systemem SAP.

  • W przypadku przepływów pracy aplikacji logiki zużycie w środowisku ISE sieć wirtualna ISE hostuje bibliotekę łącznika SAP .NET Connector (NCo).

Wymagana przez system łączność sieciowa sap obejmuje następujące serwery i usługi:

  • SAP Application Server, dispatcher service (dla wszystkich typów logowania)

    System SAP może zawierać wiele serwerów aplikacji SAP. Host biblioteki programu SAP .NET Connector (NCo) wymaga dostępu do każdego serwera i ich usług.

  • SAP Message Server, Message Service (dla grupy typów logowania)

    Serwer komunikatów i usługa przekierowuje do co najmniej jednej usługi dyspozytora serwera aplikacji. Host biblioteki programu SAP .NET Connector (NCo) wymaga dostępu do każdego serwera i ich usług.

  • Serwer bramy SAP, usługa bramy

  • Sap Gateway Server, zabezpieczona usługa bramy

    Wymagana przez system łączność sieciowa SAP obejmuje również ten serwer i usługę do użycia z protokołem Secure Network Communications (SNC).

Przekierowywanie żądań z serwera aplikacji, usługi dyspozytora do serwera bramy, usługa bramy odbywa się automatycznie w bibliotece łącznika SAP .NET Connector (NCo). To przekierowanie występuje nawet wtedy, gdy w parametrach połączenia są udostępniane tylko informacje o usłudze Dyspozytora.

Jeśli używasz modułu równoważenia obciążenia przed systemem SAP, musisz przekierować wszystkie usługi do odpowiednich serwerów. Aby uzyskać więcej informacji na temat usług i portów SAP, zapoznaj się z tematem Tcp/IP Ports of All SAP Products (Porty TCP/IP wszystkich produktów SAP).

Uwaga

Upewnij się, że włączono łączność sieciową z hosta biblioteki łącznika SAP .NET Connector (NCo) i że wymagane porty są otwarte w zaporach i sieciowych grupach zabezpieczeń. W przeciwnym razie występują błędy, takie jak partner nie został osiągnięty ze składnika NI (interfejs sieciowy) i tekst błędu, taki jak WSAECONNREFUSED: Odmowa połączenia.

Wymagania wstępne dotyczące biblioteki klienta SAP NCo

Aby użyć łącznika SAP, musisz zainstalować bibliotekę klienta NCo łącznika SAP dla platformy Microsoft .NET 3.1. Poniższa lista zawiera opis wymagań wstępnych dotyczących biblioteki klienta SAP NCo na podstawie przepływu pracy, w którym używasz łącznika SAP:

  • Version:

  • Z domyślnego folderu instalacyjnego biblioteki klienta skopiuj pliki zestawu (.dll) do innej lokalizacji w zależności od scenariusza w następujący sposób. Opcjonalnie, jeśli używasz tylko łącznika zarządzanego sap, podczas instalowania biblioteki klienta SAP NCo wybierz pozycję Global Assembly Cache registration (Rejestracja globalnej pamięci podręcznej zestawów). Archiwum zip ise i wbudowany łącznik SAP obecnie nie obsługuje rejestracji GAC.

    • W przypadku przepływu pracy Zużycie, który działa w wielodostępnej usłudze Azure Logic Apps i korzysta z lokalnej bramy danych, skopiuj następujące pliki zestawu (.dll) do folderu instalacyjnego lokalnej bramy danych, na przykład C:\Program Files\On-Premises Data Gateway. Biblioteka klienta OPROGRAMOWANIA SAP NCo 3.0 zawiera następujące zestawy:

      • libicudecnumber.dll
      • rscp4n.dll
      • sapnco.dll
      • sapnco_utils.dll

      Pamiętaj, aby skopiować pliki zestawu do folderu instalacyjnego bramy danych. W przeciwnym razie połączenie SAP może zakończyć się niepowodzeniem z komunikatem o błędzie. Sprawdź informacje o koncie i/lub uprawnienia i spróbuj ponownie. Dalsze problemy można rozwiązać przy użyciu przeglądarki dziennika powiązań zestawów platformy .NET. To narzędzie umożliwia sprawdzenie, czy pliki zestawów znajdują się w prawidłowej lokalizacji.

    • W przypadku przepływów pracy w warstwie Standardowa skopiuj następujące pliki zestawu (.dll) do lokalizacji, z której można przekazać je do zasobu aplikacji logiki lub projektu, w którym tworzysz przepływ pracy, odpowiednio w witrynie Azure Portal lub lokalnie w programie Visual Studio Code. Biblioteka klienta SAP NCo 3.1 zawiera następujące zestawy:

      • rscp4n.dll
      • sapnco.dll
      • sapnco_utils.dll
    • W przypadku przepływu pracy Zużycie w środowisku ISE zamiast tego postępuj zgodnie z wymaganiami wstępnymi środowiska ISE.

Istnieją następujące relacje między biblioteką klienta SAP NCo, programem .NET Framework, środowiskiem uruchomieniowym platformy .NET i bramą danych:

  • Zarówno adapter SAP firmy Microsoft, jak i usługa hosta bramy używają programu .NET Framework 4.7.2.

  • Funkcja SAP NCo dla programu .NET Framework 4.0 współpracuje z procesami, które używają środowiska uruchomieniowego .NET 4.0 do 4.8.

  • Funkcja SAP NCo dla programu .NET Framework 2.0 współpracuje z procesami, które używają środowiska uruchomieniowego .NET 2.0 do 3.5, ale nie działają już z najnowszą bramą.

Wymagania wstępne dotyczące SNC

W przypadku przepływów pracy Użycia w wielodostępnej usłudze Azure Logic Apps, które korzystają z lokalnej bramy danych i opcjonalnie SNC, należy również skonfigurować następujące ustawienia.

  • Upewnij się, że wersja biblioteki SNC i jej zależności są zgodne ze środowiskiem SAP. Aby rozwiązać problemy ze zgodnością biblioteki, możesz użyć lokalnej bramy danych i dzienników bramy danych.

  • Upewnij się, że skopiowano następujące pliki zestawu (.dll) w bibliotece klienta SAP NCo 3.0 do folderu instalacyjnego lokalnej bramy danych, na przykład C:\Program Files\On-Premises Data Gateway.

    • libicudecnumber.dll
    • rscp4n.dll
    • sapnco.dll
    • sapnco_utils.dll
  • W przypadku narzędzia SAPGENPSE należy w szczególności użyć sapgenpse.exe.

  • W przypadku zapewnienia osobistego środowiska zabezpieczeń (PSE) z połączeniem nie trzeba kopiować i konfigurować psE i SECUDIR dla lokalnej bramy danych.

  • Jeśli włączysz SNC za pośrednictwem zewnętrznego produktu zabezpieczeń, takiego jak sapseculib, Kerberos lub NTLM, upewnij się, że biblioteka SNC istnieje na tym samym komputerze co instalacja bramy danych. W tym zadaniu skopiuj pliki binarne biblioteki SNC do tego samego folderu co instalacja bramy danych na komputerze lokalnym, na przykład C:\Program Files\On-Premises Data Gateway.

    Uwaga

    Na komputerze z instalacją bramy danych i biblioteką SNC nie ustawiaj zmiennych środowiskowych dla SNC_LIB i SNC_LIB_64. W przeciwnym razie te zmienne mają pierwszeństwo przed wartością biblioteki SNC przekazywaną przez łącznik.

  • Aby użyć usługi SNC z logowaniem jednokrotnym, upewnij się, że usługa bramy danych jest uruchomiona jako użytkownik mapowany na użytkownika sap. Aby zmienić domyślne konto dla konta usługi bramy, wybierz pozycję Zmień konto i wprowadź poświadczenia użytkownika.

    Zrzut ekranu przedstawiający stronę Instalator lokalnej bramy danych i Ustawienia usługi z przyciskiem umożliwiającym zmianę wybranego konta usługi bramy.

Aby uzyskać więcej informacji na temat włączania SNC, zobacz Włączanie bezpiecznej komunikacji sieciowej (SNC).

Wymagania wstępne dotyczące środowiska usługi Azure Logic Apps

W przypadku przepływu pracy Zużycie w wielodostępnej usłudze Azure Logic Apps łącznik zarządzany SAP integruje się z systemami SAP za pośrednictwem lokalnej bramy danych. Na przykład w scenariuszach, w których przepływ pracy wysyła komunikat do systemu SAP, brama danych działa jako klient RFC i przekazuje żądania odebrane z przepływu pracy do systemu SAP. Podobnie w scenariuszach, w których przepływ pracy odbiera komunikat z systemu SAP, brama danych działa jako serwer RFC, który odbiera żądania od systemu SAP i przekazuje je do przepływu pracy.

  1. Na komputerze hosta lub maszynie wirtualnej, która istnieje w tej samej sieci wirtualnej co system SAP, z którym nawiązujesz połączenie, pobierz i zainstaluj lokalną bramę danych.

    Brama danych ułatwia bezpieczny dostęp do lokalnych danych i zasobów. Upewnij się, że używasz obsługiwanej wersji bramy. Jeśli wystąpi problem z bramą, spróbuj przeprowadzić uaktualnienie do najnowszej wersji, co może obejmować aktualizacje w celu rozwiązania problemu.

  2. W witrynie Azure Portal utwórz zasób bramy platformy Azure na potrzeby instalacji lokalnej bramy danych.

  3. Na tym samym komputerze lokalnym co instalacja lokalnej bramy danych pobierz i zainstaluj najnowszą bibliotekę klienta SAP NCo.

  4. W przypadku komputera hosta z instalacją lokalnej bramy danych skonfiguruj rozpoznawanie nazw hostów sieciowych i nazw usług.

    • Aby używać nazw hostów lub nazw usług dla połączeń z usługi Azure Logic Apps, należy skonfigurować rozpoznawanie nazw dla każdej aplikacji SAP, komunikatu i serwera bramy wraz z ich usługami:

      • W pliku %windir%\System32\drivers\etc\hosts lub na serwerze DNS dostępnym dla komputera hosta na potrzeby instalacji lokalnej bramy danych skonfiguruj rozpoznawanie nazw hosta sieciowego.

      • W pliku %windir%\System32\drivers\etc\services skonfiguruj rozpoznawanie nazw usługi.

    • Jeśli nie zamierzasz używać nazw hostów sieciowych ani nazw usług dla połączenia, możesz zamiast tego użyć adresów IP hosta i numerów portów usług.

    • Jeśli nie masz wpisu DNS dla systemu SAP, w poniższym przykładzie przedstawiono przykładowy wpis dla pliku hosts:

      10.0.1.9           sapserver                   # SAP single-instance system host IP by simple computer name
      10.0.1.9           sapserver.contoso.com       # SAP single-instance system host IP by fully qualified DNS name
      

      Na poniższej liście przedstawiono przykładowy zestaw wpisów dla plików usług:

      sapdp00            3200/tcp              # SAP system instance 00 dialog (application) service port
      sapgw00            3300/tcp              # SAP system instance 00 gateway service port
      sapmsDV6           3601/tcp              # SAP system ID DV6 message service port
      

Włączanie bezpiecznej komunikacji sieciowej (SNC)

W przypadku przepływu pracy Zużycie działającego w wielodostępnej usłudze Azure Logic Apps można włączyć funkcję SNC na potrzeby uwierzytelniania, która ma zastosowanie tylko w przypadku korzystania z bramy danych. Przed rozpoczęciem upewnij się, że zostały spełnione wszystkie niezbędne wymagania wstępne i wymagania wstępne SNC.

  1. W witrynie Azure Portal otwórz aplikację logiki Zużycie i przepływ pracy w projektancie.

  2. Dodawanie lub edytowanie operacji łącznika zarządzanego sap.

  3. W polu Informacje o połączeniu SAP podaj następujące wymagane informacje. Wybrany typ uwierzytelniania zmienia dostępne opcje.

    Zrzut ekranu przedstawiający ustawienia połączenia SAP dla użycia.

    Uwaga

    Pola Nazwa użytkownika sap i hasło SAP są opcjonalne. Jeśli nie podasz nazwy użytkownika i hasła, łącznik używa certyfikatu klienta podanego w późniejszym kroku na potrzeby uwierzytelniania.

  4. Aby włączyć usługę SNC, w polu Informacje o połączeniu SAP podaj następujące wymagane informacje:

    Zrzut ekranu przedstawiający ustawienia połączenia SAP dla SNC włączone dla użycia.

    Parametr Opis
    Korzystanie z SNC Zaznacz pole wyboru.
    Biblioteka SNC Wprowadź jedną z następujących wartości:

    — Nazwa biblioteki SNC, na przykład sapsnc.dll
    - Ścieżka względna do lokalizacji instalacji NCo, na przykład .\security\sapsnc.dll
    - Ścieżka bezwzględna do lokalizacji instalacji NCo, na przykład c:\security\sapsnc.dll
    Logowanie jednokrotne SNC Wybierz pozycję Zaloguj się przy użyciu tożsamości SNC lub Zaloguj się przy użyciu nazwy użytkownika/hasła podanego na poziomie RFC.

    Zazwyczaj tożsamość SNC jest używana do uwierzytelniania wywołującego. Zamiast tego możesz przeprowadzić uwierzytelnianie przy użyciu nazwy użytkownika i hasła, ale ta wartość parametru jest nadal szyfrowana.
    SNC Moja nazwa W większości przypadków można pominąć tę wartość. Zainstalowane rozwiązanie SNC zazwyczaj zna własną nazwę SNC. W przypadku, gdy rozwiązanie obsługuje wiele tożsamości, może być konieczne określenie tożsamości do użycia dla tego konkretnego miejsca docelowego lub serwera.
    Nazwa partnera SNC Wprowadź nazwę zaplecza SNC, na przykład p:CN=DV3, OU=LA, O=MS, C=US.
    Jakość ochrony SNC Wybierz jakość usługi do użycia na potrzeby komunikacji SNC z tym konkretnym miejscem docelowym lub serwerem. Wartość domyślna jest definiowana przez system zaplecza. Maksymalna wartość jest definiowana przez produkt zabezpieczeń używany dla usługi SNC.
    Certyfikat SNC Wprowadź klucz publiczny zakodowany w formacie base64 dla certyfikatu, który ma być używany do identyfikowania klienta w oprogramowaniu SAP.

    Uwaga: — nie dołączaj nagłówka ani stopki PEM.

    — Nie wprowadzaj klucza prywatnego dla certyfikatu klienta tutaj. Środowisko zabezpieczeń osobistych (PSE) musi zawierać pasujący klucz prywatny dla tego certyfikatu i może zawierać inne certyfikaty prywatne. Aby uzyskać więcej informacji, zapoznaj się z następnym parametrem.
    PSE Wprowadź swoje osobiste środowisko zabezpieczeń SNC (PSE) jako plik binarny zakodowany w formacie base64.

    — Element PSE musi zawierać klucz prywatny certyfikatu klienta, w którym odcisk palca jest zgodny z kluczem publicznym certyfikatu klienta w parametrze certyfikatu SNC.

    — Mimo że program PSE może zawierać wiele certyfikatów klienta, aby użyć różnych certyfikatów klienta, zamiast tego utwórz oddzielne przepływy pracy.

    — Jeśli używasz więcej niż jednego certyfikatu klienta SNC dla zasobu aplikacji logiki w warstwie Standardowa, musisz podać to samo psE dla wszystkich połączeń. Narzędzie PSE musi zawierać pasujący klucz prywatny dla certyfikatu klienta dla każdego i wszystkich połączeń. Należy ustawić parametr certyfikatu SNC, aby był zgodny z określonym certyfikatem prywatnym dla każdego połączenia.
  5. Aby zakończyć tworzenie połączenia, wybierz pozycję Utwórz.

    Jeśli parametry są poprawne, zostanie utworzone połączenie. Jeśli wystąpił problem z parametrami, w oknie dialogowym tworzenia połączenia zostanie wyświetlony komunikat o błędzie. Aby rozwiązać problemy z parametrami połączenia, możesz użyć lokalnej instalacji bramy danych i dzienników lokalnych bramy.

Konwertowanie binarnego pliku PSE na format zakodowany w formacie base64

  1. Użyj skryptu programu PowerShell, na przykład:

    Param ([Parameter(Mandatory=$true)][string]$psePath, [string]$base64OutputPath)
    $base64String = [convert]::ToBase64String((Get-Content -path $psePath -Encoding byte))
    if ($base64OutputPath -eq $null)
    {
        Write-Output $base64String
    }
    else
    {
        Set-Content -Path $base64OutputPath -Value $base64String
        Write-Output "Output written to $base64OutputPath"
    } 
    
  2. Zapisz skrypt jako plik pseConvert.ps1 , a następnie wywołaj skrypt, na przykład:

    .\pseConvert.ps1 -psePath "C:\Temp\SECUDIR\request.pse" -base64OutputPath "connectionInput.txt"
    Output written to connectionInput.txt 
    

    Jeśli nie podasz parametru ścieżki wyjściowej, dane wyjściowe skryptu w konsoli zawierają podziały wierszy. Usuń podziały wierszy w parametrach wejściowych połączenia zakodowanych w formacie base 64.

Konfigurowanie i testowanie wysyłania dokumentów IDocs do przepływu pracy z poziomu oprogramowania SAP

Wykonaj następujące kroki tylko w celu testowania konfiguracji sap za pomocą przepływu pracy aplikacji logiki. Środowiska produkcyjne wymagają dodatkowej konfiguracji.

Aby wysłać dokumenty IDocs z systemu SAP do przepływu pracy, potrzebna jest następująca minimalna konfiguracja:

  1. Utwórz miejsce docelowe RFC.
  2. Utwórz połączenie ABAP.
  3. Utwórz port odbiorcy.
  4. Utwórz port nadawcy.
  5. Utwórz partnera systemu logicznego.
  6. Utwórz profil partnera.
  7. Testowanie wysyłania komunikatów.

Tworzenie miejsca docelowego RFC

To miejsce docelowe identyfikuje przepływ pracy aplikacji logiki jako port odbiorcy.

  1. W systemie SAP otwórz ustawienia Konfiguracja połączeń RFC. Możesz użyć kodu transakcji sm59 (T-Code) z prefiksem /n .

  2. Wybierz pozycję Połączenia>TCP/IP Utwórz.

  3. Utwórz nowe miejsce docelowe RFC z następującymi ustawieniami:

    1. W polu Miejsce docelowe RFC wprowadź nazwę.

    2. Na karcie Ustawienia techniczne w polu Typ aktywacji wybierz pozycję Zarejestrowany program serwera.

    3. W polu Identyfikator programu wprowadź wartość. Na serwerze SAP wyzwalacz przepływu pracy jest rejestrowany przy użyciu tego identyfikatora.

      Ważne

      W identyfikatorze programu SAP jest uwzględniana wielkość liter. Upewnij się, że stale używasz tego samego formatu przypadku dla identyfikatora programu podczas konfigurowania przepływu pracy i serwera SAP. W przeciwnym razie podczas próby wysłania dokumentu IDoc do systemu SAP mogą wystąpić następujące błędy w monitorze tRFC (T-Code SM58):

      • Nie można odnaleźć IDOC_INBOUND_ASYNCHRONOUS funkcji
      • Klient RFC bez protokołu ABAP (typ partnera ) nie jest obsługiwany

      Aby uzyskać więcej informacji z oprogramowania SAP, zapoznaj się z następującymi uwagami (wymagane logowanie):

    4. Na karcie Unicode w polu Typ komunikacji z systemem docelowym wybierz pozycję Unicode.

      Uwaga

      Biblioteki klienckie SAP .NET obsługują tylko kodowanie znaków Unicode. Jeśli podczas wysyłania dokumentu IDoc z oprogramowania SAP do usługi Azure Logic Apps zostanie wyświetlony błąd Inny niż ABAP klienta RFC (typ partnera), sprawdź, czy wartość Typ komunikacji z systemem docelowym jest ustawiona na Unicode.

  4. Zapisz zmiany.

  5. Zarejestruj nowy identyfikator programu w usłudze Azure Logic Apps, tworząc przepływ pracy aplikacji logiki rozpoczynający się od wyzwalacza zarządzanego SAP o nazwie Po odebraniu komunikatu.

    W ten sposób podczas zapisywania przepływu pracy usługa Azure Logic Apps rejestruje identyfikator programu w bramie SAP Gateway.

  6. W historii wyzwalacza przepływu pracy dzienniki lokalnej bramy danych SAP Adapter, jeśli ma to zastosowanie, oraz dzienniki śledzenia bramy SAP Gateway, sprawdź stan rejestracji.

    W polu Monitor bramy SAP Gateway (T-Code SMGW) w obszarze Zalogowany klienci nowa rejestracja jest wyświetlana jako Zarejestrowany serwer.

  7. Aby przetestować połączenie, w obszarze nowego miejsca docelowego RFC wybierz pozycję Test połączenia.

Tworzenie połączenia ABAP

To miejsce docelowe identyfikuje system SAP jako port nadawcy.

  1. W systemie SAP otwórz ustawienia Konfiguracja połączeń RFC. Możesz użyć kodu transakcji sm59 (T-Code) z prefiksem /n .

  2. Wybierz pozycję Połączenia>ABAP Utwórz.

  3. W polu Miejsce docelowe RFC wprowadź identyfikator testowego systemu SAP.

  4. W obszarze Ustawienia techniczne pozostaw host docelowy pusty, aby utworzyć połączenie lokalne z systemem SAP.

  5. Zapisz zmiany.

  6. Aby przetestować połączenie, wybierz pozycję Test połączenia.

Tworzenie portu odbiorcy

  1. W systemie SAP otwórz ustawienia przetwarzania Porty w pliku IDOC. Możesz użyć kodu transakcji we21 (T-Code) z prefiksem /n .

  2. Wybierz pozycję Porty>Transakcyjne RFC>Utwórz.

  3. W wyświetlonym polu ustawień wybierz własną nazwę portu. W przypadku portu testowego wprowadź nazwę. Zapisz zmiany.

  4. W ustawieniach nowego portu odbiorcy dla miejsca docelowego RFC wprowadź identyfikator dla testowego miejsca docelowego RFC.

  5. Zapisz zmiany.

Tworzenie portu nadawcy

  1. W systemie SAP otwórz ustawienia przetwarzania Porty w pliku IDOC. Możesz użyć kodu transakcji we21 (T-Code) z prefiksem /n .

  2. Wybierz pozycję Porty>Transakcyjne RFC>Utwórz.

  3. W wyświetlonym polu ustawień wybierz własną nazwę portu.

  4. W przypadku portu testowego wprowadź nazwę rozpoczynającą się od oprogramowania SAP. Zapisz zmiany.

    Wszystkie nazwy portów nadawcy muszą zaczynać się od liter SAP, na przykład SAPTEST.

  5. W ustawieniach nowego portu nadawcy dla miejsca docelowego RFC wprowadź identyfikator połączenia ABAP.

  6. Zapisz zmiany.

Tworzenie partnera systemu logicznego

  1. W systemie SAP otwórz widok zmian "Systemy logiczne": ustawienia przeglądu . Możesz użyć kodu transakcji bd54 (T-Code).

  2. Zaakceptuj wyświetlony następujący komunikat ostrzegawczy: Przestroga: Tabela jest klientem krzyżowym

  3. Nad listą zawierającą istniejące systemy logiczne wybierz pozycję Nowe wpisy.

  4. W przypadku nowego systemu logicznego wprowadź identyfikator Log.System i krótki opis nazwy . Zapisz zmiany.

  5. Po wyświetleniu monitu o aplikację Workbench utwórz nowe żądanie, podając opis lub jeśli zostało już utworzone żądanie, pomiń ten krok.

  6. Po utworzeniu żądania aplikacji Workbench połącz to żądanie z żądaniem aktualizacji tabeli. Aby potwierdzić, że tabela została zaktualizowana, zapisz zmiany.

Tworzenie profilów partnerów

W przypadku środowisk produkcyjnych należy utworzyć dwa profile partnerów. Pierwszy profil jest przeznaczony dla nadawcy, który jest Twoją organizacją i systemem SAP. Drugi profil dotyczy odbiorcy, który jest zasobem aplikacji logiki i przepływem pracy.

  1. W systemie SAP otwórz ustawienia Profile partnerskie. Możesz użyć kodu transakcji we20 (T-Code) z prefiksem /n .

  2. W obszarze Profile partnerów wybierz pozycję Typ partnera LS>Utwórz.

  3. Utwórz nowy profil partnera przy użyciu następujących ustawień:

    Ustawienie opis
    Partner Nr. Wprowadź identyfikator partnera systemu logicznego.
    Partn. Typ Wprowadź LS.
    Agent Wprowadź identyfikator konta użytkownika SAP do użycia podczas rejestrowania identyfikatorów programu dla usługi Azure Logic Apps lub innych systemów innych niż SAP.
  4. Zapisz zmiany.

    Jeśli nie utworzono partnera systemu logicznego, zostanie wyświetlony błąd Wprowadź prawidłowy numer partnera.

  5. W ustawieniach profilu partnera w obszarze Parmtrs ruchu wychodzącego wybierz pozycję Utwórz parametr wychodzący.

  6. Utwórz nowy parametr wychodzący z następującymi ustawieniami:

  7. Zapisz zmiany.

Testowanie wysyłania komunikatów

  1. W oprogramowaniu SAP otwórz ustawienia narzędzia testowego do przetwarzania IDoc. Możesz użyć kodu transakcji we19 (T-Code) z prefiksem /n .

  2. W obszarze Szablon do testowania wybierz pozycję Za pośrednictwem typu komunikatu. Wprowadź typ wiadomości, na przykład CREMAS. Wybierz pozycję Utwórz.

  3. Potwierdź komunikat Jakiego typu IDoc? wybierz pozycję Kontynuuj.

  4. Wybierz węzeł EDIDC. Wprowadź odpowiednie wartości dla portów odbiorcy i nadawcy. Wybierz Kontynuuj.

  5. Wybierz pozycję Standardowe przetwarzanie wychodzące.

  6. Aby rozpocząć przetwarzanie danych wychodzących IDoc, wybierz pozycję Kontynuuj.

    Po zakończeniu przetwarzania narzędzia zostanie wyświetlony komunikat IDoc wysłany do systemu SAP lub zewnętrznego programu .

  7. Aby sprawdzić błędy przetwarzania, użyj kodu transakcji sm58 (T-Code) z prefiksem /n .

Tworzenie przepływów pracy dla typowych scenariuszy SAP

Aby zapoznać się z przewodnikiem dotyczącym tworzenia przepływów pracy dla typowych obciążeń integracji sap, zobacz następujące kroki:

Tworzenie przepływów pracy dla zaawansowanych scenariuszy SAP

Znajdowanie rozszerzonych dzienników błędów (tylko łącznik zarządzany)

Jeśli używasz łącznika zarządzanego przez oprogramowanie SAP, możesz znaleźć pełne komunikaty o błędach, sprawdzając rozszerzone dzienniki adaptera SAP. Można również włączyć rozszerzony plik dziennika dla łącznika SAP.

  • W przypadku lokalnych wersji bramy danych od kwietnia 2020 r. i starszych dzienniki są domyślnie wyłączone.

  • W przypadku lokalnych wersji bramy danych z czerwca 2020 r. i nowszych można włączyć dzienniki bramy w ustawieniach aplikacji.

    • Domyślny poziom rejestrowania to Ostrzeżenie.

    • Jeśli włączysz dodatkowe rejestrowanie w ustawieniach diagnostycznych lokalnej aplikacji bramy danych, poziom rejestrowania zostanie zwiększony do informacji.

    • Aby zwiększyć poziom rejestrowania do pełnej, zaktualizuj następujące ustawienie w pliku konfiguracji. Zazwyczaj plik konfiguracji znajduje się w lokalizacji C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

      <setting name="SapTraceLevel" serializeAs="String">
         <value>Verbose</value>
      </setting>
      

Konfigurowanie rozszerzonego rejestrowania sap w lokalnej bramie danych (tylko łącznik zarządzany)

Jeśli używasz lokalnej bramy danych dla usługi Azure Logic Apps, możesz skonfigurować rozszerzony plik dziennika dla łącznika SAP. Lokalną bramę danych można użyć do przekierowania zdarzeń śledzenia zdarzeń systemu Windows (ETW) do rotacyjnych plików dziennika uwzględnionych w plikach rejestrowania bramy .zip plików.

Wszystkie dzienniki konfiguracji i usługi bramy można wyeksportować do pliku .zip z ustawień aplikacji bramy.

Uwaga

Rozszerzone rejestrowanie może mieć wpływ na wydajność przepływu pracy, gdy zawsze jest włączona. Najlepszym rozwiązaniem jest wyłączenie rozszerzonych plików dziennika po zakończeniu analizowania i rozwiązywania problemu.

Przechwytywanie zdarzeń ETW

Opcjonalnie zaawansowane zadanie rejestrowania umożliwia bezpośrednie przechwytywanie zdarzeń ETW, a następnie korzystanie z danych w Diagnostyka Azure w usłudze Event Hubs lub zbieranie danych w dziennikach usługi Azure Monitor. Aby uzyskać więcej informacji, zapoznaj się z najlepszymi rozwiązaniami dotyczącymi zbierania i przechowywania danych.

Aby pracować z wynikowymi plikami ETL, możesz użyć narzędzia PerfView lub napisać własny program. W poniższym przewodniku jest używany element PerfView:

  1. W menu Narzędzia PerfView wybierz pozycję Zbieraj>, aby przechwycić zdarzenia.

  2. W parametrze Dodatkowego dostawcy wprowadź , *Microsoft-LobAdapter aby określić dostawcę SAP do przechwytywania zdarzeń adaptera SAP. Jeśli nie określisz tych informacji, dane śledzenia obejmują tylko ogólne zdarzenia ETW.

  3. Zachowaj inne ustawienia domyślne. Jeśli chcesz, możesz zmienić nazwę pliku lub lokalizację w parametrze Plik danych.

  4. Wybierz pozycję Rozpocznij kolekcję , aby rozpocząć śledzenie.

  5. Po odtworzeniu problemu lub zebraniu wystarczającej ilości danych analizy wybierz pozycję Zatrzymaj zbieranie.

  6. Aby udostępnić dane innej osobie, takiej jak inżynierowie pomoc techniczna platformy Azure, skompresuj plik ETL.

  7. Aby wyświetlić zawartość śledzenia:

    1. W widoku PerfView wybierz pozycję Plik>Otwórz i wybierz właśnie wygenerowany plik ETL.

    2. Na pasku bocznym Narzędzia PerfView sekcja Zdarzenia w pliku ETL.

    3. W obszarze Filtruj filtruj według Microsoft-LobAdapter , aby wyświetlić tylko odpowiednie zdarzenia i procesy bramy.

Testowanie przepływu 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:

  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 wyzwolić przepływ pracy, wyślij komunikat z systemu SAP.

  4. Wróć do okienka Przegląd aplikacji logiki. W obszarze Historia przebiegów znajdź wszystkie nowe uruchomienia dla przepływu pracy.

  5. Otwórz najnowszy przebieg, który pokazuje przebieg ręczny. Znajdź i przejrzyj sekcję danych wyjściowych wyzwalacza.

Włączanie rejestrowania i śledzenia biblioteki klienta SAP (NCo) (tylko wbudowane łączniki)

Jeśli musisz zbadać wszelkie problemy z tym składnikiem, możesz skonfigurować niestandardowe śledzenie NCo oparte na plikach tekstowych, którego pomoc techniczna sap lub microsoft może zażądać od Ciebie. Domyślnie ta funkcja jest wyłączona, ponieważ włączenie tego śledzenia może negatywnie wpłynąć na wydajność i szybko korzystać z miejsca do magazynowania hosta aplikacji.

Tę funkcję śledzenia można kontrolować na poziomie aplikacji, dodając następujące ustawienia:

  1. W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.

  2. W menu aplikacji logiki w obszarze Ustawienia wybierz pozycję Zmienne środowiskowe , aby przejrzeć ustawienia aplikacji.

  3. Na stronie Zmienne środowiskowe na karcie Ustawienia aplikacji dodaj następujące ustawienia aplikacji:

    • SAP_RFC_TRACE_DIRECTORY: katalog, w którym mają być przechowywane pliki śledzenia NCo, na przykład C:\home\LogFiles\NCo.

    • SAP_RFC_TRACE_LEVEL: Poziom śledzenia NCo z poziomem Level4 jako sugerowaną wartością typowego pełnego rejestrowania. Pomoc techniczna SAP lub Microsoft może zażądać ustawienia innego poziomu śledzenia.

      Uwaga

      W przypadku standardowych przepływów pracy aplikacji logiki korzystających ze środowiska uruchomieniowego w wersji 1.69.0 lub nowszej można włączyć rejestrowanie dla wielu poziomów śledzenia, oddzielając każdy poziom śledzenia przecinkiem (,).

      Aby znaleźć wersję środowiska uruchomieniowego przepływu pracy, wykonaj następujące kroki:

      1. W witrynie Azure Portal w menu przepływu pracy wybierz pozycję Przegląd.
      2. W sekcji Podstawy znajdź właściwość Wersja środowiska uruchomieniowego.
    • SAP_CPIC_TRACE_LEVEL: Wspólny interfejs programowania komunikacji (CPI-C) poziom śledzenia z pełnej wartości jako sugerowana wartość typowego pełnego rejestrowania. Pomoc techniczna SAP lub Microsoft może zażądać ustawienia innego poziomu śledzenia.

    Aby uzyskać więcej informacji na temat dodawania ustawień aplikacji, zobacz Edytowanie ustawień hosta i aplikacji dla standardowych przepływów pracy aplikacji logiki.

  4. Zapisz zmiany. Ten krok powoduje ponowne uruchomienie aplikacji.

Dostępne poziomy śledzenia

Poziomy śledzenia NCo

Wartość Opis
Level1 Poziom śledzenia wywołań funkcji zdalnych.
Level2 Poziom śledzenia wywołań funkcji zdalnych i publicznych wywołań metod interfejsu API.
Level3 Poziom śledzenia wywołań funkcji zdalnych, wywołań metod publicznego interfejsu API i wewnętrznych wywołań metod interfejsu API.
Level4 Poziom śledzenia wywołań funkcji zdalnych, wywołań metod publicznego interfejsu API, wewnętrznych wywołań metod interfejsu API, zrzutów szesnastków dla protokołu RFC i informacji związanych z siecią.
Blokowanie Zapisuje dane w plikach śledzenia, które pokazują, kiedy wątki żądają, uzyskują i zwalniają blokady obiektów.
Metadane Śledzi metadane zaangażowane w zdalne wywołanie funkcji dla każdego wywołania.
Brak Poziom pomijania wszystkich danych wyjściowych śledzenia.
ParametrData Śledzi dane kontenera wysyłane i odbierane podczas każdego wywołania funkcji zdalnej.
Wydajność Zapisuje dane w plikach śledzenia, które mogą pomóc w analizowaniu problemów z wydajnością.
PublicAPI Śledzi większość metod publicznego interfejsu API, z wyjątkiem metod getters, setters lub powiązanych metod.
InternalAPI Śledzi większość metod interfejsu API wewnętrznego, z wyjątkiem metod getters, setters lub powiązanych metod.
RemoteFunctionCall Śledzi zdalne wywołania funkcji.
RfcData Śledzi bajty wysyłane i odbierane podczas każdego wywołania funkcji zdalnej.
Dostawca sesji Śledzi wszystkie metody aktualnie używanej implementacji ISessionProvider.
SetValue Zapisuje informacje w plikach śledzenia dotyczących wartości ustawionych dla parametrów funkcji lub pól struktur lub tabel.

Poziomy śledzenia CPIC

Wartość Opis
Wyłącz Brak rejestrowania
Podstawowy Rejestrowanie podstawowe
Pełne informacje Pełne rejestrowanie
VerboseWithData Pełne rejestrowanie ze wszystkim zrzutem odpowiedzi serwera

Wyświetlanie śladu

  1. W menu zasobów standardowej aplikacji logiki w obszarze Narzędzia programistyczne wybierz pozycję Narzędzia>zaawansowane Przejdź.

  2. Na pasku narzędzi Kudu wybierz pozycję CmD konsoli>debugowania.

  3. Przejdź do folderu ustawienia aplikacji o nazwie $SAP_RFC_TRACE_DIRECTORY.

    Zostanie wyświetlony nowy folder o nazwie NCo lub dowolna użyta nazwa folderu dla wartości ustawienia aplikacji C :\home\LogFiles\NCo, który został ustawiony wcześniej.

  4. Otwórz folder $SAP_RFC_TRACE_DIRECTORY zawierający następujące elementy:

    • Dzienniki śledzenia NCo: plik o nazwie dev_nco_rfc.log, jeden lub wiele plików o nazwie nco_rfc_NNNN.log i jeden lub wiele plików o nazwie nco_rfc_NNNN.trc, gdzie NNNN jest identyfikatorem wątku.

    • Dzienniki śledzenia CPIC: jeden lub wiele plików o nazwie nco_cpic_NNNN.trc plików, w których NNNN jest identyfikatorem wątku.

  5. Aby wyświetlić zawartość w pliku dziennika lub śledzenia, wybierz przycisk Edytuj obok pliku.

    Uwaga

    Jeśli pobierzesz plik dziennika lub śledzenia, który przepływ pracy aplikacji logiki został otwarty i jest obecnie używany, pobieranie może spowodować wyświetlenie pustego pliku.

Włączanie śledzenia biblioteki CCL (SAP Common Crypto Library) (tylko wbudowane łączniki)

Jeśli musisz zbadać wszelkie problemy z biblioteką kryptograficzną podczas korzystania z uwierzytelniania SNC, możesz skonfigurować niestandardowe śledzenie listy CCL oparte na plikach tekstowych. Możesz użyć tych dzienników listy CCL do rozwiązywania problemów z uwierzytelnianiem SNC lub udostępnić je pomocy technicznej firmy Microsoft lub SAP, jeśli jest to wymagane. Domyślnie ta funkcja jest wyłączona, ponieważ włączenie tego śledzenia może negatywnie wpłynąć na wydajność i szybko korzystać z miejsca do magazynowania hosta aplikacji.

Tę funkcję śledzenia można kontrolować na poziomie aplikacji, dodając następujące ustawienia:

  1. W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.

  2. W menu zasobów standardowej aplikacji logiki w obszarze Narzędzia programistyczne wybierz pozycję Narzędzia>zaawansowane Przejdź.

  3. Na pasku narzędzi Kudu wybierz pozycję CmD konsoli>debugowania.

  4. Przejdź do lokalizacji w folderze C:\home\site\wwwroot i utwórz plik tekstowy, na przykład: CCLPROFILE.txt.

    Aby uzyskać więcej informacji na temat parametrów rejestrowania, zobacz Śledzenie> 2338952 SAP NOTE. Poniższy przykład zawiera przykładową konfigurację śledzenia:

    ccl/trace/directory=C:\home\LogFiles\CCLLOGS
    ccl/trace/level=4
    ccl/trace/rotatefilesize=10000000
    ccl/trace/rotatefilenumber=10
    
  5. W menu aplikacji logiki w obszarze Ustawienia wybierz pozycję Zmienne środowiskowe , aby przejrzeć ustawienia aplikacji.

  6. Na stronie Zmienne środowiskowe na karcie Ustawienia aplikacji dodaj następujące ustawienie aplikacji:

    CCL_PROFILE: katalog, w którym utworzono CCLPROFILE.txt, na przykład C:\home\site\wwwroot\CCLPROFILE.txt.

  7. Zapisz zmiany. Ten krok powoduje ponowne uruchomienie aplikacji.

Wyświetlanie śladu

  1. W menu zasobów standardowej aplikacji logiki w obszarze Narzędzia programistyczne wybierz pozycję Narzędzia>zaawansowane Przejdź.

  2. Na pasku narzędzi Kudu wybierz pozycję CmD konsoli>debugowania.

  3. Przejdź do folderu dla parametru $ccl/trace/directory , który pochodzi z pliku CCLPROFILE.txt .

    Zazwyczaj pliki śledzenia mają nazwy sec-Microsoft.Azure.Work-$processId.trc i sec-sapgenpse.exe-$processId.trc.

    Przepływ pracy aplikacji logiki wykonuje uwierzytelnianie SNC jako proces dwuetapowy:

    1. Przepływ pracy aplikacji logiki wywołuje sapgenpse.exe w celu wygenerowania pliku cred_v2 z pliku PSE.

      Ślady związane z tym krokiem można znaleźć w pliku o nazwie sec-sapgenpse.exe-$processId.trc.

    2. Przepływ pracy aplikacji logiki uwierzytelnia dostęp do serwera SAP przez użycie wygenerowanego pliku cred_v2 przy użyciu biblioteki klienta SAP wywołującej wspólną bibliotekę kryptograficzną.

      Ślady związane z tym krokiem można znaleźć w pliku o nazwie sec.Microsoft.Azure.Work-$processId.trc.

Wysyłanie telemetrii SAP dla lokalnej bramy danych do usługi aplikacja systemu Azure Insights

Dzięki aktualizacji z sierpnia 2021 r. dla lokalnej bramy danych operacje łącznika SAP mogą wysyłać dane telemetryczne z biblioteki klienta SAP NCo i ślady z adaptera MICROSOFT SAP do usługi Application Insights, która jest funkcją w usłudze Azure Monitor. Te dane telemetryczne obejmują przede wszystkim następujące dane:

  • Metryki i ślady oparte na metrykach i monitorach oprogramowania SAP NCo.

  • Ślady z adaptera SAP firmy Microsoft.

Metryki i ślady z biblioteki klienta SAP NCo

Metryki oparte na technologii SAP NCo są wartościami liczbowymi, które mogą lub nie mogą się różnić w danym okresie na podstawie użycia i dostępności zasobów w lokalnej bramie danych. Możesz użyć tych metryk, aby lepiej zrozumieć kondycję systemu i utworzyć alerty dotyczące następujących działań:

  • Spadek kondycji systemu.
  • Zdarzenia nietypowe.
  • Duże obciążenie systemu.

Te informacje są wysyłane do tabeli usługi Application Insights o nazwie customMetrics. Domyślnie metryki są wysyłane w 30-sekundowych odstępach czasu.

Ślady oparte na oprogramowaniu SAP NCo obejmują informacje tekstowe używane z metrykami. Te informacje są wysyłane do tabeli usługi Application Insights o nazwie traces. Domyślnie ślady są wysyłane w 10-minutowych odstępach czasu.

Metryki i ślady rozwiązania SAP NCo są oparte na metrykach rozwiązania SAP NCo, w szczególności na następujących klasach NCo:

  • RfcDestinationMonitor.
  • RfcConnectionMonitor.
  • RfcServerMonitor.
  • RfcRepositoryMonitor.

Aby uzyskać więcej informacji na temat metryk, które udostępnia każda klasa, zobacz dokumentację rozwiązania SAP NCo (wymagane logowanie).

Konfigurowanie telemetrii SAP dla usługi Application Insights

Przed wysłaniem telemetrii SAP na potrzeby instalacji bramy do usługi Application Insights należy utworzyć i skonfigurować zasób usługi Application Insights. Aby uzyskać więcej informacji, zapoznaj się z następującą dokumentacją:

Aby włączyć wysyłanie danych telemetrycznych SAP do usługi Application Insights, wykonaj następujące kroki:

  1. Pobierz pakiet NuGet dla Microsoft.ApplicationInsights.EventSourceListener.dll z tej lokalizacji: https://www.nuget.org/packages/Microsoft.ApplicationInsights.EventSourceListener/2.14.0.

  2. Dodaj pobrany plik do katalogu instalacyjnego lokalnej bramy danych, na przykład C:\Program Files\On-Premises Data Gateway.

  3. W katalogu instalacyjnym lokalnej bramy danych sprawdź, czy plik Microsoft.ApplicationInsights.dll ma ten sam numer wersji co dodany plik Microsoft.ApplicationInsights.EventSourceListener.dll . Brama obecnie używa wersji 2.14.0.

  4. W pliku ApplicationInsights.config dodaj klucz instrumentacji usługi Application Insights, usuwając komentarz z wierszem z elementem <InstrumentationKey></InstrumentationKey> . Zastąp symbol zastępczy your-Application-Insights-instrumentation-key kluczem, na przykład:

    <?xml version="1.0" encoding="utf-8"?>
    <ApplicationInsights schemaVersion="2014-05-30" xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings">
       <!-- Uncomment this element and insert your Application Insights key to receive ETW telemetry about your gateway <InstrumentationKey>*your-instrumentation-key-placeholder*</InstrumentationKey> -->
       <TelemetryModules>
          <Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule, Microsoft.ApplicationInsights">
             <IsHeartbeatEnabled>false</IsHeartbeatEnabled>
          </Add>
          <Add Type="Microsoft.ApplicationInsights.EventSourceListener.EventSourceTelemetryModule, Microsoft.ApplicationInsights.EventSourceListener">
             <Sources>
                <Add Name="Microsoft-LobAdapter" Level="Verbose" />
             </Sources>
          </Add>
       </TelemetryModules>
    </ApplicationInsights>
    
  5. W pliku ApplicationInsights.config można zmienić wymaganą wartość śladów Level dla operacji łącznika SAP zgodnie z wymaganiami, na przykład:

    <Add Type="Microsoft.ApplicationInsights.EventSourceListener.EventSourceTelemetryModule, Microsoft.ApplicationInsights.EventSourceListener">
       <Sources>
          <Add Name="Microsoft-LobAdapter" Level="Verbose" />
       </Sources>
    </Add>
    

    Aby uzyskać więcej informacji, zapoznaj się z następującą dokumentacją:

  6. Po zastosowaniu zmian uruchom ponownie lokalną usługę bramy danych.

Przeglądanie metryk w usłudze Application Insights

Po uruchomieniu operacji SAP w przepływie pracy aplikacji logiki możesz przejrzeć dane telemetryczne, które zostały wysłane do usługi Application Insights.

  1. W Azure Portal otwórz swój Application Insights zasób.

  2. W menu zasobów w obszarze Monitorowanie wybierz pozycję Dzienniki.

    Poniższy zrzut ekranu przedstawia witrynę Azure Portal z usługą Application Insights otwartą w okienku Dzienniki :

    Zrzut ekranu przedstawiający witrynę Azure Portal z usługą Application Insights otwartą w okienku

  3. W okienku Dzienniki można utworzyć zapytanie przy użyciu język zapytań Kusto (KQL), które jest oparte na określonych wymaganiach.

    Możesz użyć wzorca zapytania podobnego do następującego przykładowego zapytania:

    customMetrics
    | extend DestinationName = tostring(customDimensions["DestinationName"])
    | extend MetricType = tostring(customDimensions["MetricType"])
    | where customDimensions contains "RfcDestinationMonitor"
    | where name contains "MaxUsedCount"
    
  4. Po uruchomieniu zapytania przejrzyj wyniki.

    Poniższy zrzut ekranu przedstawia tabelę wyników metryk przykładowego zapytania:

    Zrzut ekranu przedstawiający usługę Application Insights z tabelą wyników metryk.

    • MaxUsedCount to "Maksymalna liczba połączeń klientów, które były jednocześnie używane przez monitorowaną lokalizację docelową", zgodnie z opisem w dokumentacji rozwiązania SAP NCo (wymagane logowanie). Możesz użyć tej wartości, aby zrozumieć liczbę jednocześnie otwartych połączeń.

    • Kolumna valueCount pokazuje 2 dla każdego odczytu, ponieważ metryki są generowane w 30-sekundowych odstępach czasu. Usługa Application Insights agreguje te metryki o minutę.

    • Kolumna DestinationName zawiera ciąg znaków, który jest wewnętrzną nazwą adaptera SAP Firmy Microsoft.

      Aby lepiej zrozumieć to miejsce docelowe wywołania funkcji zdalnej (RFC), użyj tej wartości z parametrem traces, na przykład:

      customMetrics
      | extend DestinationName = tostring(customDimensions["DestinationName"])
      | join kind=inner (traces
         | extend DestinationName = tostring(customDimensions["DestinationName"]),
         AppServerHost = tostring(customDimensions["AppServerHost"]),
         SncMode = tostring(customDimensions["SncMode"]),
         SapClient = tostring(customDimensions["Client"])
         | where customDimensions contains "RfcDestinationMonitor"
         )
         on DestinationName , $left.DestinationName == $right.DestinationName
      | where customDimensions contains "RfcDestinationMonitor"
      | where name contains "MaxUsedCount"
      | project AppServerHost, SncMode, SapClient, name, valueCount, valueSum, valueMin, valueMax
      

Możesz również tworzyć wykresy metryk lub alerty przy użyciu tych funkcji w usłudze Application Insights, na przykład:

Zrzut ekranu przedstawiający usługę Application Insights z wynikami w formacie wykresu.

Ślady z adaptera SAP firmy Microsoft

Możesz użyć śladów wysyłanych z adaptera SAP firmy Microsoft do analizy problemu i znajdować wszelkie istniejące błędy systemu wewnętrznego, które mogą lub nie mogą występować na podstawie operacji łącznika SAP. Te ślady zostały message ustawione na wartość "n\a" , ponieważ pochodzą z wcześniejszej struktury źródła zdarzeń, która poprzedza usługę Application Insights, na przykład:

traces
| where message == "n/a"
| where severityLevel > 0
| extend ActivityId = tostring(customDimensions["ActivityId"])
| extend fullMessage = tostring(customDimensions["fullMessage"])
| extend shortMessage = tostring(customDimensions["shortMessage"])
| where ActivityId contains "8ad5952b-371e-4d80-b355-34e28df9b5d1"

Poniższy zrzut ekranu przedstawia tabelę wyników śledzenia przykładowego zapytania:

Zrzut ekranu przedstawiający usługę Application Insights z tabelą wyników śledzenia.

Następne kroki