Przejście do głównej treści

Łączenie z S/4HANA Cloud Public Edition przez OData V4

SAP S/4HANA Cloud Public Edition nie umożliwia importu RFC dab Add-On przy wykorzystaniu tej metody połączenia. Dostęp należy skonfigurować za pośrednictwem aplikacji komunikacyjnych w SAP Fiori launchpad. W tym celu wymagane są: Użytkownik Komunikacyjny, System Komunikacyjny reprezentujący środowisko Nexus oraz Ustawienie Komunikacyjne odpowiadające wymaganemu scenariuszowi integracji.

Po zakończeniu konfiguracji po stronie SAP należy w dab Nexus skonfigurować punkt końcowy OData V4 udostępniony przez docelowego tenant’a jako połączenie OData Communication. Nexus w tym scenariuszu Public Cloud nie udostępnia katalogu usług do automatycznego wyboru źródeł.

Wymagania wstępne​

Weryfikacja SAP System​

Proszę potwierdzić wersję produktu, edycję, wydań oraz docelowego tenant’a za pomocą Identify SAP System. Nie należy określać modelu operacyjnego w oparciu wyłącznie o nazwę hosta lub Fiori launchpad.

SAP ECC, S/4HANA On-Premise, Private Cloud oraz Public Edition stosują odmienne modele połączeń i administracji. Wartości nieznane należy oznaczyć jako niepotwierdzone i zweryfikować z administratorem SAP.

Weryfikacja środowiska Nexus​

  • W Ustawienia → Licencja i wsparcie należy zweryfikować zainstalowaną wersję oraz potwierdzić dostępność funkcji OData Communication.
  • Trzeba sprawdzić, czy realizowane są połączenia z hostem SAP API przez HTTPS na porcie TCP 443 oraz ocenić poprawność certyfikatu TLS.

Włączanie katalogu usług​

Wymagany jest scenariusz komunikacyjny SAP_COM_0181, ponieważ umożliwia on dostęp do katalogu usług SAP wykorzystywanego przez Nexus.

Należy utworzyć oraz utrzymywać Ustawienie Komunikacyjne dla:

SAP_COM_0181

Przypisać System Komunikacyjny oraz Użytkownika Komunikacyjnego przeznaczonych do integracji Nexus.

important

SAP_COM_0181 stanowi jednoznaczny wymóg dla połączenia Nexus OData V4, ponieważ udostępnia katalog usług. Nie zastępuje natomiast scenariusza komunikacyjnego wymaganego przez właściwe źródło danych. Przykładowo, źródło CDI_CDS wymaga ponadto SAP_COM_0531 oraz powiązanego Ustawienia Komunikacyjnego.

Przegląd procesu​

  1. Wybór źródła oraz scenariusza komunikacyjnego.
  2. Dla CDI_CDS: konfiguracja allowlist CDS i grupy autoryzacyjnej.
  3. Utworzenie Użytkownika Komunikacyjnego i Systemu Komunikacyjnego.
  4. Stworzenie Ustawienia Komunikacyjnego.
  5. Ustalenie ścieżki do entity-set.
  6. Utworzenie, przetestowanie i rejestracja połączenia Nexus.
  7. Wyodrębnienie i przetestowanie pakietu dla dodanego źródła w Package Studio.

1. Wybór źródła oraz scenariusza komunikacyjnego

Należy zdobyć znany rekord referencyjny wraz z kompletnym kluczem i oczekiwanymi wartościami pól – posłuży on do weryfikacji połączenia i ekstrakcji.

ŹródłoWeryfikacjaScenariusz komunikacyjny
CDI_CDSOdnalezienie źródła w View Browser. Weryfikacja zakresu pól, kluczy, obsługi ekstrakcji oraz funkcji delta dla wybranej wersji.SAP_COM_0531
Business APIOdnalezienie opublikowanego OData V4 API dla Public Edition w SAP Business Accelerator Hub. Sprawdzenie wymaganych encji, pól i wersji API.Identyfikator scenariusza, wskazany w dokumentacji API
Important

Usługa wykorzystywana w aplikacji Fiori nie jest automatycznie udostępniana do integracji zewnętrznej.

W odniesieniu do Business API:

  • Allowlista CDI nie ma zastosowania.
  • SAP_COM_0531 nie jest automatycznie właściwym scenariuszem.
  • SAP_COM_0532 nie zastępuje opisanego tutaj dostępu przez CDI OData.
  • Oprócz ustawienia dla katalogu usług SAP_COM_0181 wymagane jest oddzielne Ustawienie Komunikacyjne specyficzne dla źródła.

Niestandardowe CDS Key User​

Proszę potwierdzić publikację widoku do Data Extraction. SAP KBA 2884410 dokumentuje pełną ekstrakcję bez delty dla tego typu źródła danych. Ograniczenie to nie dotyczy automatycznie standardowych ekstraktorów SAP.

2. Konfiguracja allowlist CDS i grupy autoryzacyjnej

Ten etap należy wykonać jedynie dla CDI_CDS. W przypadku Business API należy kontynuować od punktu 3. Utworzenie Użytkownika Komunikacyjnego.

Jeśli dostęp do czynności konfiguracyjnej jest niemożliwy, odpowiedzialność za przeprowadzenie tego etapu spoczywa na właścicielu konfiguracji SAP Cloud.

2.1 Otwieranie czynności konfiguracyjnej​

Proszę znaleźć Define Allowlists for CDS View Extraction korzystając z jednej z poniższych ścieżek.

Manage Your Solution​

  1. Otworzyć Manage Your Solution → Configure Your Solution.
  2. Zastosować filtry:
    • Application Area: Application Platform and Infrastructure
    • Sub Application Area: Data Extraction
  3. Wybrać pasujący wynik.
  4. Wybrać Configure przy kroku konfiguracji.

SAP Central Business Configuration​

Należy wyszukać nazwę aktywności pod adresem:

Configuration Activities
→ General Settings
→ Further Settings

W zależności od interfejsu, czynność może być dostępna bezpośrednio w obszarze Configuration.

2.2 Tworzenie grupy autoryzacyjnej i allowlist​

  1. Wybrać New Entries.
  2. Wprowadzić unikalny Authorization Group ID.
  3. Uzupełnić opis.
  4. Określić typ jako Explicit allow list.
  5. Dodać wymagane źródła CDS do allowlist grupy.
  6. Zatwierdzić ustawienia.
  7. Wybrać żądany transport Customized.
  8. Zanotować Authorization Group ID dla ustawienia komunikacyjnego właściwego dla źródła.
  9. Jeżeli docelowy tenant jest oddzielny, należy potwierdzić dostępność grupy i jej wpisów również w nim.

2.3 Brak czynności allowlist​

W przypadku braku czynności należy poprosić właściciela konfiguracji o sprawdzenie, czy element Scope Data Protection and Privacy (5LE) jest aktywny. Brak aktywacji tego elementu, jako przyczynę, opisuje SAP KBA 3781796. Po aktywacji czynność należy wyszukać ponownie.

3. Utworzenie Użytkownika Komunikacyjnego

  1. Otworzyć Maintain Communication Users.
  2. Utworzyć dedykowanego użytkownika komunikacyjnego na potrzeby Nexus lub otworzyć już istniejącego przeznaczonego do tej integracji.
  3. Wskazać metodę uwierzytelniania wymaganą przez usługę.

Nazwa użytkownika i hasło​

  • Ustalić hasło użytkownika komunikacyjnego.
  • Przekazać je wyłącznie przy użyciu zatwierdzonego procesu zarządzania hasłami.
  • Później przechować je w połączeniu Nexus.

Certyfikat klienta​

  • Przypisać publiczny certyfikat klienta do Użytkownika Komunikacyjnego.
  • Nexus będzie wymagać również odpowiadającego klucza prywatnego.
  • Należy przekazać Nexus plik .p12 zawierający certyfikat klienta oraz klucz prywatny.
  • Hasło do pliku proszę przechowywać i przekazywać oddzielnie.
  1. Zatwierdzić dane użytkownika.
  2. Zachować identyfikator dla Systemu Komunikacyjnego.
Ostrzeżenie

Użytkownik Komunikacyjny nie jest kontem osobistym służącym do logowania w Fiori launchpad. Konto Fiori służy do konfigurowania integracji, podczas gdy Nexus wywołuje usługę jako Użytkownik Komunikacyjny lub z jego certyfikatem. Udane zalogowanie do Fiori nie potwierdza więc poprawności uwierzytelnienia przez Nexus.

4. Utworzenie Systemu Komunikacyjnego dla Nexus

  1. Otworzyć Communication Systems.
  2. Utworzyć system odpowiadający środowisku Nexus.
  3. Nadać unikalny identyfikator oraz opis, np. DAB_NEXUS_PROD.
  4. W polu Host Name wprowadzić nazwę hosta odpowiedniej instalacji Nexus lub Managed App.
  5. Wprowadzić wyłącznie nazwę hosta, bez schematu lub ścieżki URL.
  6. W sekcji Users for Inbound Communication dodać Użytkownika Komunikacyjnego utworzonego w 3. Utworzenie Użytkownika Komunikacyjnego.
  7. Wybrać jego metodę uwierzytelnienia.
  8. Zachować System Komunikacyjny i zweryfikować przypisanie użytkownika.

W tym kontekście pojęcie inbound oznacza, że Nexus wysyła zapytanie do SAP.

Important

System Komunikacyjny reprezentuje Nexus jako partnera komunikacyjnego. Jego Host Name nie jest hostem SAP API używanym jako Nexus Base URL. Prawidłowy adres SAP API należy pozyskać z sekcji Inbound Services w Ustawieniu Komunikacyjnym.

Należy stosować odrębne Systemy Komunikacyjne, jeżeli środowiska DEV, QA i PROD korzystają z różnych runtime’ów Nexus bądź posiadają odrębne tożsamości techniczne.

5. Tworzenie Ustawień Komunikacyjnych

Wymagane mogą być co najmniej dwa Ustawienia Komunikacyjne. Należy utworzyć następujące ustawienia:

  1. Ustawienie katalogu usług dla SAP_COM_0181.
  2. Ustawienie właściwe dla źródła: SAP_COM_0531 lub scenariusz opisany dla wybranego Business API.

5.1 Tworzenie ustawienia dla katalogu usług​

  1. Otworzyć Communication Arrangements.
  2. Wybrać New.
  3. Wskazać scenariusz komunikacyjny:
    SAP_COM_0181
  4. Wprowadzić opis odpowiedni dla tego ustawienia.
  5. Wybrać System Komunikacyjny Nexus utworzony w 4. Utworzenie Systemu Komunikacyjnego dla Nexus.
  6. W sekcji Inbound Communication należy zweryfikować:
    • przypisanego Użytkownika Komunikacyjnego,
    • określoną metodę uwierzytelnienia.
  7. Zachować ustawienie.
  8. Otworzyć Inbound Services i zweryfikować dostępność katalogu usług.
important

Ustawienie SAP_COM_0181 umożliwia korzystanie z katalogu usług. Nie uprawnia ono do dostępu do encji wybranego źródła danych.

5.2 Tworzenie ustawienia specyficznego dla źródła​

  1. Otworzyć Communication Arrangements.
  2. Wybrać New.
  3. Wskazać scenariusz zidentyfikowany w 1. Wybór źródła oraz scenariusza komunikacyjnego:
    • dla CDI: SAP_COM_0531,
    • dla Business API: opisany w dokumentacji Communication Scenario ID.
  4. Nadać nazwę dla tego ustawienia.
  5. Wybrać System Komunikacyjny Nexus utworzony w 4. Utworzenie Systemu Komunikacyjnego dla Nexus.
  6. W sekcji Inbound Communication należy zweryfikować:
    • przypisanego Użytkownika Komunikacyjnego,
    • określoną metodę uwierzytelnienia.
  7. W przypadku CDI, w polu Additional Properties → Authorization Group ID należy wprowadzić Authorization Group ID utworzony w 2.2 Tworzenie grupy autoryzacyjnej i allowlist.
  8. Zachować ustawienie.
  9. Przejść do sekcji Inbound Services.
  10. Skopiować wygenerowane adresy URL dla docelowego tenant’a.

Typowe błędy konfiguracyjne​

Wymagane wskazanie Authorization Group​

Należy sprawdzić, czy:

  • Authorization Group ID został wpisany dokładnie,
  • grupa istnieje w docelowym tenant’cie,
  • niezbędne źródła CDS są ujęte w jej allowlist.

Taką sytuację opisuje SAP KBA 3118974.

Brak dostępu do katalogu usług​

Należy potwierdzić, że:

  • istnieje Ustawienie Komunikacyjne dla SAP_COM_0181,
  • przypisany jest poprawny System Komunikacyjny,
  • przypisano właściwego Użytkownika Komunikacyjnego,
  • wybrana metoda uwierzytelnienia odpowiada połączeniu Nexus.

Nie należy traktować ustawienia specyficznego dla źródła jako zamiennika SAP_COM_0181.

Brak wymaganej usługi​

Proszę porównać:

  • wybrany scenariusz komunikacyjny,
  • wersję API,
  • wydanie SAP Cloud,
  • dokumentację SAP odpowiednią dla danego wydania.

Nie należy stosować scenariusza niepowiązanego, nawet jeśli zawiera usługę o podobnej nazwie.

6. Określenie ścieżki do entity-set

6.1 CDI_CDS​

Odczyt katalogu dostawców​

Korzystając z Użytkownika Komunikacyjnego, należy wywołać katalog dostawców CDI przez końcówkę CDI z ustawienia komunikacyjnego. SAP opisuje ten wzorzec:

https://<SAP-API-Host>/sap/opu/odata4/sap/cdi/default/sap/cdi/0001/Providers
  1. Wyszukać techniczną nazwę encji CDS wskazaną w 1. Wybór źródła oraz scenariusza komunikacyjnego.
  2. Nie należy używać nazwy widoku SQL ani samego opisu biznesowego.
  3. Otworzyć każdą zwróconą stronę @odata.nextLink.
  4. Skopiować adres URL dostawcy oferowany przez docelowego tenant’a.
  5. Nie należy tworzyć ścieżki CDI_CDS jedynie z nazwy widoku.

Sprawdzenie usługi i metadanych​

Należy wywołać:

  • dokument serwisu w katalogu głównym usługi, z końcowym /,
  • dokumentację metadanych pod service root + /$metadata.

Zweryfikować:

  • entity set Facts,
  • wymagane pola,
  • kompletny klucz,
  • typy pól, waluty i jednostki.

Dostawca oferowany przez docelowego tenant’a może zwrócić przykładowo ścieżki:

Service root: /sap/opu/odata4/sap/cdi_cds/cdi_cds/sap/c_billingdocitembasicdex_1/0001/
Metadata: /sap/opu/odata4/sap/cdi_cds/cdi_cds/sap/c_billingdocitembasicdex_1/0001/$metadata
Entity set: /sap/opu/odata4/sap/cdi_cds/cdi_cds/sap/c_billingdocitembasicdex_1/0001/Facts

Zastąpić powyższy przykład adresem URL dostawcy otrzymanym od docelowego tenant’a. Providers służy do wykrywania źródła. Podczas konfiguracji adres URL dostawcy musi zostać podany w ustawieniach Nexus.

6.2 Business API​

  1. Skopiować katalog główny usługi z Inbound Services odpowiedniego Ustawienia Komunikacyjnego.
  2. Wywołać dokument serwisu.
  3. Wywołać /$metadata.
  4. Rozpoznać właściwy entity set, wymagane pola i pełny klucz.
  5. Stosować opublikowaną nazwę entity-set, z uwzględnieniem opisanego sposobu zapisu wielkich liter.
Ostrzeżenie

Facts nie jest uniwersalnym sufiksem w przypadku Business API. Należy użyć nazwy entity-set zdefiniowanej w metadanych konkretnego API.