CRM WEB UI: AKTIONSMENÜ AUF FELDEBENE
Autor: Razvan Albes | Veröffentlicht: 22.03.2019
Der Abruf von Berichten ist leider nicht ganz so strukturiert, wie man es erwarten könnte. Daher sollte zuvor einige Fragen geklärt sein.
Welchem Workcenter ist der Bericht zugordnet?
Beim Anlegen eines Berichts muss dieser auch einem (oder mehreren) Workcenter zugordnet werden. Anhand dieser Zuordnung werden u.a. die Benutzerberechtigungen für den Zugriff auf die Berichte gesetzt.
Für den Abruf wird die Kurzbezeichnung (Technischer Name) des Workcenters benötigt. Genauere Infos findet man im SAP Cloud for Customer Benutzerhandbuch „Grundlagen: Benutzerhandbuch August 2014“ unter der Rubrik „Benutzerrollen und Work-Center-Zuordnungen“ (Seite 545 ff.)
https://help.sap.com/doc/dd0b78e984534ef8ac8d5c2f95644199/1702/de-DE/User%20Guide%20DE-1.pdf
Wie ist die technische Bezeichnung des Berichts?
Für den Aufruf wird die technische Bezeichnung des Berichts benötigt. Hierzu geht man wie folgt vor:
WorkCenter Unternehmensanalyse –> Untermenü: Berichte erstellen
Mit Hilfe des Suchfelds den gewünschten Bericht ermitteln.
Bericht durch Öffnen des Links auf dem Namen öffnen.
Auf der rechten Seite der Übersicht findet sich ein Link „Details“ – siehe Abbildung 01
Gleich der erste Punkt „Bericht“ beinhaltet den technischen Namen – siehe Abbildung 02

Abbildung 01

Abbildung 02
Wie ist die URL des REST-Aufrufs aufgebaut?
Der Aufruf besteht im Wesentlichen aus drei Teilen:
<Tenanturl>/sap/byd/odata/<Workcenter>_analytics.svc/RP<bericht>QueryResults
<Tenanturl> : Die Standard-URL z.B. <Ihre Systemangaben>.crm.ondemand.com/
<Workcenter>: Kurzbezeichnung des Workcenters z.B. CODACCOUNTWC (Kunden Workcenter)
<bericht>: technische Bezeichnung des Berichts z.B. CODOPPU_Q0005
Also sieht die gesamte URL wie folgt aus:
https://<IhreSystemangaben>.crm.ondemand.com/sap/byd/odata/CODACCOUNTWC_analytics.svc/RPCODOPPU_Q0005QueryResults
Kann man die URL testen?
Ja, die URL kann in einem gewöhnlichen Browser aufgerufen werden. Hierbei sind ein paar Dinge zu beachten:
Wenn eine XML angezeigt wird (siehe Abbildung 03), so ist ein Fehler in der URL.
Hierbei ist z.B. der Berichtsnamen unbekannt. WICHTIG: Der String „RP“ vor dem Berichtsnamen und der STRING „QueryResults“ wird gerne vergessen oder falsch geschrieben.
Ein korrektes Ergebnis wird vom Browser als RSS/FEED interpretiert. Diese Anzeige enthält aber nicht alle Informationen die Ausgelesen wurden, siehe Abbildung 04.
Um wirklich alle Informationen zu erhalten muss der Quelltext kopiert werden (Rechtsklick in den Browser und dann auf „Seitenquelltext anzeigen“).
Tipp: Damit man es besser lesen kann, empfiehlt sich ein XML-Editor. Z.B. kann das mit Notepad++ und dem Addon XML-Tool erledigt werden.
Einfach im Notepad++ einfügen
Menü: Encoding -> Convert to UTF-8 (HEAD Codierung stimmt mit Inhalt nicht überein, daher Konvertierung notwendig)
Dann über Plugins -> XML-Tools->Pretty print (XML only – with line breaks)
Jede Zeile aus dem Bericht wird im XML-Tag gekapselt
Datenblöcke finden sich unter dem XML-Tag
Können die Berichtsdaten gefiltert und sortiert werden?
Um Daten zu filtern oder zu sortieren steht der „get“-Parameter zur Verfügung:
Allgemeine Schreibweise: „URL“?<paramter1>=<wert1>&<parameter2>=<wert2> etc.
Verfügbare Parameter:
select

Abbildung 03

Abbildung 04
Hiermit kann der Datenblock bestimmt werden. Also welche Metadaten überhaupt übergeben werden sollen.
Die Bezeichnungen der einzelnen Metadaten muss ermittelt werden, da bis jetzt keine Bezeichnungslogik erkennbar ist. Genaues Hierzu im Kapitel „Wie bekomme ich technische Detailinformationen über die Berichte?“
Für Mehrfachauswahl die einzelnen Metadaten mit einem Komma trennen (z.B. feld1,feld2,feld3)
orderby
Hierdurch kann aufsteigend oder absteigend sortiert werden. Es können auch mehre Felder zur Sortierung verwendet werden.
Mehrere Felder werden auch hier durch ein Komma getrennt
Für aufsteigend muss „asc“ angehängt werden, für absteigend „desc“
Z.B. feld1,feld2 asc
filter
Hier kann die Ergebnisliste gefiltert werden.
$filter= eq ‘‘ z.B. $filter= CDPY_PROS_CITY=‘Konstanz‘
Wie erhält man technische Detailinformationen über die Berichte?
Da die technischen Bezeichnungen nur schwer oder gar nicht über den Web-Client zu ermitteln sind, empfiehlt sich folgender Aufruf:
<Ihre Systemangaben>.crm.ondemand.com/sap/byd/odata/<gekürzter Name des Work Centers>_analytics.svc$metadata
<Ihre Systemangaben>: der URL-Part zum Tenant
<gekürzter Name des Work Centers> Ist wieder der technische Name des Workcenters.
Durch den Zusatz $metadata erhält man neben den zur Verfügung stehenden Berichten und deren Technischen Namen, auch noch die technischen Informationen über den Datenblock(Metadaten), siehe Abbildung 05.

Abbildung 05