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
443mö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.
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
- Wählen Sie die Quelle und das Kommunikationsszenario.
- Konfigurieren Sie für
CDI_CDSdie CDS Allowlist und die Berechtigungsgruppe. - Legen Sie den Communication User und das Communication System an.
- Erstellen Sie die Communication Arrangement.
- Bestimmen Sie den Entity-Set Pfad.
- Legen Sie die Nexus Verbindung an, testen und registrieren Sie diese.
- 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üfung | Kommunikationsszenario |
|---|---|---|
CDI_CDS | Suchen 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 API | Suchen 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 |
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_0531ist nicht zwangsläufig das richtige Szenario.SAP_COM_0532ersetzt nicht den hier beschriebenen CDI OData Zugriff.- Die quellenspezifische Communication Arrangement ist zusätzlich zur Service-Katalog-Arrangement für
SAP_COM_0181erforderlich.
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
- Öffnen Sie Manage Your Solution → Configure Your Solution.
- Wenden Sie folgende Filter an:
- Application Area: Application Platform and Infrastructure
- Sub Application Area: Data Extraction
- Öffnen Sie das passende Ergebnis.
- 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
- Wählen Sie New Entries.
- Geben Sie eine eindeutige Authorization Group ID an.
- Erfassen Sie eine aussagekräftige Beschreibung.
- Wählen Sie Explicit allow list als Typ.
- Fügen Sie die benötigten CDS Quellen der Allowlist der Gruppe hinzu.
- Speichern Sie die Konfiguration.
- Wählen Sie den erforderlichen Customizing-Transport aus.
- Notieren Sie die Authorization Group ID für die quellenspezifische Communication Arrangement.
- Ü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
- Öffnen Sie Maintain Communication Users.
- Legen Sie einen dedizierten Communication User für Nexus an, oder öffnen Sie einen bereits für diese Integration vorgesehenen.
- 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
.p12Datei mit Client-Zertifikat und privatem Schlüssel bereit. - Speichern und übermitteln Sie das Dateipasswort separat von der Zertifikatdatei.
- Speichern Sie den Nutzer.
- Notieren Sie dessen Identität für das Communication System.
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
- Öffnen Sie Communication Systems.
- Legen Sie ein System für die relevante Nexus Umgebung an.
- Vergeben Sie eine eindeutige System-ID und einen sprechenden Namen, etwa: DAB_NEXUS_PROD
- Erfassen Sie im Feld Host Name den Hostnamen der entsprechenden Nexus Installation oder Managed App.
- Geben Sie nur den Hostnamen ein, ohne Scheme oder URL-Pfad.
- Fügen Sie unter Users for Inbound Communication den in 3. Communication User anlegen erstellten Communication User hinzu.
- Wählen Sie dessen Authentifizierungsmethode.
- Speichern Sie das Communication System und prüfen Sie die Benutzerzuordnung.
"Inbound" bedeutet in diesem Zusammenhang, dass Nexus eine Anfrage an SAP sendet.
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:
- Eine Service-Katalog-Arrangment für
SAP_COM_0181. - Eine quellenspezifische Arrangement für
SAP_COM_0531oder das in der Business API dokumentierte Kommunikationsszenario.
5.1 Service-Katalog-Arrangement anlegen
- Öffnen Sie Communication Arrangements.
- Wählen Sie Neu.
- Wählen Sie das Kommunikationsszenario:
SAP_COM_0181 - Vergeben Sie einen aussagekräftigen Namen für die Arrangement.
- Wählen Sie das Nexus Communication System, das Sie in 4. Communication System für Nexus anlegen angelegt haben.
- Prüfen Sie unter Inbound Communication:
- den zugeordneten Communication User,
- die konfigurierte Authentifizierungsmethode.
- Speichern Sie die Arrangement.
- Öffnen Sie Inbound Services und prüfen Sie den angebotenen Service-Katalog-Zugriff.
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
- Öffnen Sie Communication Arrangements.
- Wählen Sie Neu.
- 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.
- für CDI:
- Vergeben Sie einen Namen für die Arrangement.
- Wählen Sie das Nexus Communication System, das Sie in 4. Communication System für Nexus anlegen angelegt haben.
- Prüfen Sie unter Inbound Communication:
- den zugeordneten Communication User,
- die konfigurierte Authentifizierungsmethode.
- Für CDI tragen Sie die in 2.2 Berechtigungsgruppe und Allowlist anlegen erstellte Authorization Group ID unter Additional Properties → Authorization Group ID ein.
- Speichern Sie die Arrangement.
- Öffnen Sie Inbound Services.
- 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_0181existiert, - 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
- Suchen Sie nach dem technischen CDS Entitätsnamen, der im Schritt 1. Quelle und Kommunikationsszenario auswählen ermittelt wurde.
- Verwenden Sie nicht den SQL View-Namen oder lediglich eine fachliche Beschreibung.
- Folgen Sie jeder zurückgegebenen
@odata.nextLinkSeite. - Kopieren Sie die vom Zielmandanten angebotene Provider-URL.
- Konstruieren Sie keinen
CDI_CDSPfad 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
FactsEntity 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
- Kopieren Sie das Service-Root aus den Inbound Services der entsprechenden Communication Arrangement.
- Rufen Sie das Service-Dokument auf.
- Rufen Sie
/$metadataauf. - Identifizieren Sie das benötigte Entity Set, die Felder und den vollständigen Schlüssel.
- Verwenden Sie den veröffentlichten Entity-Set Namen mit der dokumentierten Großschreibung.
Facts ist kein generischer Suffix für Business APIs. Nutzen Sie den im Metadaten-Dokument der jeweiligen API deklarierten Entity-Set Namen.