Direkt zu Hauptinhalt

Verbindung mit S/4HANA Cloud Public Edition über OData V4

SAP S/4HANA Cloud Public Edition unterstützt das Importieren des dab RFC Add-On für diese Verbindungsart nicht. Konfigurieren Sie stattdessen den Zugriff über die Kommunikationsanwendungen im SAP Fiori Launchpad. Dafür sind ein Communication User, ein Communication System zur Abbildung der Nexus Umgebung sowie eine Communication Arrangement für das erforderliche Kommunikationsszenario notwendig.

Nach Abschluss der SAP-seitigen Konfiguration richten Sie den von dem Zielmandanten in dab Nexus bereitgestellten OData V4-Endpunkt als OData Communication Verbindung ein. Nexus stellt in diesem Public Cloud Szenario keinen Service-Katalog zur automatischen Quellenauswahl zur Verfügung.

Voraussetzungen​

Überprüfen Sie die SAP System​

Bestätigen Sie Produkt, Edition, Release und Zielmandant mithilfe von Identify SAP System. Bestimmen Sie das Betriebsmodell nicht allein anhand des Hostnamens oder des Fiori Launchpad.

SAP ECC, S/4HANA On-Premise, Private Cloud und Public Edition nutzen unterschiedliche Verbindungskonzepte und Administrationsmodelle. Markieren Sie unbekannte Werte als unbestätigt und klären Sie diese mit dem SAP-Administrator.

Überprüfen Sie die Nexus Umgebung​

  • Prüfen Sie die installierte Version unter Einstellungen → Lizenz & Support. Stellen Sie sicher, dass OData Communication verfügbar ist.
  • Überprüfen Sie, ob eine HTTPS-Verbindung zum SAP API Host auf TCP-Port 443 möglich ist und das TLS-Zertifikat gültig ist.

Service-Katalog aktivieren​

Das Kommunikationsszenario SAP_COM_0181 ist erforderlich, da es Zugriff auf den von Nexus genutzten SAP Service-Katalog ermöglicht.

Legen Sie eine Communication Arrangement für Folgendes an und pflegen Sie diese:

SAP_COM_0181

Weisen Sie das Communication System und den Communication User zu, die für die Nexus Integration vorgesehen sind.

important

SAP_COM_0181 ist zwingend erforderlich für die Nexus OData V4 Verbindung, da damit der Service-Katalog aktiviert wird. Dadurch wird das tatsächlich für die Datenquelle benötigte Kommunikationsszenario nicht ersetzt. Beispielsweise benötigt eine CDI_CDS Quelle zusätzlich SAP_COM_0531 und eine entsprechende Communication Arrangement.

Prozessübersicht​

  1. Wählen Sie die Quelle und das Kommunikationsszenario.
  2. Konfigurieren Sie für CDI_CDS die CDS Allowlist und die Berechtigungsgruppe.
  3. Legen Sie den Communication User und das Communication System an.
  4. Erstellen Sie die Communication Arrangement.
  5. Bestimmen Sie den Entity-Set Pfad.
  6. Legen Sie die Nexus Verbindung an, testen und registrieren Sie diese.
  7. Erstellen Sie ein Paket für die hinzugefügte Quelle in Package Studio und führen Sie eine Testextraktion durch.

1. Quelle und Kommunikationsszenario auswählen

Beschaffen Sie einen bekannten Referenzdatensatz mit vollständigem Schlüssel und den erwarteten Feldwerten. Verwenden Sie diesen zur Validierung der Verbindung und Extraktion.

QuelleÜberprüfungKommunikationsszenario
CDI_CDSSuchen Sie die Quelle im View Browser. Überprüfen Sie Felder, Schlüssel, Extraktionsunterstützung und Delta-Fähigkeit für die Zielversion.SAP_COM_0531
Business APISuchen Sie eine für Public Edition freigegebene OData V4 API im SAP Business Accelerator Hub. Prüfen Sie die erforderlichen Entities, Felder und API-Version.Szenario-ID wie in der API-Dokumentation angegeben
Gefahr

Ein von einer Fiori-Anwendung genutzter Service ist nicht automatisch für externe Integration freigegeben.

Für Business APIs gilt:

  • Die CDI Allowlist findet keine Anwendung.
  • SAP_COM_0531 ist nicht zwangsläufig das richtige Szenario.
  • SAP_COM_0532 ersetzt nicht den hier beschriebenen CDI OData Zugriff.
  • Die quellenspezifische Communication Arrangement ist zusätzlich zur Service-Katalog-Arrangement für SAP_COM_0181 erforderlich.

Custom Key User CDS Views​

Stellen Sie sicher, dass die View für Data Extraction publiziert ist. SAP KBA 2884410 dokumentiert bei diesem Quellentyp die Vollextraktion ohne Delta. Diese Einschränkung gilt nicht automatisch für SAP Standardextraktoren.

2. CDS Allowlist und Berechtigungsgruppe konfigurieren

Führen Sie diesen Abschnitt ausschließlich für CDI_CDS aus. Bei einer Business API fahren Sie fort mit 3. Communication User anlegen.

Falls Sie keinen Zugriff auf die Konfigurations-Aktivität haben, muss der SAP Cloud-Konfigurationsverantwortliche die Einrichtung durchführen.

2.1 Konfigurationsaktivität öffnen​

Suchen Sie Define Allowlists for CDS View Extraction über einen der folgenden Pfade.

Manage Your Solution​

  1. Öffnen Sie Manage Your Solution → Configure Your Solution.
  2. Wenden Sie folgende Filter an:
    • Application Area: Application Platform and Infrastructure
    • Sub Application Area: Data Extraction
  3. Öffnen Sie das passende Ergebnis.
  4. Wählen Sie Konfigurieren im Konfigurationsschritt.

SAP Central Business Configuration​

Suchen Sie den Aktivitätsnamen unter:

Configuration Activities
→ General Settings
→ Further Settings

Je nach Oberfläche erscheint die Aktivität direkt unter Configuration.

2.2 Berechtigungsgruppe und Allowlist anlegen​

  1. Wählen Sie New Entries.
  2. Geben Sie eine eindeutige Authorization Group ID an.
  3. Erfassen Sie eine aussagekräftige Beschreibung.
  4. Wählen Sie Explicit allow list als Typ.
  5. Fügen Sie die benötigten CDS Quellen der Allowlist der Gruppe hinzu.
  6. Speichern Sie die Konfiguration.
  7. Wählen Sie den erforderlichen Customizing-Transport aus.
  8. Notieren Sie die Authorization Group ID für die quellenspezifische Communication Arrangement.
  9. Überprüfen Sie bei getrenntem Zielmandanten, ob die Gruppe und deren Einträge dort ebenfalls verfügbar sind.

2.3 Fehlende Allowlist-Aktivität​

Ist die Aktivität nicht vorhanden, lassen Sie den Konfigurationsverantwortlichen prüfen, ob das Scope Item Data Protection and Privacy (5LE) aktiv ist. SAP KBA 3781796 beschreibt fehlende Aktivierung dieses Scope Items als Ursache. Nach Aktivierung suchen Sie die Aktivität erneut.

3. Communication User anlegen

  1. Öffnen Sie Maintain Communication Users.
  2. Legen Sie einen dedizierten Communication User für Nexus an, oder öffnen Sie einen bereits für diese Integration vorgesehenen.
  3. Konfigurieren Sie die für den Service benötigte Authentifizierungsmethode.

Benutzername und Passwort​

  • Setzen Sie das Passwort für den Communication User.
  • Übergeben Sie es ausschließlich über das freigegebene Secret-Management-Verfahren.
  • Speichern Sie das Passwort später in der Nexus Verbindung.

Client-Zertifikat​

  • Ordnen Sie das öffentliche Client-Zertifikat dem Communication User zu.
  • Nexus benötigt zusätzlich den zugehörigen privaten Schlüssel.
  • Stellen Sie Nexus eine .p12 Datei mit Client-Zertifikat und privatem Schlüssel bereit.
  • Speichern und übermitteln Sie das Dateipasswort separat von der Zertifikatdatei.
  1. Speichern Sie den Nutzer.
  2. Notieren Sie dessen Identität für das Communication System.
Hint

Der Communication User ist nicht das persönliche Konto zum Anmelden am Fiori Launchpad. Ihr Fiori Benutzer konfiguriert die Integration, während Nexus den Service mit dem Communication User oder dessen Zertifikat aufruft. Ein erfolgreicher Fiori-Login validiert daher keine Nexus Authentifizierung.

4. Communication System für Nexus anlegen

  1. Öffnen Sie Communication Systems.
  2. Legen Sie ein System für die relevante Nexus Umgebung an.
  3. Vergeben Sie eine eindeutige System-ID und einen sprechenden Namen, etwa: DAB_NEXUS_PROD
  4. Erfassen Sie im Feld Host Name den Hostnamen der entsprechenden Nexus Installation oder Managed App.
  5. Geben Sie nur den Hostnamen ein, ohne Scheme oder URL-Pfad.
  6. Fügen Sie unter Users for Inbound Communication den in 3. Communication User anlegen erstellten Communication User hinzu.
  7. Wählen Sie dessen Authentifizierungsmethode.
  8. Speichern Sie das Communication System und prüfen Sie die Benutzerzuordnung.

"Inbound" bedeutet in diesem Zusammenhang, dass Nexus eine Anfrage an SAP sendet.

Gefahr

Das Communication System repräsentiert Nexus als Kommunikationspartner. Sein Host Name ist nicht der SAP API Hostname, der als Nexus Base URL dient. Sie erhalten die SAP API URL aus den Inbound Services der Communication Arrangement.

Nutzen Sie separate Communication Systems, wenn DEV, QA und PROD unterschiedliche Nexus Anwendungen oder technische Identitäten verwenden.

5. Communication Arrangements anlegen

Mindestens zwei Communication Arrangements können erforderlich sein. Legen Sie folgende Communication Arrangements an:

  1. Eine Service-Katalog-Arrangment für SAP_COM_0181.
  2. Eine quellenspezifische Arrangement für SAP_COM_0531 oder das in der Business API dokumentierte Kommunikationsszenario.

5.1 Service-Katalog-Arrangement anlegen​

  1. Öffnen Sie Communication Arrangements.
  2. Wählen Sie Neu.
  3. Wählen Sie das Kommunikationsszenario:
    SAP_COM_0181
  4. Vergeben Sie einen aussagekräftigen Namen für die Arrangement.
  5. Wählen Sie das Nexus Communication System, das Sie in 4. Communication System für Nexus anlegen angelegt haben.
  6. Prüfen Sie unter Inbound Communication:
    • den zugeordneten Communication User,
    • die konfigurierte Authentifizierungsmethode.
  7. Speichern Sie die Arrangement.
  8. Öffnen Sie Inbound Services und prüfen Sie den angebotenen Service-Katalog-Zugriff.
important

Die SAP_COM_0181 Arrangement aktiviert den Service-Katalog. Sie berechtigt nicht zum Zugriff auf die Entitäten der ausgewählten Datenquelle.

5.2 Quellenspezifische Arrangement anlegen​

  1. Öffnen Sie Communication Arrangements.
  2. Wählen Sie Neu.
  3. Wählen Sie das im Schritt 1. Quelle und Kommunikationsszenario auswählen identifizierte Szenario:
    • für CDI: SAP_COM_0531,
    • für eine Business API: deren dokumentierte Communication Scenario ID.
  4. Vergeben Sie einen Namen für die Arrangement.
  5. Wählen Sie das Nexus Communication System, das Sie in 4. Communication System für Nexus anlegen angelegt haben.
  6. Prüfen Sie unter Inbound Communication:
    • den zugeordneten Communication User,
    • die konfigurierte Authentifizierungsmethode.
  7. Für CDI tragen Sie die in 2.2 Berechtigungsgruppe und Allowlist anlegen erstellte Authorization Group ID unter Additional Properties → Authorization Group ID ein.
  8. Speichern Sie die Arrangement.
  9. Öffnen Sie Inbound Services.
  10. Kopieren Sie die für den Zielmandanten angezeigten URLs.

Häufige Konfigurationsfehler​

Authorization Group muss gepflegt werden​

Überprüfen Sie:

  • dass die Authorization Group ID exakt eingetragen wurde,
  • dass die Gruppe im Zielmandanten existiert,
  • dass die benötigten CDS Quellen in deren Allowlist enthalten sind.

SAP KBA 3118974 beschreibt diesen Fehler.

Service-Katalog nicht verfügbar​

Stellen Sie sicher, dass:

  • eine Communication Arrangement für SAP_COM_0181 existiert,
  • das korrekte Communication System zugeordnet ist,
  • der benötigte Communication User zugewiesen ist,
  • die konfigurierte Authentifizierungsmethode zur Nexus Verbindung passt.

Behandeln Sie die quellenspezifische Arrangement nicht als Ersatz für SAP_COM_0181.

Erforderlicher Service wird nicht angeboten​

Vergleichen Sie:

  • das ausgewählte Kommunikationsszenario,
  • die API-Version,
  • die SAP Cloud Release,
  • die release-spezifische SAP-Dokumentation.

Ersetzen Sie kein Szenario durch ein anderes, nur weil es einen ähnlich benannten Service enthält.

6. Den spezifischen Entity-Set Pfad bestimmen

6.1 CDI_CDS​

Provider-Verzeichnis abfragen​

Nutzen Sie den Communication User, um das CDI Provider-Verzeichnis über den aus der Arrangement bereitgestellten CDI-Endpunkt aufzurufen. SAP dokumentiert folgendes Muster:

https://<SAP-API-Host>/sap/opu/odata4/sap/cdi/default/sap/cdi/0001/Providers
  1. Suchen Sie nach dem technischen CDS Entitätsnamen, der im Schritt 1. Quelle und Kommunikationsszenario auswählen ermittelt wurde.
  2. Verwenden Sie nicht den SQL View-Namen oder lediglich eine fachliche Beschreibung.
  3. Folgen Sie jeder zurückgegebenen @odata.nextLink Seite.
  4. Kopieren Sie die vom Zielmandanten angebotene Provider-URL.
  5. Konstruieren Sie keinen CDI_CDS Pfad allein aus dem View-Namen.

Service und Metadaten prüfen​

Rufen Sie auf:

  • das Service-Dokument am Service-Root, inklusive des abschließenden /,
  • das Metadaten-Dokument unter service root + /$metadata.

Überprüfen Sie:

  • das Facts Entity Set,
  • die benötigten Felder,
  • den vollständigen Schlüssel,
  • Feldtypen, Währungen und Einheiten.

Ein vom Zielmandanten bereitgestellter Provider kann beispielsweise folgende Pfade zurückgeben:

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

Ersetzen Sie dieses Beispiel mit der vom Zielmandanten zurückgegebenen Provider-URL. Providers dient der Quellenermittlung. Die vom Zielmandanten zurückgegebene Provider-URL muss bei den Nexus Einstellungen während der Einrichtung hinterlegt werden.

6.2 Business API​

  1. Kopieren Sie das Service-Root aus den Inbound Services der entsprechenden Communication Arrangement.
  2. Rufen Sie das Service-Dokument auf.
  3. Rufen Sie /$metadata auf.
  4. Identifizieren Sie das benötigte Entity Set, die Felder und den vollständigen Schlüssel.
  5. Verwenden Sie den veröffentlichten Entity-Set Namen mit der dokumentierten Großschreibung.
Hint

Facts ist kein generischer Suffix für Business APIs. Nutzen Sie den im Metadaten-Dokument der jeweiligen API deklarierten Entity-Set Namen.