Sie sind auf Seite 1von 34

openSAP

Planning with SAP Analytics Cloud


Week 5 Unit 1

00:00:05 Hallo, alle und herzlichen Glückwunsch zum openSAP-Kurs SAP Analytics Cloud for Planning.
Mein Name ist Christoph Tillmann, ich bin Produktmanager für SAP Analytics Cloud Planning
und werde Ihnen in dieser Woche spezielle Funktionen im Analytics Designer im

00:00:23 Kontext der Planung vorstellen. Wir werden Ihnen eine kurze Einführung in das Office 365
Add-In für Microsoft Excel geben und Ihnen einige Hinweise zum Design von
Planungsanwendungen geben.
00:00:40 Das erste Kapitel behandelt die Grundlagen von SAP Analytics Cloud Analytics Designer im
Hinblick auf die Planung spezifischer Funktionen im Detail. Sehen wir uns die Agenda für
dieses Kapitel an. Wir beginnen mit dem Gesamtüberblick über SAP Analytics Cloud. Wo der
Analytics Designer passt, werden wir einige Aspekte
00:01:03 des Analysedesigners hervorheben, wie er die Implementierung Ihrer Geschäftsanforderungen
nutzen und unterstützen wird, und kurz die Designumgebung erläutern, damit Sie mit dem
Analytics Designer beginnen können.
00:01:18 Im Vergleich zur Story gibt es einige Analytics-Designspezifische Widgets, die wir Ihnen
vorstellen und Ihnen zeigen werden, wie Sie diese in Ihrer Planungsanwendung verwenden.
00:01:33 Darüber hinaus werden wir kurz auf benutzerdefinierte Widgets und einige Anwendungsfälle
für sie eingehen und wie diese tatsächlich implementiert werden können.
00:01:46 Außerdem werden wir darüber sprechen, wie Sie Ihre Anwendung flexibel gestalten können.
Der Analysedesigner unterstützt dies.
00:01:59 Ein wichtiger Aspekt schließlich ist die Frage, wie das Story- und Anwendungsdesign integriert
werden kann. Wie Sie bereits wissen, kombiniert SAP Analytics Cloud die BI-Planung und -
Prognose und führt alle in einer Story für Ihre Geschäftsanwender zusammen.
00:02:25 Und da die Story gut für die Rollen von Business-Analysten und Finanzanalysten geeignet ist
und möglicherweise der angesehene Geschäftsbereich gehört, haben Sie möglicherweise
auch umfassendere Anforderungen an maßgeschneiderte Unternehmensanwendungen.
00:02:40 Für diese Anforderung haben wir Analyseanwendungen von SAP Analytics Cloud eingeführt,
die die Benutzerfreundlichkeit von Story-Funktionen mit der Erweiterung der Scripting-
Funktionen mithilfe von JavaScript kombinieren.
00:02:56 Analyseanwendungen von SAP Analytics Cloud bieten zusätzliche Standard-Widgets, um Ihre
Geschäftsanforderungen zu erfüllen. Darüber hinaus können Sie benutzerdefinierte Widgets
für bestimmte Anwendungsfälle implementieren.
00:03:09 Die Design-Zeit-Umgebung für Analyseanwendungen von SAP Analytics Cloud wird als
Analysedesigner bezeichnet. Wie in der Story enthält die Analytic Application selbst keine
Transaktionsdaten, sondern stellt eine Verbindung zu einem oder mehreren SAC-Modellen
her, wie Sie es
00:03:27 auch aus der Story kennen. Wie in Storys können Sie natürlich Widgets im Grafikbereich, der
eine Verbindung herstellt, mit Live-Datenmodellen kombinieren und Datenmodelle importieren.

00:03:36 In unseren Beispielen verwenden wir Akquisitionsmodelle, um auch die planungsspezifischen


Funktionen im Analysedesigner zu demonstrieren. Eine Analytic Application kann wie ein
Story-Objekt behandelt werden, z. B. als Arbeitsdatei, natürlich auch im Kalender, oder als
Asset im SAP Analytics Hub
00:03:57 veröffentlicht werden. Sehen wir uns daher die Möglichkeiten und Vorteile der Verwendung
des Analysedesigners für die Entwicklung funktionsreicher Planungsanwendungen genauer
an.
00:04:12 Mit dem Analysedesigner in SAP Analytics Cloud können Sie also skalierbare,
benutzerfreundliche und maßgeschneiderte Planungsanwendungen erstellen. Um alle
Geschäftsanforderungen Ihres Endbenutzers zu erfüllen.
00:04:32 Es erweitert das Konzept von Planungsmodellen und Storys mit umfassenden Scripting-
Funktionen, mit denen Sie leistungsstarke Planungsanwendungen mit hervorragender
Benutzerfreundlichkeit für Ihre Planungsanwender bereitstellen können.
00:04:48 Verwenden Sie Scripting, um z. B. Formulare zu erstellen, um Plandaten einzugeben, z.B. in
der Personaleinsatzplanung, um sicherzustellen, dass Sie Ihre Mitarbeiter in positiven
ganzzahligen Werten planen.
00:05:02 Aus geschäftlicher Sicht ist es nicht sinnvoll, wie -4,7 Einstellungen in einem Monat zu planen,
der im aktuellen Jahr bereits vergangen ist. Daher möchten Sie diese Arten von Validierungen
auch implementieren, um Ihren Anwendungsbenutzer durch den Planungsprozess zu führen.

00:05:20 Ein weiterer wichtiger Anwendungsfall für Analyseanwendungen ist die Automatisierung der
Erstellung neuer Planungsmitglieder, z. B. für die Investitions- oder Projektplanung.
00:05:30 Mit Analyseanwendungen können Sie sicherstellen, dass nur gültige Werte auf Ihre
Elementeigenschaften angewendet werden, wie z. B. Investitionsart, strategisch, operativ. Es
gibt eine unbegrenzte Anzahl von Anwendungsfällen, um Validierungen anzuwenden, sodass
Sie die volle Flexibilität von JavaScript nutzen können, um Ihre
00:05:48 genauen Geschäftsanforderungen zu implementieren. Ein weiterer wichtiger Aspekt besteht
also darin, Ihren Planungsbenutzer innerhalb der Anwendung so weit wie möglich zu führen.
Dadurch wird der Schulungsaufwand reduziert,
00:06:03 die Datenqualität sichergestellt, die Datenqualität geplant und die Akzeptanz der Anwendung
durch Ihr Unternehmen verbessert. Bei großen Unternehmensplanungslösungen müssen Sie
diese in der Regel mit allen Arten von Lösungen und Bildschirmgrößen ausführen, und es
werden immer mehr Anwendungsfälle
00:06:23 entwickelt, die auch die Unterstützung mobiler Geräte zum Ausdruck bringen. Mit dem
Analysedesigner können Sie nicht nur responsive Layouts implementieren, sondern auch
spezifische Logik, wenn Ihre Anwendung auf einem mobilen Gerät ausgeführt
00:06:39 wird. Sie können z. B. Widgets neu anordnen und ihre Größe ändern oder zusätzliche Logik
für Ereignisse wie das Schütteln oder Drehen des Geräts implementieren.
00:06:58 Betrachten wir nun die Design-Zeit-Umgebung in SAP Analytics Cloud Analytics Designer.
Und es ähnelt in gewisser Weise dem Bearbeitungs- und Anzeigemodus in der Story, aber
hier wird zwischen der Design-Zeit und der spezifischen Laufzeit unterschieden.
00:07:20 Gegebenenfalls wird das Konzept des hinzugefügten Modus von Storys auch im
Analysedesigner wiederverwendet, z.B. im Builder-Bereich, um den initialen Navigationsstatus
von Diagramm und Tabelle zu definieren.
00:07:33 Wenn Sie in der oberen rechten Ecke auf die Schaltfläche Designer klicken, wird auch der
Builder- und Styling-Bereich geöffnet, wie Sie es aus der Story kennen. Außerdem ähnelt der
Grafikbereich der Grafikseite in der Story, auf der Sie die Präzision hinzufügen und die Größe
der Widgets per Drag&Drop ändern können.
00:07:57 Es ist so, wie Sie sehen, was Sie erhalten, und wo Sie die Widgets und deren Größe und
Reihenfolge usw. platzieren, können Sie dies standardmäßig definieren. Später können Sie es
durch Scripting erweitern, um dies zu automatisieren oder eine spezifische Logik für die
Neuanordnung dieser Widgets zu erstellen.
00:08:21 Sie unterscheidet sich hier etwas vom Story-Konzept, da es nur einen Grafikbereich gibt,
wohingegen Sie in der Story standardmäßig zusätzliche Grafikseiten in einem
Bearbeitungsmodus hinzufügen können.

2
00:08:32 Dies wird in Analyseanwendungen unterschiedlich gehandhabt und zeigt auch die
unterschiedlichen Konzepte von beiden. Daher können Sie hier in Analyseanwendungen
spezifische Widgets, in diesem Fall ein Registerkarten-Widget, hinzufügen, um auch mehrere
Seiten innerhalb einer Anwendung zu
00:08:57 implementieren. Auf der linken Seite des Analysedesigners sehen Sie die so genannte
Gliederung.
00:09:06 Dies ist einzigartig für das Analytics-Designer-Konzept und listet alle verfügbaren Objekte in
Ihrem Grafikbereich auf. Popups, Formulare, Tabellen, Diagramme sowie zusätzliche
Skriptobjekte und die technischen Objekte.
00:09:22 Sie ist nur zur Design-Zeit sichtbar und listet nicht alle Objekte in Ihrer Anwendung auf,
sondern gibt auch an, welche Ereignisse verfügbar sind und welche tatsächlich für jedes
Objekt implementiert sind.
00:09:40 Die Gliederung hat eine hierarchische Anzeige und unterteilt sich in Objekte im Grafikbereich
in den verschiedenen Dialogfenstern. Bei der Arbeit mit dem Analytics Designer sind zwei
wichtige Aspekte zu beachten: Die Sortierung der Objekte in der Gliederung hat hier eine
Bedeutung, wenn es darum geht,
00:09:59 Objekte im Vordergrund oder im Hintergrund zu steuern, und auch, wenn Sie die
Tabulatortaste verwenden, wird die Reihenfolge durch die Sortierreihenfolge in der Gliederung
gesteuert.
00:10:12 Eine weitere nützliche Funktion der Gliederung ist das Ausblenden bestimmter Objekte. Sie
müssen berücksichtigen, dass diese nur während der Design-Zeit ausgeblendet werden. Die
Laufzeit wird von dieser Einstellung nicht beeinflusst.
00:10:27 Dadurch können Sie Ihren Grafikbereich freisetzen und anspruchsvollere Anwendungen mit
verschiedenen Objektebenen während der Design-Zeit verarbeiten, sodass Sie auf diese
zugreifen und Objekte ausblenden können, mit denen Sie derzeit nicht arbeiten.
00:10:42 Dies ist daher für den Anwendungsdesigner komfortabler. Die Gliederung erstellt also nicht nur
alle Komponenten, die Sie im Grafikbereich sehen, sondern auch alle technischen
Komponenten, die für Ihre Anwendung benötigt
00:11:02 werden. Auf diese Weise können Sie alle Objekte an einer Stelle anzeigen, und im
Allgemeinen werden Sie in jeder fortschrittlicheren, komplexeren Anwendung
höchstwahrscheinlich
00:11:16 Skriptvariablen und Skriptobjekte verwenden. In diesem Kurs wird die technische Komponente
der sogenannten Planungsmodelle erläutert und genauer demonstriert, insbesondere die
verfügbaren Skript-APIs zum
00:11:35 Ändern von Planungsmodellelementen zur Laufzeit Ihrer Anwendung. Die Prüfung der
Referenzen der einzelnen Objekte und Syntaxfehler in Ihrer Anwendung wird unten in der
Designer-Umgebung angezeigt. Sie können sie öffnen, indem Sie in der
00:12:00 Menüleiste auf dieses Info-Symbol klicken. Sie hilft Ihnen, alle Syntaxfehler in Ihrer
Anwendung zu finden und aufzulisten, und zeigt eine Referenzliste für jedes Objekt an. Wie
bereits erwähnt, gibt die Gliederung auch an, ob Ereignisse verfügbar sind und welche davon
für ein bestimmtes Objekt implementiert sind.
00:12:31 Wenn Sie das Ereignis auswählen, wird eine andere Registerkarte geöffnet, und Sie sehen
direkt das implementierte JavaScript für dieses Ereignis. Wie Sie hier beim onInitialisierungs-
Ereignis sehen, sehen Sie auch oben immer eine kurze Erläuterung des Ereignisses, wenn es
aufgerufen wird, wie der Rückgabewert ist,
00:12:59 was z.B. die notwendigen Argumente sind, die Sie beim Aufruf oder bei der Implementierung
einer Methode selbst übergeben müssen. Dies alles wird in der Kopfanzeige angezeigt.
00:13:17 Um nun ein Widget zu Ihrem Grafikbereich hinzuzufügen, gehen Sie wie in der Story vor,
indem Sie auf das Pluszeichen in der Menüleiste klicken und das Widget auswählen, das Sie
Ihrem Grafikbereich hinzufügen möchten. Anschließend platzieren Sie es, ordnen es an,
ändern die Größe und alles.

3
00:13:37 Sie definieren die initialen Filter im Designer-Bereich. Sie ändern das Layout so, wie Sie es
aus der Story kennen.
00:13:48 Zusätzlich zu den Widgets, die Sie möglicherweise bereits aus der Story kennen, stehen Ihnen
im Analytics Designer eine Reihe von Standard-Widgets zur Verfügung, z.B. eine Dropdown-
Liste, eine Schaltfläche, ein Schieberegler-Widget, das nicht direkt an eine bestimmte Funktion
gebunden ist. Es ist jedoch ein freies Widget, und Sie können
00:14:10 entscheiden, wie Sie es verwenden und wie Sie die Werte eingeben, entweder statisch zur
Design-Zeit oder später dynamisch zur Laufzeit. Wenn wir spezifischere Anwendungsfälle
haben, in denen diese Standard-Widgets nicht ausreichen, können Sie auch sogenannte
benutzerdefinierte Widgets implementieren. Dort
00:14:33 können Sie frei definieren, in Ordnung sein, was Ihr Widget tun soll und wie es sich verhält,
und Sie können in diesem Widget eine komplexere Logik implementieren. Wir gehen nicht
näher auf die Erstellung dieser benutzerdefinierten Widgets ein, aber Sie können die Startseite
von SAP Analytics Cloud auschecken und zum Lernabschnitt
00:14:59 wechseln. Sie finden viele Blogs und Referenzlinks, um zu erläutern, wie diese
benutzerdefinierten Widgets verwendet werden und insbesondere wie Sie diese
benutzerdefinierten Widgets erstellen können.
00:15:16 Um sicherzustellen, dass Ihre Anwendung auf jeder Auflösung und auf jedem Gerät
ordnungsgemäß verwendet werden kann, verfügt der Analysedesigner über eine integrierte
Vorschau und Standardeinstellungen für Responsive Design.
00:15:29 Dies ist insbesondere bei mobilen Anwendungen hilfreich. Damit Analytic Applications auf
mobilen Geräten ausgeführt werden können, müssen Sie in den Anwendungseinstellungen die
Option für die Unterstützung mobiler Geräte
00:15:50 aktivieren. Außerdem müssen Sie sicherstellen, dass die mobile Anwendung im
Laufzeitparameter mode=embed aufgerufen wird.
00:15:56 Daher gibt es im Analysedesigner verschiedene Modi, wie Sie sie aufrufen können.
Insbesondere für mobile Anwendungen ist es wichtig, diesen Modus einzubetten. Der
Laufzeitmodus wird durch die URL der Anwendung definiert.
00:16:15 Außerdem können Sie eine Logik implementieren, die zu Beginn prüft, sodass im
onInitialisierungs-Ereignis der Anwendung geprüft wird, ob sie im eingebetteten Modus
aufgerufen wurde. Wenn dies nicht der Fall ist, können Sie einen Redirect implementieren, der
immer sicherstellt, dass Ihre Anwendung auf mobilen Geräten im
00:16:36 Einbettungsmodus aufgerufen wird. Weitere Details zu den spezifischen Anforderungen finden
Sie im verlinkten Hilfedokument hier, um sicherzustellen, dass Ihre mobile Anwendung
erwartungsgemäß
00:16:53 ausgeführt wird, um zu sehen, was Mindestanforderungen sind, welche Supportgeräte,
unterstützten Browser usw. vorhanden sind. Ein wichtiger Aspekt bei der Erstellung von
Analyseanwendungen ist schließlich, dass Sie nicht alles in einer Anwendung ablegen
müssen. So haben Sie beispielsweise für
00:17:18 alle Anwendungsfälle die vollständige Logik für Ihren gesamten Planungszyklus. Dies erhöht
natürlich die Laufzeit- und Wartungskomplexität.
00:17:31 Und Sie können es mit dem Konzept in der Story vergleichen. Sie würden nicht alle
Anwendungsfälle in einer Story zusammenfassen. Sie können sie nach Registerkarten oder
Seiten in der Story aufteilen, aber Sie teilen sie auch immer nach verschiedenen Storys auf,
abhängig von den Personas und dem
00:17:48 Prozess im Anwendungsfall. Das Gleiche tun Sie auch bei Analytic Applications.
00:17:55 Darüber hinaus können Sie Analyseanwendungen mit Ihrer Story kombinieren und umgekehrt,
sodass Sie eine Analyseanwendung aus einer Story heraus aufrufen können, z.B. in einer
Tabelle über einen Hyperlink, und Filterwerte in der URL als sogenannte URL-Parameter in
Ihrer Story übergeben.

4
00:18:18 Um diese URL-Parameter in Ihrer Analytic Application zu definieren, gibt es diesen Bereich
von Skriptvariablen. Und für jede Skriptvariable können Sie hier dieses Ankreuzfeld aktivieren,
um anzugeben, dass Sie diese Variable als Parameter exponieren möchten.
00:18:38 Wenn Sie dieses Präfix hinzufügen, klicken Sie einfach auf dieses Infofeld, um weitere Details
zur genauen Syntax in der URL anzuzeigen. Anschließend können Sie diese Filtervariablen
übergeben und werden dann im folgenden Skript in Ihrer Analyseanwendung verwendet.

00:18:58 Hier finden Sie auch den Hilfe-Link, der insbesondere anhand der URL-Parameter näher
erläutert, was zu beachten ist. Gehen Sie also dorthin und suchen Sie auch nach weiteren
Details.
00:19:16 Schauen wir uns diese Themen, die wir soeben erläutert haben, im System an. Hier befinden
wir uns also in einer Analytic Application, und ich habe dem Grafikbereich jetzt einen
sogenannten Tabstrip hinzugefügt, der mit den verschiedenen
00:19:34 Seiten in einer Story vergleichbar ist. Und Sie können bereits hier in der Design-Zeit-
Umgebung navigieren und mit diesen verschiedenen Widgets interagieren.
00:19:48 Um alle Widgets anzuzeigen, öffnen wir diese so genannte Gliederung hier auf der linken
Seite. Hier sehen wir alle Objekte, die wir dieser Anwendung hinzugefügt haben.
00:20:01 Um die Definition all dieser Widgets oder z.B. Filter und die spezifischen Werte wie in der
Story anzuzeigen, kann ich hier den Designer-Bereich öffnen, und ich habe bereits eine
Einstellung für die gesamte Grafikseite, auf der ich, wie auch in der Story, definieren möchte,
ob ich das Raster anzeigen möchte, möchte ich die
00:20:25 verschiedenen Objekte an das Raster ausrichten usw. Diese Einstellungen werden also
vorgenommen, wenn ich alle Objekte neu anordne und sortiere.
00:20:36 Wenn ich hier beispielsweise ein Standard-Widget der Analytic Application auswähle, wie
unsere Dropdown-Box, haben wir natürlich auch das Styling-Panel mit mehreren Dingen, die
wir hier definieren können.
00:20:52 Auch im Builder-Bereich sieht dies nun etwas anders aus, da wir dies nicht direkt an ein
Datenmodell binden, aber wir können sagen, OK, möchten wir eine manuelle Eingabe
vornehmen, z.B. eine statische Liste, die wir auswählen können, oder möchten sie an eine
Skriptvariable binden, oder in Live-Fällen, um Variablen zu modellieren usw.
00:21:19 Hier sehen wir also die verschiedenen Standard-Widgets der Analyseanwendungen, und hier
finden Sie drei Beispiele für benutzerdefinierte Widgets. Ein benutzerdefiniertes Widget ist also
eine sogenannte Datumsauswahl oder Datumsbereichsauswahl, in der Sie hier ein Datum
oder einen Datumsbereich auswählen
00:21:41 können. Sie können verschiedene Formate, Stile usw. haben und dann das ausgewählte
Datum in Ihrem JavaScript lesen. Ein weiteres ist ein sogenanntes Suchfeld für die
automatische Vervollständigung, bei dem es sich um ein benutzerdefiniertes Widget handelt,
das Ihre Liste mit Einträgen
00:22:00 durchläuft. Wenn Sie mit der Eingabe beginnen, um danach zu suchen, ist die Liste bereits
vorgefiltert und Sie müssen sie nur auswählen. Möglicherweise möchten Sie auch solche
Widgets als Benachrichtigungsservice oder als Exportservice verwenden.
00:22:18 Und dies ist das Widget, das keine Interaktion mit dem Endbenutzer im Frontend hat. Es
handelt sich jedoch nur um ein technisches Objekt, und Sie steuern es vollständig mithilfe von
Skript-APIs.
00:22:32 In diesem Fall ist ein Benachrichtigungsservice ein Service, bei dem Sie eine E-Mail über
einen Cloud-Service senden können. Und natürlich gibt es keine Interaktion mit dem
Endanwender.
00:22:45 An einem bestimmten Punkt Ihrer Anwendung haben Sie jedoch implementiert, dass diese E-
Mail an eine bestimmte Benutzergruppe gesendet wird. Wie ich bereits erwähnt habe, können
Sie, um alle Skriptfehler in der Anwendung anzuzeigen, z. B. Syntaxfehler, diese Infobox hier
öffnen, wo Sie alle Fehler und auch

5
00:23:14 die Referenzliste sehen. Dies hilft Ihnen lediglich sicherzustellen, dass alles syntaktisch
fehlerfrei ist.
00:23:24 Wenn Sie beispielsweise IDs ändern und Ihre Anwendungen aus Wartungsgründen neu
bestellen, ist es sehr hilfreich, diese Referenzliste zu erhalten, um sicherzustellen, dass Sie
beim Ändern Ihrer Anwendung nichts verpassen.
00:23:51 Jetzt der letzte Teil. Wenn wir erneut nach der Einstellung suchen, nach den responsiven
Seiten, dann haben Sie hier auf dem Canvas die zentrale Einstellung, um zu sagen, in
Ordnung, ich möchte.
00:24:11 Der Grafikbereich passt zum Gerät, sodass der Grafikbereich immer die spezifische Breite und
Höhe aufweist. Darüber hinaus können Sie für jedes Widget auch festlegen, ob Sie eine feste
Breite und Höhe haben oder ob Sie es automatisch festlegen möchten. Dies bedeutet, dass
das
00:24:35 Widget zur Laufzeit je nach Bildgröße positionieren und die Größe automatisch anpassen wird.
Mit dieser Einstellung können Sie also auch eine reaktionsfähige Anwendung sicherstellen.

00:24:50 Um Ihre Anwendung auf mobilen Geräten zu aktivieren, müssen Sie schließlich in den
Anwendungsdetails die Einstellung hier vornehmen, um zu sagen, dass Sie die Unterstützung
für mobile Geräte benötigen, und Sie sollten dieses Infofeld auch auschecken, da für
bestimmte Widgets, die noch nicht auf mobilen Geräten unterstützt
00:25:21 werden, möglicherweise noch einige Einschränkungen bestehen. Okay, das ist es für die erste
Einheit.
00:25:30 Vielen Dank, dass Sie sich anschauen und nächste Woche mehr über planungsspezifische
APIs mit dem Analytics Designer erfahren. Danke, herzlich.

6
Week 5 Unit 2

00:00:05 Hallo, alle und herzlichen Glückwunsch zum openSAP-Kurs zur Planung von SAP Analytics
Cloud. In dieser Sitzung zeigen wir Ihnen, wie Sie einige APIs im Kontext der Planung
verwenden.
00:00:18 Hier haben wir vier Blöcke davon vorbereitet. Daher zeigen wir Ihnen zunächst, wie Sie das
Versionsverwaltungs-API im Analysedesigner verwenden.
00:00:27 Anschließend können Sie auch die Tabelle, die Planung aktivieren oder deaktivieren. Wir
zeigen Ihnen, was Sie beachten müssen, wenn Sie die API zum Festlegen der
Benutzereingabe und das
00:00:38 Senden verwenden, und wie Sie das Ereignis für den Auslöser der Datenaktion verwenden.
Beginnen wir also mit der Versionsverwaltung.
00:00:46 Hier können Sie bestimmte öffentliche oder private Versionen für das Planungsobjekt Ihres
Tabellen-Widgets lesen, und wir können auch alle privaten oder alle öffentlichen Versionen
abrufen,
00:01:02 eine Schleife darauf ausführen und Folgeaktionen darauf ausführen. Sie können
beispielsweise auch eine vorhandene Version kopieren und dann neue Versionen und neue
private
00:01:17 Versionen anlegen. Hier können Sie sie auch in der Liste der Methoden für eine bestimmte
Version der möglichen Aktionen sehen. Sie können sie beispielsweise auch löschen oder die
Eigentümer-ID
00:01:32 sehen und diese dann weiterverarbeiten. Je nach Versionsart sehen Sie verschiedene
Methoden, sodass Sie z.B. bei einer öffentlichen Version diese
00:01:44 Methode von isDirty() sehen, die eigentlich darstellt, ob Ihre Version geändert wurde. Sind also
Daten vorhanden, die noch nicht veröffentlicht wurden?
00:01:56 Und der Rückgabetyp dieser Meldung ist boolesch. Wenn sie also "true" zurückgibt, wissen
Sie, dass es noch unveröffentlichte Daten gibt.
00:02:05 Wenn "false" zurückgegeben wird, ist alles in Ordnung, und die Daten wurden veröffentlicht.
Sehen wir uns beispielsweise die Methode copy() genauer an. Hier müssen Sie einen neuen
Versionsnamen
00:02:23 angeben, Sie müssen die Planungskopieroption und auch die Versionskategorie angeben. Um
zu sehen, was für jede dieser Methoden erforderlich ist, empfehlen wir, die Code Completion
so weit wie
00:02:38 möglich zu verwenden. Sie können sie auch hier mit dem Steuerelement und dem Platz auf
Ihrer Tastatur aufrufen, und Sie sehen die
00:02:49 vordefinierten Konstanten, z.B. für die Planungskategorie, mit der Sie dann diese Codezeile
ausführen können.
00:02:58 Beachten Sie, dass sich das Widget beim Aufrufen der API, z.B. bei einer Kopierversion, in
diesem Fall wie das Tabellen-Widget wie in der Story verhält. Daher wird der Filter aus Ihrer
Version angepasst, jedoch
00:03:15 nur während der Sitzung. Wenn Sie also die Anwendung verlassen und zurückkehren, wird
der Standardfilter Ihrer Tabelle
00:03:24 angewendet. Hier müssen Sie also erwägen, es entweder für alle Elemente festzulegen, oder
Sie führen das
00:03:32 Initialisierungsereignis aus, um zu prüfen, ob Sie z.B. private Versionen mit Ihrer Eigentümer-
ID haben, und dann Ihren Versionsfilter zur Laufzeit anpassen und anpassen.
00:03:44 Es ist auch möglich, Versionen zu löschen. Hier sollten Sie auch vorab prüfen, ob die Version
tatsächlich vorhanden ist. Wenn sie nicht vorhanden
00:03:53 ist, zeigen Sie dem Endbenutzer eine entsprechende Meldung an. Je nach Versionstyp kann
auch Publisher As, Publish und Revert genannt werden.

7
00:04:02 So können wir beispielsweise für eine private Version festlegen, dass wir sie als öffentliche
Version veröffentlichen möchten.
00:04:10 Daher müssen wir hier auch den Namen dieser öffentlichen Version und die Kategorie
angeben. In einer öffentlichen Version können Sie entweder festlegen, dass Daten
veröffentlicht oder die Daten
00:04:24 zurückgesetzt werden. Das ist ziemlich einfach.
00:04:27 Auch hier sollten Sie vorab prüfen, ob die Version tatsächlich vorhanden ist. Wenn sie nicht
vorhanden ist, zeigen Sie eine Meldung an den Endbenutzer an.
00:04:40 Im zweiten Teil geht es um das Umschalten einer tabellarischen Planung. Hier stellen wir auch
ein API bereit, das Sie zur Laufzeit in der ersten Zeile hier in diesem Beispiel
00:04:54 umschalten können. Sie sehen, dass wir zuerst diese .setEnabled()-Methode aufrufen, sodass
hier ein boolescher Wert true oder false erforderlich ist, und dass wir sogar den aktuellen
Zustand der Tabelle mit
00:05:09 der Methode .isEnabled() lesen können, die einen wahr oder falsch zurückgibt. Und durch das
Ausrufezeichen am Anfang können wir diesen Wert zurückgeben.
00:05:21 Es gibt also eine Quelltextzeile, mit der Sie immer in den Planungsmodus wechseln können,
der aktiviert und deaktiviert ist.
00:05:33 Darüber hinaus können Sie zur besseren Übersichtlichkeit zusätzliche Funktionen wie hier
hinzufügen, die eine Drucktaste zum Wechseln von der aktivierten oder nicht aktivierten
Planung enthalten,
00:05:47 und der Text der Drucktaste wird in Abhängigkeit vom Planungsmodus der Tabelle aktualisiert.
Die erste ist also, dass Sie in den Änderungsmodus wechseln. Anschließend ändern wir den
Text der
00:06:08 Drucktaste in "In Anzeigemodus wechseln" usw. Ein wichtiges API für die Planung von
Anwendungen ist natürlich die Methode .setUserInput() und Submit.
00:06:24 Mit dieser können wir Daten über ein API in eine Tabellenzelle eingeben. Wir müssen nur eine
Auswahl bereitstellen, also eine einzelne Auswahl einer einzelnen Tabellenzelle und
00:06:36 natürlich den Wert, den wir hier hinzufügen möchten, und Sie müssen berücksichtigen, dass
die Benutzereingabe nur die Daten für die Tabelle bereitstellt, Sie jedoch noch nicht die
Auswirkungen
00:06:47 sehen. Sie müssen auch .submitData() aufrufen, der dann alles verarbeitet.
00:06:53 Es ist etwas vergleichbar mit dem Massendatenerfassungsmodus der Tabelle selbst und
verarbeitet sie anschließend.
00:07:01 Sie haben also auch hier zwei Methoden. Und was auch bei Verwendung der API
.setUserInput sehr wichtig ist, ist, dass Sie den genauen
00:07:11 Selektionsbereich berücksichtigen müssen. Daher müssen alle Dimensionen, die verfügbar
sind oder Ihre Tabelle definieren, auch im Selektionsobjekt
00:07:22 enthalten sein. Außerdem müssen Sie berücksichtigen, dass Sie nur Daten in Tabellenzellen
schreiben können, die
00:07:29 tatsächlich sichtbar sind. Das heißt, wenn Sie es nicht manuell direkt in die Tabelle eingeben
konnten, können Sie dies auch mit dem
00:07:39 API tun. Dies entspricht dem Design und stellt die Konsistenz Ihrer Daten sicher, da Konzepte
wie Datensperren und
00:07:49 Berechtigungen usw. bei der Verwendung der API berücksichtigt werden. Und Sie als
Anwendungsentwickler müssen sich nicht noch einmal darum kümmern.
00:08:03 Daher habe ich eine kurze Checkliste für Sie zusammengestellt. Natürlich muss die Tabelle
auch im Planungsmodus aktiviert sein. Die Auswahl muss zu Ihrer Drill-Ebene und zur Struktur
der Zeilen und
00:08:16 Spalten passen. Außerdem müssen Sie die Methode .submitData() nach .setUserInput
aufrufen, um die Änderungen in Ihrer

8
00:08:27 Tabelle zu sehen. Zwei Dinge sollten Sie hier beachten: Sie sollten den Planungsmodus nicht
zwischen .setUserInput() und
00:08:35 .submitData() umschalten, da dies zu einem Detailverlust führt, da er noch nicht verarbeitet
wurde.
00:08:41 Eine zusätzliche Tabellenaktualisierung in der Quelltextzeile ist nicht erforderlich. Das
funktioniert wie, Sie wissen es auch aus der Story, es wird wie die anderen Widgets direkt
00:08:55 regeneriert. Schließlich wird beim Auslöser der Datenaktion ein Ereignis bereitgestellt, das
onBeforeExecute heißt.
00:09:05 Mit diesem Ereignis können Sie beispielsweise vorab prüfen, ob eine Version geändert wurde
oder nicht. Wenn es sich nicht geändert hat, ist es möglicherweise nicht sinnvoll, die
Datenaktion aufzurufen.
00:09:18 Außerdem können Sie z.B. auch in einer globalen Skriptvariablen hinterlegen, ob die
Datenaktion tatsächlich ausgelöst wurde.
00:09:26 Daher gibt dieses onBeforeExecute-Ereignis standardmäßig auch einen booleschen Wert
zurück. Es ist wahr, wenn Sie sie nicht implementieren, werden die Daten und die Aktion
immer ausgeführt.
00:09:38 Wenn Sie es implementieren, können Sie mithilfe von JavaScript festlegen, dass der
Rückgabewert entweder wahr oder falsch ist.
00:09:49 Wie in diesem Beispiel prüfen wir also zuerst, ob die öffentliche Version bearbeitet wurde.
Wenn ja, möchten wir auch die Information behalten, dass die Datenaktion ausgelöst wird.
00:10:04 Und schließlich geben wir den Code "true" zurück, sodass die Daten ausgeführt werden. So
werden beispielsweise zusätzliche Dialogfenster angezeigt, wie sie in der Datenaktion definiert

00:10:17 wurden. Schauen wir uns nun im System an, wie dies implementiert ist.
00:10:21 Wir beginnen also, aus unserer aktuellen Version eine neue private Version zu erstellen.
Daher kann ich hier auf „myFC aus Ist anlegen“ klicken.
00:10:31 Dadurch wird nun zunächst die Istversion in eine neue private Version mit dem Namen
myForecast kopiert und auch die Tabelle aktualisiert, in der der Quelltext angezeigt wird.
00:10:53 Daher prüfen wir zunächst, ob myForecast noch nicht vorhanden ist, und rufen dann die
Kopierfunktion auf. Wenn sie bereits vorhanden ist, wird die Meldung angezeigt, dass die
Version bereits vorhanden ist.
00:11:10 Wenn ich also erneut hier klicke, sehen Sie, dass diese Version bereits vorhanden ist, und die
Fehlermeldung wird angezeigt.
00:11:17 Sie können die Prognoseversion auch löschen. Wie bereits erwähnt, sollten wir prüfen, ob sie
tatsächlich vorhanden ist, und dann die Löschmethode
00:11:32 aufrufen. Wenn wir die private Version, yeah, behalten, können wir die Daten genauso ändern,
wie Sie sie aus der
00:11:41 Story kennen. Es handelt sich also um dasselbe Widget, dasselbe Konzept.
00:11:46 Und wenn uns die Daten aus unserer privaten Version gefällt, können wir daraus auch eine
öffentliche Version erstellen und diese als Prognoseversion veröffentlichen, also vom Typ
Prognose.
00:12:00 Sie wird jetzt ausgeführt. Sie sehen auch, dass die Tabelle direkt aktualisiert wird und die
private Version von myForecast jetzt eine
00:12:09 öffentliche Version namens Forecast ist. Wir können dies auch im Versionsverwaltungsbereich
sehen.
00:12:15 Das ist jetzt diese Version. Wir können die Daten hier direkt in der Tabelle ändern und von hier
aus die Datenänderungen entweder
00:12:30 zurücksetzen oder veröffentlichen. Wenn wir also fortfahren, sehen Sie, wie diese Daten auf
den Initialwert zurückgesetzt werden.
00:12:44 Dasselbe Problem tritt bei der Veröffentlichung auf, in der diese Daten nun im Datenmodell
veröffentlicht werden können.

9
00:12:55 Schauen wir uns auch an, wie dies implementiert wird. Zunächst einmal der Publisher As.
00:13:01 Wir prüfen, ob die private Version vorhanden ist, und rufen dann die Methode Veröffentlichen
als auf, in der wir den Namen und die Planungskategorie angeben.
00:13:15 Beim Zurücksetzen und Veröffentlichen ist dies sehr einfach. Auch hier prüfen wir, ob sie
tatsächlich vorhanden ist. Dann nennen wir die Rücknahme oder die
00:13:22 Veröffentlichung. Wenn sie nicht vorhanden ist, wird diese Meldung angezeigt.
00:13:30 Um hier Daten eingeben zu können, muss, wie ich bereits erwähnt habe, natürlich die
Tabellenplanung aktiviert sein, und wir stellen auch ein API bereit, damit Sie den
Tabellenmodus zur Laufzeit wechseln
00:13:44 können. Mit dieser Drucktaste können Sie also auch in den Anzeigemodus wechseln und
sehen, wie sie nun
00:13:50 ausgegraut ist, und ich kann nichts mehr ändern. Wenn ich erneut klicke, um in den
Bearbeitungsmodus zu wechseln, ist die Planung jetzt aktiviert.
00:13:59 Außerdem stellen Sie fest, dass sich der Text der Drucktaste entsprechend ändert. Sehen Sie
sich an, wie dies implementiert wird.
00:14:08 Tatsächlich die Umschaltung der Tabelle. Wenn wir also die Tabelle hier ansehen und den
Designer-Bereich öffnen, können Sie diese Option, Planungsfähig, hier mit der Skript-API
ändern.
00:14:27 Tatsächlich geschieht dies in dieser ersten Zeile. Dort lesen wir also den aktuellen Status.
Dann setzen wir ihn mit dem Ausrufezeichen zurück und geben diesen Wert in der Methode
.setEnabled() an.
00:14:41 Aus Gründen der Übersichtlichkeit für den Endbenutzer können wir dann auch den Text der
Drucktaste zur Laufzeit ändern, sodass er weiß, was passieren wird, wenn Sie die Drucktaste
wählen.
00:14:57 Da die Tabelle nun im Planungsmodus aktiviert ist, können Daten auch nicht direkt in die
Tabelle, sondern in ein separates Eingabefeld oder ein separates Formular in einem
Dialogfenster eingegeben werden. Sie
00:15:12 möchten dies jedoch entscheiden. Die Informationen, die Sie benötigen, sind die Auswahl der
Tabellenzelle.
00:15:20 Wie hier beispielsweise habe ich in die Zelle geklickt, und Sie können sehen, wie die Auswahl
aktualisiert wird.
00:15:26 Dies dient nun der Übersichtlichkeit, da Sie verfolgen können, was passiert. Wir sehen also,
dass wir uns jetzt in der Prognose für 2020 auf dem Abgangskonto befinden.
00:15:39 Lassen Sie uns das andere auswählen. Hier sehen Sie, wie sich nun die Einstellung ändert.
00:15:43 Wenn Sie einen Wert eingeben und z.B. Plandaten eingeben, werden nun die beiden
Methoden ausgeführt. Es handelt sich also um .setUserInput und um .submitData(), sodass
schließlich .setUserInput
00:15:58 verarbeitet wird und Sie die Änderungen hier in der Tabelle sehen. Schauen wir uns nun an,
wie dies implementiert wird.
00:16:08 Hier wird auf der Drucktaste Plandaten eingeben zunächst die erste Position der Selektion
gelesen, sodass die eine Zelle, die Sie in der Tabelle ausgewählt haben, dann .setUserInput
aufgerufen und
00:16:25 der Wert der ersten Zellenauswahl zusammen mit dem Wert aus dem Dateneingabefeld an die
Tabelle übergeben wird.
00:16:35 In einem zweiten Schritt wird auch die Methode .submitData() genannt. Im ersten Teil geht es
nun um den Auslöser der Datenaktion.
00:16:52 Daher können wir hier auch das Standard-Widget verwenden, das Sie auch aus der Story
kennen, und es in einen Grafikbereich, in eine Analyseanwendung einfügen und eine
Datenaktion von hier aus aufrufen.
00:17:08 Sehen wir uns an, wie dies hier im Analytics Designer erfolgt. Hier sehen Sie also den
Auslöser der Datenaktion.

10
00:17:16 Sie können alles im Builder-Bereich definieren, so wie Sie es auch in der Story kennen. Wir
haben die Parameterabfrage usw.
00:17:28 Darüber hinaus gibt es ein Ereignis, das onBeforeExecute() des Datenaktionsauslösers heißt.
In diesem Fall können Sie beispielsweise prüfen, ob die Prognoseversion geändert wurde.

00:17:43 Wenn dies der Fall ist, wird auch die Datenaktion aufgerufen. Andernfalls wird dem
Endbenutzer eine Informationsmeldung ausgegeben.
00:17:53 Sehen wir uns nun an, wie dies ausgeführt wird. Wenn ich also hier auf Berechnen klicke und
feststelle, dass die Prognoseversion geändert wurde,
00:18:04 wird die Datenaktion ausgeführt. Wie in der Datenaktion definiert, wird die
Eingabeaufforderung angezeigt. Hier ist die
00:18:12 Prognoseversion vorausgewählt. Und das ist gut, wir können es ausführen, und die Daten
werden ausgeführt.
00:18:20 Sobald dies erfolgt ist, veröffentlichen wir die Prognoseversion, um Ihnen auch umgekehrt zu
zeigen. Wenn also nichts geändert wurde und die Prognoseversion veröffentlicht wurde und
ich die
00:18:36 gesamte Datenaktion ausführen möchte, sehen Sie, dass sie nicht geändert wurde. Daher ist
die Prognoseversion entweder nicht vorhanden oder hat sich nicht geändert.
00:18:52 Daher ist es nicht sinnvoll, die Daten und Aktionen auszuführen. Okay, also für die Session auf
den Basis-Planungs-APIs.
00:19:02 Vielen Dank, dass Sie nächste Woche anschauen und sehen. Auf Wiedersehen.

11
Week 5 Unit 3

00:00:06 Hallo, alle und herzlichen Glückwunsch zum openSAP-Kurs für die Planung von SAP Analytics
Cloud in Woche 5, jetzt für Kapitel 3, in dem wir Ihnen einige APIs für die erweiterte Planung
für den
00:00:18 Analysedesigner vorstellen werden. Dieser ist in zwei Blöcke aufgeteilt.
00:00:22 Die erste Komponente ist die technische Komponente „Planungsmodelle“, in der gezeigt wird,
wie Sie sie für die Methoden zum Abrufen der Elemente verwenden und insbesondere Ihre
Elemente im Modell pflegen, in
00:00:37 dem Sie die Dimension mit den Methoden zum Erstellen, Aktualisieren und Löschen ändern
können. Im zweiten Block geht es um die Datensperr-API, in der Sie JavaScript verwenden
können, um einen
00:00:51 entsprechenden Datenbereich Ihres Planungsmodells zu öffnen oder zu sperren. Wir beginnen
also mit der technischen Komponente Planungsmodelle. Diese finden Sie auf der linken Seite

00:01:02 und in der Gliederung. Wenn Sie nach unten zum Bereich der Planungsmodelle blättern,
können Sie dort definieren, dass Sie ein neues Planungsmodell hinzufügen möchten.
00:01:13 Wenn Sie diese hinzufügen und aus dem Dialog auswählen, verfügen Sie über weitere APIs
für dieses technische Objekt.
00:01:22 Grundsätzlich haben Sie die Möglichkeit, weitere Elementinformationen wie Eigenschafts- und
Hierarchieinformationen abzurufen.
00:01:31 Sie können auch einen Offset für den Abruf definieren und auch definieren und einschränken,
sodass Sie nicht alle Elemente abrufen, sondern beispielsweise nur die ersten 20 Elemente
anzeigen möchten, wenn Sie ihn in
00:01:44 eine Dropdown-Box laden möchten. Wenn das Element, das Sie auswählen möchten, noch
nicht in dieser Liste enthalten ist, können Sie
00:01:52 angeben, dass Sie mehr laden möchten usw. Oder Sie können Paging realisieren, z.B. mit
dem Seitenbuch-Widget, und dann nur die Elemente laden,
00:02:03 die Sie tatsächlich anzeigen würden. Das zweite große Thema für die technische Komponente
von Planungsmodellen besteht darin, dass Sie Ihre
00:02:13 Elemente innerhalb des Modells ändern können. In einer öffentlichen oder privaten Dimension
können Sie also tatsächlich neue Elemente erstellen, die
00:02:23 Elemente aktualisieren und auch löschen. Beim Anlegen einer Aktualisierung können Sie auch
die Werte für Ihre Eigenschaften sowie die Zuordnung zu
00:02:36 den Hierarchien angeben. Wie bereits erwähnt, können Sie die Methode .getMember() für
dieses Planungsmodellobjekt
00:02:45 verwenden, um ein bestimmtes Element zusammen mit seinen Eigenschaftswerten, der
Hierarchie und den Lese-/Schreibinformationen abzurufen.
00:02:56 Wenn Sie eine Liste von Elementen abrufen möchten, können Sie die Methode .getMembers()
aufrufen. Dort geben Sie auch die Dimensions-ID an. Sie können die Hierarchie-ID, die
Grenze und die Anzahl der
00:03:12 abzurufenden Elemente angeben. Dann natürlich auch das Offset und, was auch sehr nützlich
ist, können Sie die übergeordnete ID dieses
00:03:22 Elements angeben. In einer übergeordneten/untergeordneten Hierarchie können Sie also
festlegen, dass Sie nur alle Elemente
00:03:30 unter einem bestimmten Knoten abrufen möchten. Um alle Syntaxdetails dieser Methode
anzuzeigen, prüfen Sie auch die SAP-Analytics-Cloud-API-Referenz.
00:03:42 Dort werden alle Optionen ausführlich erläutert, die Ihnen zur Verfügung stehen, wie Sie die
Syntax verwenden. Wenn diese Methode erweitert wird, werden auch die Optionen dort
aufgelistet.

12
00:03:57 In der technischen Komponente Planungsmodelle können Sie dann auch neue Elemente mit
der Methode .createMembers() anlegen.
00:04:06 Sie erfordert die Dimensions-ID und ein Elementobjekt. So rufen Sie dieses Elementobjekt ab.

00:04:14 Entweder definieren Sie es zur Laufzeit in Ihrem Skript und müssen dann einen Cast
umgeben, in dem Sie sagen, dass diese Definition nun vom Typ PlanningModelMember ist.
00:04:26 Wenn Sie dies definiert haben, sehen Sie auf den Folien, wie Sie dies zuerst tun.
Anschließend können Sie die verschiedenen Eigenschaftswerte ändern.
00:04:37 Dies sind also die Eigenschaften für diese Dimension, und Sie können den Wert dafür
definieren. Anschließend führen Sie die Methode .createMembers() aus, in der Sie die
Dimensions-ID definieren und das
00:04:51 Projektelementobjekt übergeben. Die Methode von .createMembers() löst keine automatische
Aktualisierung aus, wie Sie sie
00:05:00 normalerweise aus den anderen Methoden kennen, sondern Sie müssen dies manuell tun,
indem Sie die Aktualisierungsdaten in der Anwendung aufrufen.
00:05:10 Beachten Sie auch hier, dass beim Anlegen dieses neuen Elements zunächst alle
Eigenschaften angegeben werden müssen.
00:05:22 Wenn Sie sie zu einem späteren Zeitpunkt aktualisieren, müssen Sie nicht alle Eigenschaften
angeben. Für die initiale Erstellung ist es jedoch erforderlich, auch wenn sie leer sind.

00:05:34 Neben der Methode .createMembers() können Sie auch Ihre Elemente aktualisieren. Wie hier
müssen Sie auch hier die Dimensions-ID und natürlich das Elementobjekt angeben.
00:05:47 Wenn es sich nicht um eine initiale Erstellung, sondern um eine Aktualisierung handelt,
können Sie einfach zuerst eine .getMember()-Methode verwenden, um das aktuelle Objekt
Ihres Planungsmodellelements
00:05:57 abzurufen und dann die verschiedenen Eigenschaftswerte zu ändern. Hier muss es nicht alle
sein.
00:06:03 Sie können auch einzelne Eigenschaften ändern. Anschließend führen Sie die Methode
.updateMembers() erneut aus.
00:06:11 Und natürlich müssen Sie die manuelle Aktualisierung aufrufen, um sie auch in Ihrer Tabelle
anzuzeigen. Was hier sehr komfortabel ist und in einer Zeile 9 im Screenshot gezeigt wird, ist,
dass Sie auch die
00:06:25 Methode .updateMembers() und den Rückgabewert verwenden können, um dann basierend
auf dem Rückgabewert eine Folgeaktion anzugeben. In diesem Fall, wenn wir das Element
aktualisiert haben, möchten
00:06:39 wir es auch einer Liste hinzufügen. Dies wird nur ausgeführt, wenn die Aktualisierung
erfolgreich war.
00:06:51 Schließlich können wir auch ein Planungsmodellelement löschen, also ein Element in der
Dimension. Selbstverständlich werden sowohl die Dimensions-ID als auch die Element-ID
benötigt.
00:07:07 Und wie in einer Story oder wenn Sie das Planungsmodellelement im Modell löschen
möchten, müssen Sie sicherstellen, dass für dieses Element keine Bewegungsdaten verfügbar
sind.
00:07:25 Andernfalls erhalten Sie eine Fehlermeldung, die besagt, dass Sie ein Element mit
Bewegungsdaten nicht löschen können.
00:07:32 Dies gilt sowohl für öffentliche Versionen und Bewegungsdaten als auch für private Versionen.
Auch hier, da diese Methode asynchron aufgerufen wird, kann es vorkommen, dass die
Verarbeitung einige
00:07:50 Millisekunden dauert. Wenn Sie beispielsweise Hierarchiezuordnungen haben, müssen Sie
Ihre Tabellenaktualisierung tatsächlich manuell auslösen, im Wesentlichen immer mit
JavaScript, wo Sie die

13
00:08:06 Methode .reshData() in der Anwendung aufrufen, um die Änderungen in Ihrer Tabelle zu
sehen. Der zweite Block, den wir in dieser Sitzung neben der Planungsmodellkomponente
abdecken möchten, ist das
00:08:24 Datensperr-API. Wir haben also das Konzept der Datensperre in SAP Analytics Cloud, in dem
Sie im Modell einen bestimmten
00:08:34 Bereich von Dimensionen definieren, in dem Sie Ihre Daten sperren können. Sie können diese
Datensperre in diesem Bereich auch über ein API entweder auf offen oder gesperrt setzen.

00:08:50 Sie können auch den aktuellen Status abrufen. Dann hätten Sie offen, gemischt,
eingeschränkt und gesperrt.
00:08:56 Dies ist spezifisch für Ihre Berechtigungen, und Sie erhalten einen gemischten Status, wenn
Sie in diesem Bereich eine Mischung aus offenen und gesperrten Zuständen haben.
00:09:10 Was Sie übergeben müssen, wenn Sie diese Methode aufrufen möchten, ist, dass Sie auch
eine Selektion angeben und den gewünschten Sperrzustand definieren müssen.
00:09:23 Für das Selektionsobjekt ist es besonders wichtig, dass Sie hier die Auswahl der Tabellenzelle
und nicht den Kontext Ihres Datensperrbereichs berücksichtigen.
00:09:38 Dies kann etwas verwirrend sein, hilft aber tatsächlich, die Konsistenz im gesamten Modell zu
gewährleisten, da Sie dann nur Datensperren ändern können, auf die Sie auch über die
Tabelle zugreifen
00:09:54 können, und nicht nur einen beliebigen Datenbereich in Ihrem Modell mithilfe der API. Um
dieses API verwenden zu können, müssen Sie also die Daten aktivieren, die auf dem Modell
basieren.
00:10:08 Sie müssen auch den Umfang definieren, sodass die treibenden Dimensionen in unserem
Beispiel die Version, das Datum und eine zusätzliche Dimension namens Projekt haben, bei
der wir sagen, dass dies der
00:10:22 Bereich für die Datensperre für uns ist. Und wenn wir nun das API betrachten, müssten Sie,
wie ich bereits erwähnte, das Selektionsobjekt zusammen
00:10:33 mit dem neuen Zustand übergeben, und hier wird es zurückgestellt. Wenn wir also die
Auswahl genauer betrachten, die übergeben werden muss, dann möchten wir die Datensperre
für ein bestimmtes Projekt ändern,
00:10:49 z.B. Project006, dann müssen wir das Selektionsobjekt übergeben, und zwar nicht nur die
Datensperre für ein bestimmtes Projekt, sondern, abhängig von der Kennzahl, die Sie in der
entsprechenden Kennzahl sehen
00:11:06 können, auch wenn Sie die Kennzahl nicht sehen können. Okay: Die API verhält sich so wie
wenn Sie mit der rechten Maustaste auf die Zelle geklickt haben, zur
00:11:17 Verwaltung von Datensperren wechseln und sie dann von dort abrufen. Anschließend können
Sie Ihre Datensperre setzen.
00:11:25 Das unterscheidet sich also etwas, aber wie ich bereits sagte, gewährleistet es die Konsistenz
und berücksichtigt dann z.B. auch Berechtigungen usw., damit Sie dieses API verwenden
können, ohne den
00:11:39 Datensperrbereich zu ändern oder ihn an einer Stelle zu lesen, an der Sie tatsächlich keine
Berechtigung haben oder wo es nicht sinnvoll ist.
00:11:49 Betrachten wir also eine Anwendung, und ich werde Ihnen zeigen, wie die verschiedenen
Methoden verwendet werden.
00:11:59 Zunächst haben wir also eine Anwendung, in der wir Projekte planen können, eine
Projektdimension mit einer ID und einigen Eigenschaften wie Startdatum, Enddatum, Kunde
und Projektdetails.
00:12:17 In den Spalten befinden sich die Kontostruktur sowie die Datumsdimension, die hier alle
zugeklappt ist, und wir können später in Ordnung sehen, wie die Daten in dieser Tabelle
gebucht werden, wenn wir ein neues

14
00:12:34 Projekt anlegen. Zuerst können wir hier auf Neues Projekt klicken, woraufhin ein Dialogfenster
geöffnet wird.
00:12:41 Und Sie sehen sofort, dass wir bereits eine Projekt-ID abgeleitet haben. Um Ihnen zu zeigen,
wie dies geschieht, verwenden wir die Methode .getMembers().
00:12:52 Deshalb zeige ich Ihnen hier im Coding. Wenn Sie auf "Neues Projekt" klicken, legen Sie
zunächst eine Projektmitgliedervariable an und wandeln
00:13:05 sie in Type.PlanningModelMember um. Von hier aus wird direkt ein Skriptobjekt namens
MemberUtils mit der Methode .getProjectID aufgerufen.
00:13:19 Sie finden sie hier in der Gliederung, sie heißt MemberUtils getProjectId. Und hier in der ersten
Zeile sehen wir, dass wir die Variable der Projekt-ID anlegen und das
00:13:34 Planungsmodellelement Business_Service_Planning nennen. Das ist das, was wir hier als
Planungsmodell definiert haben, das eigentlich unser Planungsmodell im Dialog
00:13:46 ist. Daher können Sie es auch hier sehen. Sie heißt Business_Service_Planning.
00:13:53 Wir könnten ihm einen anderen Namen geben, aber aus Gründen der Einfachheit überlassen
wir ihn dem Namen, den wir auch in den Dateien definiert haben.
00:14:02 Aus diesem Business_Service_Planning-Modell werden also alle Elemente des
dimensionierten Projekts gelesen. Wir rufen die Länge des Ergebnis-Arrays ab, übergeben es
an einen String und geben dann je nach
00:14:20 Ergebnis entweder zwei führende Nullen oder nur eine führende Null hinzu und geben die
neue Projekt-ID zurück.
00:14:30 Es handelt sich also um eine Methode, die wir ständig wiederverwenden können. Wenn wir
nun die neue Projektmethode aufrufen, wird diese Projekt-ID abgerufen.
00:14:39 Sie wird der Zeichenfolge Projekt hinzugefügt. Wir lassen die Beschreibung leer, wir legen
fest, dass es Eigenschaften geben wird, und dann definieren wir
00:14:50 auch alle unterschiedlichen Eigenschaftswerte. Also gehen wir zurück zu unserer Anwendung,
und jetzt haben wir die Projekt-ID Project003 abgerufen. Nun
00:15:02 können wir ihr einen Namen geben, der die Beschreibung ist, z.B. sac3, und weitere Details
zum Projekt, wie z. B. openSAP Kurs sac3.
00:15:14 Wir definieren einige weitere Werte oder z.B. auch einen Datumsbereich, den wir für die
Berechnung benötigen. Er ist hier kein Fokus der Sitzung. Tatsächlich im Hintergrund wird
auch der
00:15:32 Arbeitskalender gelesen, und die Tage in diesem Zeitraum werden jetzt zusammen mit dem
Tagessatz berechnet.
00:15:43 Und wir sehen den fakturierbaren Gesamtwert. Und was passiert nun, wenn ich die Drucktaste
"Anlegen" wähle?
00:15:50 Das Mitglied wird aktualisiert, da wir bereits auf der Drucktaste Neues Projekt das Mitglied
technisch im Hintergrund angelegt haben.
00:16:01 Hier sehen wir, dass wir das Element bereits auf der Drucktaste für ein neues Projekt angelegt
haben, sodass es dort vorhanden ist, aber wir haben die Tabelle noch nicht und alles
aktualisiert, sodass wir
00:16:15 jetzt bereits Werte für die Kontodimension eingeben können und die Eigenschaftswerte
anschließend nur noch geändert werden.
00:16:24 Klicken Sie hier auf „Anlegen“. Das neue Mitglied wird jetzt angelegt, und die Werte werden
hier für das Projekt sac3 gefüllt. Die in der Tabelle zu buchenden Werte werden angezeigt.
00:16:39 Und schauen wir uns an, wie dies im Quelltext erfolgt. Für das neue Projekt wurde hier also
ein Dialogfenster oder Formular zum Anlegen des neuen Projekts
00:16:58 aufgerufen. Tatsächlich ist dies hier der Fall, und beim onButtonClick()-Ereignis wird beim
Anlegen des neuen
00:17:06 Projekts hier angezeigt, dass alle Eigenschaftswerte aktualisiert werden und dann nur das
Mitglied im Modell aktualisiert wird.

15
00:17:16 Wir führen einige Berechnungen durch, schreiben sie zurück usw. Wir senden eine
Anwendungsnachricht, in der wir sagen, dass das Projekt erfolgreich angelegt wurde usw.
00:17:27 Abschließend schließen Sie das Dialogfenster. Hier zeigen wir nun die Methode, die für das
Anlegen neuer Elemente und auch für die Aktualisierung
00:17:41 verwendet werden soll. Natürlich können wir hier auch Projekte löschen.
00:17:47 Es ist wichtig, dass zuerst auch alle Bewegungsdaten gelöscht werden, bevor das Löschen
aufgerufen werden kann.
00:17:56 Und in diesem Fall wird ein Popup implementiert, das bereits in Ordnung ist, welches dieser
Projekte über keine Bewegungsdaten verfügt?
00:18:08 So kann ich hier z.B. Projekt drei auswählen, und jetzt sind keine Bewegungsdaten
vorhanden. Sie sehen, dass die Daten jetzt auch im Planungsmodell gelöscht wurden.
00:18:23 Schauen wir uns dazu den Quelltext an. Das ist auch einfach.
00:18:31 Wenn Sie also für den Arbeitsbereich "Projekt löschen" wählen, wird abgeleitet, in Ordnung
sein, welche Projekte über Bewegungsdaten verfügen usw. Wenn dies der Fall ist, wird
schließlich das Dialogfenster zum
00:18:49 Löschen des Projekts geöffnet, das eigentlich hier angezeigt wird. Wir haben die Liste der
Projekte, die zur Laufzeit ausgewählt werden sollen, ausgefüllt. Wenn Sie sie
00:19:02 anschließend ausführen, stellen Sie fest, dass hier wieder die Methode .deleteMembers() für
die Projektdimension aufgerufen wird.
00:19:11 Und wir löschen alle Projekte, die wir in der Liste ausgewählt haben. Daher können Sie auch
nicht nur ein Element, sondern mehrere Elemente auswählen.
00:19:23 Abschließend möchten wir Ihnen zeigen, wie Sie Daten-APIs sperren und entsperren. Daher
haben wir hier eine Drucktaste in dieser kleinen Anwendung implementiert, über die Sie
einfach darauf
00:19:39 klicken können. Dann wird die Datensperre für das entsprechende Projekt hier gesetzt. Sie
können die Datensperre auch erzwingen, damit sie hier in der Tabelle angezeigt wird.
00:19:52 Wenn ich erneut hier klicke, werden die Daten ebenfalls entsperrt. Ich kann dies mit
administrativen Rechten tun, die ich auch zum Vergleich entsperren kann.
00:20:06 Hier geschieht nun genauso wie beim Kontextmenü, indem Sie auf Datensperren verwalten
klicken. Dann wurde der Kontext abgeleitet, in diesem Fall für das Projekt Servicing Machine,
und ich kann ihn auf
00:20:27 gesperrt setzen. Wenn Sie das Bild schließen, stellen Sie fest, dass dieser Hinweis gesperrt
wurde.
00:20:33 Dasselbe kann ich hier über das API abrufen. Daher brauche ich das Dialogfenster hier nicht,
um den neuen Status manuell auszuwählen. Aber ich kann während der Anwendung ableiten,
worin der Workflow besteht?
00:20:49 Wir können uns also auch ansehen, wie dies umgesetzt wird. Hier steht also die Drucktaste
zum Sperren und Entsperren von Daten zur Verfügung.
00:20:59 Sehen wir uns das Skript an. Und hier wird zunächst die Auswahl der Tabelle geprüft. Daher
haben wir sie hier und dann prüfen wir,
00:21:11 ob wir auch einen Wert für Projekt und Datum haben. Wenn dies der Fall ist, prüfen wir den
aktuellen Zustand.
00:21:18 Daher wird der aktuelle Status abgerufen, wenn er gesperrt, gemischt oder eingeschränkt ist.
Wenn dies der Fall ist, setzen wir den Status auf Datensperrstatus offen.
00:21:30 Wenn eine dieser Anforderungen nicht erfüllt oder offen ist, wird der Datensperrstatus auf
"Gesperrt" gesetzt.
00:21:43 Wenn bei der Selektion ein Fehler auftritt oder das Projekt oder Datum in jedem Fall fehlt, wird
lediglich eine Warnmeldung angezeigt, die besagt, dass zuerst die Datenzelle ausgewählt
werden muss, damit die Logik
00:22:00 weiß, aus welchem Datensperrbereich der Status geändert werden soll. Dies ist für den Kurs
für Woche fünf der Fall, Kapitel 3 für erweiterte Planungs-APIs.

16
00:22:16 Vielen Dank für Ihre Aufmerksamkeit und sehen Sie sich nächste Woche an. Auf
Wiedersehen.

17
Week 5 Unit 4

00:00:05 Hallo und herzlich willkommen zum openSAP-Kurs zur Planung von SAP Analytics Cloud. Bei
dieser Sitzung handelt es sich um eine Demositzung für drei Analyseanwendungen, eine für
die Belegschaft,
00:00:19 die zweite für das Projekt und die dritte für die Aktivitätsplanung. Die Anwendung für die
Personaleinsatzplanung soll demonstrieren, wie Sie die Basisplanungs-APIs
00:00:30 verwenden, z.B. im Tabellen-Widget aktiviert setzen oder Benutzereingaben in verschiedenen
Formularen festlegen.
00:00:38 Dort werden wir in einer Minute ins Detail gehen. Der zweite Abschnitt behandelt die
Projektplanung, insbesondere die Verwendung der erweiterten
00:00:49 Planungs-APIs wie das Anlegen, Aktualisieren und Löschen neuer Elemente in der Dimension.
Außerdem wird gezeigt, wie die Datensperrfunktion für bestimmte Projektmitglieder verwendet
wird.
00:01:05 Das dritte bei der Aktivitätsplanung ist ein weiteres Beispiel dafür, wie Sie den
Analysedesigner nutzen können, um Anwendungen zu erstellen, die Ihre Benutzer durch einen
Planungsprozess führen, bei dem wir
00:01:19 integrierte Validierungen haben, bei denen wir eine integrierte Kurzanimation haben. Im
Hintergrund wird die Tabelle auf der Grundlage Ihrer Eingaben, die Sie im Filterbild
eingegeben haben, ordnungsgemäß
00:01:32 gefiltert. In dieser Anwendung für die Personaleinsatzplanung möchte ich Ihnen zeigen, wie
wir einige der
00:01:40 grundlegenden Planungs-APIs verwendet haben, z.B. die Einstellung einer Tabelle für die
Planung aktiviert, wahr oder falsch sowie die festgelegte Benutzereingabe.
00:01:53 Hier sehen Sie z.B., dass die Tabelle derzeit nicht planungsfähig ist. Um hier in den
planungsfähigen Modus zu wechseln, können Sie hier auf das Bleistiftsymbol klicken.
00:02:06 In diesem Fall wird nun ein Dialogfenster mit einer Warnung angezeigt, die besagt, dass Sie
eine bestimmte Jobfamilie auswählen müssen.
00:02:15 Daher haben wir hier bereits eine Validierung eingebaut, die uns auffordert, hier nur eine der
einzelnen Jobfamilien auszuwählen. Daher kann ich das hier in der Auswahlknopfgruppe tun.

00:02:31 Wenn ich nun erneut auf diesen Bleistift klicke, sehen Sie, wie die Tabelle nun in den
planungsfähigen Modus wechselt.
00:02:42 Außerdem wird sich die Formatierung ändern. Auch hier wurde das Symbol vom Bleistift in
dieses Augensymbol geändert. Wenn ich erneut hier klicke, wird die Plantafel wieder
deaktiviert.
00:03:01 Das ist also das erste API, das zweite, wenn wir in Ordnung sagen, wir geben hier nicht
unsere Planwerte direkt in die Tabelle ein, sondern verwenden z.B. ein Eingabeformular.
00:03:13 In diesem Fall können Sie das Dialogfenster Einstellungen planen öffnen. Außerdem sehen
Sie hier im Hintergrund, dass die Tabelle wieder planungsfähig ist, sodass wir in Kürze
00:03:25 den Befehl zum Setzen der Benutzereingabe und zum erneuten Senden ausführen können.
Daher plane ich hier einfach einen beliebigen Wert, vielleicht im Oktober, für einen neuen
Start. Wenn ich
00:03:41 jetzt hier auf OK klicke, lösen wir im Hintergrund das API für die festgelegte Benutzereingabe
sowie das Abgabe-API aus.
00:03:51 Auch hier sehen Sie, dass die Tabelle nicht mehr planungsfähig ist. Daher wird auch hier das
API dafür ausgelöst, sodass wir das Formular nur verwenden, um hier Daten
00:04:05 einzugeben, aber nicht manuell. Lassen Sie mich also zeigen, wie dies zur Design-Zeit
geschieht.
00:04:18 Hier befinden wir uns also in der Design-Zeit der Anwendung, und hier kann ich, wenn ich es
auswähle, das ausgeführte Skript überprüfen.

18
00:04:30 Zunächst stellen Sie fest, dass diese Warnmeldung ausgegeben wird, wenn keine Jobfamilie
ausgewählt ist oder die Jobfamilie mit dem Schlüssel JF_TOTAL und der Jobfamiliensumme.
00:04:44 Andernfalls wird die Tabelle auf "Planungsfähig" gesetzt. Außerdem sehen wir hier in diesen
beiden Zeilen, wie wir nun das View-Symbol anzeigen und das
00:04:59 Bearbeitungssymbol ausblenden, also dieses Bleistiftsymbol. Dies ist im Grunde die
Möglichkeit, hier den Planungsmodus für die Tabelle zu wechseln.
00:05:12 Wir können uns jetzt auch ansehen, was der Quelltext für das für das andere Symbol ist, damit
wir dies auch zur Laufzeit überprüfen können.
00:05:22 Angenommen, wir haben das Bearbeitungssymbol ausgeblendet und das Sichtsymbol
angezeigt. Dann sieht es wie folgt aus, und Sie können hier auch das JavaScript überprüfen.
00:05:34 Das ist also auch ganz einfach. Die Tabelle wird in den planungsfähigen Modus "false"
umgeschaltet.
00:05:43 Auch hier ist ein Symbol ausgeblendet, das andere wird nun angezeigt. Der zweite Teil, den
ich angezeigt habe, befindet sich nun im Dialogfenster für die Planeinstellungen.
00:06:02 Wenn wir also hier auf diese Drucktaste klicken, wird erneut geprüft, ob eine einzelne
Jobfamilie ausgewählt wurde.
00:06:13 Dann öffnen wir auch das Dialogfenster mit den neuen Einstellungen. Außerdem können Sie
hier sehen, wie Sie wieder in den Planungsmodus der Tabelle wechseln.
00:06:26 Damit die festgelegte Benutzereingabe anschließend tatsächlich ausgeführt werden kann,
sobald Sie sich in diesem Dialogfenster befinden, wird das Dialogfenster hier nach unten
angezeigt.
00:06:35 Es sieht also so aus. Und beim Ereignis onButtonClick für das Popup können wir sehen, was
hier passiert.
00:06:48 Wir lesen also wie die verschiedenen Werte im Formular und so weiter. Außerdem haben wir
hier unser Selektionsobjekt mit den verschiedenen Dimensionen der Tabelle, also die
00:07:00 Kontodimension mit dem Konto für den Personalbestand. Wir haben die Bewegungsdimension
für die Einstellungen und eine Zeitdimension.
00:07:14 Dann lesen wir die Option, wenn es sich um einen absoluten Wert handelt oder wenn Sie
zuerst die Daten in der bereits geplanten Zelle lesen müssen. Anschließend können wir
setUserInput platzieren.
00:07:30 Angenommen, wir behalten die Überschreiboption als absoluten Wert bei. Dann führen wir die
setUserInput direkt für die spezifische Auswahl für monthHire zusammen mit der
00:07:44 Anzahl der Mitarbeiter aus. Die Anzahl der Mitarbeiter ergibt sich aus diesem Schieberegler
aus dem Schieberegler-Widget.
00:07:54 Wie Sie wissen, müssen Sie anschließend .submitData() aufrufen, damit Sie die Auswirkungen
in der Tabelle sehen.
00:08:05 Anschließend wird die Tabelle abhängig vom vorherigen Status wieder in den Modus
"Planungsfähig", "Wahr" oder "Falsch" gesetzt.
00:08:14 Und schließlich schließen wir dieses Dialogfenster. In dieser Anwendung haben Sie also
gesehen, wie wir die beiden grundlegenden Planungs-APIs für die
00:08:28 Planungsaktivierung und die festgelegte Benutzereingabe verwenden können. Eine weitere,
die wir hier implementiert haben, ist, dass Sie die Daten auch zurücksetzen und
00:08:38 veröffentlichen können. Dies ist hier fest so programmiert, dass wir eine bestimmte öffentliche
Version verwenden.
00:08:49 Dieser wird also hier abgerufen. Und dann haben wir auch diese Art von Overlay-Panel.
00:08:55 Ich werde Ihnen in der Demo in einer Minute zeigen, wie das aussieht. Wie hier: Wir werden
dann zeigen und fragen, ob Sie tatsächlich eine bestimmte Datenaktion ausgeführt oder

00:09:09 ausgeführt haben. Wenn Sie ja, ist das in Ordnung. Hier gibt es also wieder eine Workflow-
Validierung für den Endbenutzer.

19
00:09:19 Schließlich stoßen wir eine Veröffentlichung der Daten für die öffentliche Version
Wachstumsstrategie an. Lassen Sie mich Ihnen also noch einmal zeigen, wie das im System
aussieht.
00:09:38 Angenommen, wir haben die Planung hier durchgeführt, wir führen auch die Datenaktion aus,
die wir jetzt als aktualisierte Zahlen bis Dezember 2020 anzeigen.
00:10:01 Und ich klicke hier auf Veröffentlichen und sage, ja, ich habe die Datenaktion ausgeführt,
daher möchte ich die Daten veröffentlichen.
00:10:10 Außerdem sehen Sie, wie das API nun die Veröffentlichung ausgeführt hat. Okay, die zweite
Demo-Anwendung hier haben wir kurz für die erweiterten Planungs-APIs gesehen. Hier
können
00:10:30 wir Stammdaten in unserem Datenmodell anlegen. In diesem Beispiel legen wir neue Projekte
an, daher kann ich hier erneut ein Dialogfenster zum Anlegen
00:10:41 eines neuen Projekts anzeigen. Die Projektnummer wird automatisch abgeleitet.
00:10:46 Ich kann hier einen Projektnamen wie für openSAP und einige weitere Details zum Projekt
eingeben. Wählen wir hier einige Eigenschaften aus, z. B. ein Start- und Enddatum, die wir
jetzt in einem
00:11:06 Arbeitskalender lesen, also in einem separaten Modell. Wie viele Tage liegen eigentlich in
diesem Zeitraum?
00:11:18 Wir planen hier einen Tagessatz, und dann sehen wir bereits den Vorschauwert des gesamten
fakturierbaren Betrags.
00:11:26 Nun geschieht dies im Hintergrund über die Drucktaste zum Anlegen. Daher wurde nun das
API zum Anlegen von Elementen sowie das API zum Aktualisieren von Elementen ausgeführt.

00:11:42 Das Projekt wird nun angelegt. Wir sehen auch, dass wir hier bereits über die
Transaktionsdaten verfügen.
00:11:48 Daher wurde auch das API zum Festlegen der Benutzereingabe sowie das API zum Absenden
ausgeführt. Natürlich können wir auch das Projekt löschen, wodurch das API zum Löschen
von Mitgliedern in unserem Modell
00:12:06 ausgelöst wird. Wenn ich hier klicke, sehen Sie, dass die Liste der Projekte, die Sie löschen
möchten, leer ist.
00:12:15 Aus diesem Grund wird in diesem Beispiel implementiert, dass der Quelltext prüft, ob
Bewegungsdaten für das spezifische Projekt geschrieben wurden.
00:12:29 Wenn ich also die Bewegungsdaten herausnehme, weil Sie technisch nur Elemente ohne
Bewegungsdaten im multidimensionalen Modell löschen können.
00:12:42 Wenn Sie nun erneut "Projekt löschen" wählen, sehen Sie, dass das Projekt 003 tatsächlich
gelöscht werden kann.
00:12:51 Lassen Sie uns dies also ausführen, und Sie werden sehen, dass es verschwunden ist. Die
zweiten erweiterten Planungs-APIs dienen der Datensperre.
00:13:07 Wie Sie bereits gesehen haben, können wir das Datensperrkonzept selbst aus der Tabelle
heraus anstoßen.
00:13:19 Lassen Sie mich hier mit diesem Benutzer die Datensperren erzwingen. Sie sehen, dass die
Daten für Projekt 1 und Projekt 2 jetzt tatsächlich gesperrt sind. Daher können wir sie nicht
ändern.
00:13:32 Um die Sperre dieser Elemente tatsächlich zu ändern, gehen Sie in die Tabelle und wählen
Datensperren verwalten aus.
00:13:45 Dies ist die manuelle Vorgehensweise. Nun haben wir aus dem Kontext das Projekt für die
Wartungsmaschine ausgewählt, und Sie sehen, dass der
00:13:55 Sperrstatus gesperrt ist. Wir können dies hier auch auf offen schalten.
00:14:04 Und wir schließen sie, und die Tabelle wird aktualisiert, und Sie stellen fest, dass nun der
Datenstatus für das Projekt entsperrt und somit geöffnet ist.

20
00:14:16 Mit dieser Drucktaste oben können wir auch die gleiche Aktion auslösen, die wir jetzt vom
Kontext der Tabelle über das API ausgeführt haben, und das Scripting liest hier aus der
ausgewählten Zeile, für welches Projekt
00:14:32 die Datensperre geändert werden soll. Abhängig von der aktuellen Sperre wird sie einfach
zurückgesetzt.
00:14:40 Wenn also der aktuelle Sperrstatus offen ist und Sie diese Drucktaste wählen, wird der
Sperrstatus für dieses Projekt in "Gesperrt" geändert.
00:14:52 Wenn wir die Zeile für das Projekt bis hier mit dem aktuellen Sperrstatus "Gesperrt"
auswählen, wechselt sie zu "Offen".
00:15:01 Das sieht also so aus, jetzt ist der Zustand offen. Wenn Sie ihn einmal wählen, stellen Sie nun
fest, dass der Sperrstatus für das Projekt nun auf "Sperre"
00:15:12 gesetzt wurde. Dasselbe funktioniert auch hier für Projekt zwei, wo wir mit dem Sperrstatus
"Gesperrt" begonnen haben.
00:15:21 Nach der Ausführung von JavaScript mit der Datensperr-API ist es nun geöffnet. Sehen wir
uns an, wie dies in der Anwendung implementiert ist.
00:15:35 Deshalb beginnen wir hier zunächst mit dem neuen Projekt. Und wir sehen im onClick-
Ereignis, wie wir das Projektmitglied anlegen, wie wir alle
00:15:48 unterschiedlichen Eigenschaftswerte zuordnen, wie wir das Mitglied anlegen usw. sowie im
Dialogfenster für das Anlegeprojekt.
00:16:00 Anschließend haben wir alle Details und den ausgewählten Kunden definiert und den
Datumsbereich und alles festgelegt. Dort berechnen wir die Summe der abrechenbaren
Beträge und die verschiedenen Konten.
00:16:18 Dann aktualisieren wir hier das Element und schreiben dann mithilfe von .setUserInput() in die
neu angelegte Elementkombination.
00:16:31 Schließlich übermitteln wir auch die Daten, und so nutzen wir im Wesentlichen das Planungs-
API für die Stammdatenpflege.
00:16:45 Im Löschprojekt ist es irgendwie ähnlich. Hier wurde also zuerst diese Prüfung durchgeführt,
um nur Projekte anzuzeigen, für die keine Stammdaten
00:16:57 vorhanden sind. Dies geschieht zuerst.
00:17:03 Dann öffnen Sie das Dialogfenster, in dem Sie die Projekte auswählen können, die Sie
löschen möchten. Das sieht hier so aus.
00:17:11 Daher wird diese Liste zur Laufzeit angelegt. Wenn Sie die Löschung bestätigen, stellen Sie
fest, dass hier die Methode .deleteMembers() mit allen
00:17:27 Projekten aufgerufen wird, die Sie im Widget für den Umfang des Ankreuzfelds ausgewählt
haben. Schauen Sie sich nun in dieser Anwendung die Drucktaste Daten sperren und
entsperren an, und
00:17:45 schauen wir uns an, wie das Javascripting hier implementiert ist. Daher wird zunächst die
aktuelle Zelle der Selektion in der Selektionsvariable gespeichert.
00:17:58 Die .getSelections-Methode gibt also ein Array mit allen ausgewählten Zellen in der Tabelle
zurück. Hier sehen wir uns die Position Null an, also die erste Zelle.
00:18:11 Dann prüfen wir auch, ob die Informationen zu Projekt und Datum vorliegen. Wenn einer der
aktuellen Sperrstatus mit dem Rückgabewert von gesperrt, gemischt oder eingeschränkt
00:18:27 übereinstimmt, also die If-Einschränkung hier ist, wenn eine davon wahr ist, wird der Status für
die Datensperre tatsächlich auf den Sperrstatus offen gesetzt.
00:18:46 In allen anderen Fällen setzen wir ihn auf gesperrt. Okay, das ist es für die zweite Anwendung.

00:18:59 Für die Demo der integrierten Leistungsplanung steht Ihnen nun eine dritte Anwendung zur
Verfügung, die Ihnen zeigen soll, wie Sie Ihre Tabelle mit Hilfe eines Formulars filtern können.

00:19:16 Und hier haben wir auch die Validierung eingebaut, die Sie dem Endbenutzer anleiten, und Sie
müssen alle diese Felder ausfüllen.

21
00:19:26 Wenn ich also nun direkt auf "Eingabesheet anzeigen" klicke, sehen Sie, dass das System Sie
darüber informiert, dass Sie alle Felder ausfüllen müssen, um fortzufahren, damit die Tabelle
im Hintergrund
00:19:38 ordnungsgemäß gefiltert werden kann und Sie später Werte für diese Kombination speichern
können. Das können wir also schnell tun.
00:19:45 Außerdem geben wir hier nur einen Zweck dieser Aktivität ein und wie sie gemessen werden
kann, wie sie gemessen wird usw.
00:19:57 Wir haben auch solche Validierungen, bei denen ich sagen kann, dass es sich um eine
taktische oder strategische Aktivität handelt.
00:20:06 Für die taktische ist es so gut. Wenn Sie das strategische Thema auswählen, wird ein weiteres
Textfeld geöffnet, in dem Sie einen Text und
00:20:21 eine Beschreibung eingeben müssen, also das strategische Thema. Natürlich gibt es in
diesem Fall keine Risiken und keine Kosten.
00:20:35 Wir haben einen Start- und Endtermin für die Aktivität. Wir können einen Meilenstein dafür
definieren.
00:20:42 Wir können auch einen zweiten definieren oder ihn einfach auf eins belassen, damit wir
wirklich die gesamte Anwendungslogik und den Workflow implementieren können, damit der
Endbenutzer ihn durch
00:20:56 dieses Formular führt. Wir wählen einige Eingabetreiber aus.
00:21:02 Und im Hintergrund haben Sie gerade gesehen, wo wir diese Warteleiste haben, dass die
Tabelle im Hintergrund nach all unseren Selektionen hier gefiltert wurde.
00:21:15 Wenn Sie nun klicken, um das Leistungserfassungsblatt anzuzeigen, sehen Sie, wie das
Formular verschwindet. Und eigentlich können wir hier mit der Planung beginnen, wie Sie
wissen, bei der es sich um eine sehr
00:21:30 normale Dateneingabe in der Tabelle handelt. Und wir können mit ihm interagieren, wie Sie es
kennen.
00:21:36 Und die Filter, wenn Sie sie wieder sehen möchten, können Sie auch hier noch einmal prüfen,
okay, was habe ich ausgewählt, was habe ich hier eingegeben?
00:21:45 Außerdem können wir zwischen dem Erfassungsblatt und dem Filter hin- und herwechseln.
Wir können hier auch den Filter ändern, um beispielsweise hier die anderen Kosten zu planen
und
00:22:00 wirklich in der Anwendung zu navigieren, bis wir mit unserem Planungsergebnis zufrieden
sind, um die Daten hier zu sichern oder zurückzusetzen.
00:22:15 Schauen wir uns an, wie dies implementiert ist. Dies kann bei der Validierung für das Blatt
"Eingabe anzeigen" der Fall sein.
00:22:23 Wir gehen also in das Skript. Hier sehen Sie, dass zuerst die Voraussetzungen geprüft
werden, die sich nun in einem separaten
00:22:35 Skriptobjekt befinden, checkVoraussetzungen. Wir können hier sehen, was hier passiert.
00:22:42 Hier sehen Sie, wie alle unterschiedlichen Bedingungen für alle Widgets und Textfelder
implementiert sind, in denen dies obligatorisch ist, bevor Sie die Tabelle für die Planung sehen
können.
00:23:01 Vielen Dank für Ihre Aufmerksamkeit.

22
Week 5 Unit 5

00:00:05 Willkommen zu Kapitel 5. Dieses Kapitel befasst sich mit dem neuen Tool SAP-Analytics-
Cloud-Add-In für Microsoft Office.
00:00:14 Diese neue Lösung basiert auf Microsoft Excel 365. Wir alle wissen, dass Excel nach wie vor
eine Schlüsselrolle bei unserer täglichen Arbeit spielt.
00:00:24 Unsere Idee ist es also, unseren SAC-Kunden von der Excel-Erfahrung auf der Grundlage von
SAC-Daten zu profitieren.
00:00:34 Sobald Sie ein SAC-Benutzer sind, können Sie also, sobald Sie ein SAC-Abonnement, ein BI-
oder ein Planungsabonnement erhalten, davon profitieren und diesen neuen Spielplatz in
Excel haben.
00:00:49 Sehen wir uns nun die Schlüsselpfeiler dieses neuen Add-ins an. Wie ich bereits sagte, ist sie
seit dem 18. Mai dieses Jahres verfügbar.
00:00:59 Es handelt sich also um ein brandneues Angebot, das vollständig in SAP Analytics Cloud
integriert ist. Was bedeutet das?
00:01:06 Das bedeutet, dass die Workflows in Excel 365 gestartet werden, und ab Excel 365 verbinden
Sie SAP-Analytics-Cloud-Modelle.
00:01:15 Dabei kann es sich um ein Planungs- oder ein BI-Modell handeln. Aber wir unterstützen
derzeit keine Live-Quellen.
00:01:22 Das bedeutet, dass diese Modelle auf der Grundlage der importierten Daten erstellt werden
müssen. Sobald Sie in Echtzeit verbunden sind, können Sie eine Analyse planen und Ihre
Analyse mit
00:01:36 SAP-Analytics-Cloud-Daten durchführen. Zweitens: Unsere Idee mit diesem neuen Tool, das
auf der neuesten Microsoft-Technologie aufbaut, besteht
00:01:47 darin, Ihnen die Möglichkeit zu bieten, überall zu arbeiten. Dieses Produkt arbeitet also mit der
Excel-Desktop-Version, kann aber auch in der
00:01:57 Excel-Online-Version verwendet werden. Sie kann auch in der Mac-Umgebung oder natürlich
auch in der Windows-Umgebung verwendet werden.
00:02:06 Wenn Sie die Excel-Online-Version verwenden, können Sie einen beliebigen Browser außer
Internet Explorer verwenden.
00:02:15 Der letzte Punkt, den ich hier hervorheben möchte, ist die Art und Weise, wie Sie das Produkt
bekommen. Tatsächlich ist dies auch wirklich neu, da dieses Produkt je nach IT-Richtlinie
individuell oder vom
00:02:27 Administrator des Unternehmens installiert werden kann. Dann müssen Sie den Microsoft
Store aufrufen und ihn aus dem Microsoft Store als Anwendung herunterladen.
00:02:40 Sobald die Lösung heruntergeladen wurde, können Sie als Administrator der Gruppe
entscheiden, für welchen Benutzer Sie das Deployment durchführen möchten.
00:02:50 Sobald es implementiert ist, wird es jedem Benutzer in seiner Excel-Arbeitsmappe angezeigt.
In seiner Excel-Arbeitsmappe wird eine neue Registerkarte angezeigt.
00:03:00 Ich denke also, dass dies ein wesentlicher Vorteil für unsere Benutzer und unsere Kunden ist,
da es keine manuellen Aktionen gibt.
00:03:09 Wenn Sie eine neue Version installieren, wird sie automatisch von uns in die Anwendung
deployt. Lassen Sie uns nun über die Position sprechen.
00:03:23 Wie positionieren wir diese neue Lösung in SAP Analytics Cloud? Zunächst einmal ist dies
ziemlich klar, wenn es um einen Planungsprozess geht, an dem viele Benutzer
00:03:38 beteiligt sind. Die Story bleibt der Haupteinstiegspunkt. Wenn Sie einen weiteren geführten
Prozess benötigen, haben wir natürlich noch die Möglichkeit, oder ich
00:03:52 würde empfehlen, SAP Analytics Cloud, Analytics Designer zu verwenden, der alle geführten
Workflows unterstützt.
00:04:00 Natürlich ist mehr Anpassung erforderlich als die Story. Und jetzt haben wir diese neue
Lösung, die Sie oben auf meiner Folie sehen, das SAP-Analytics-Cloud-Add-In

23
00:04:13 für Microsoft Office, das wir für mehr Ad-hoc-Reporting oder -Planung einsetzen. Das heißt,
ein oder mehrere Benutzer benötigen eine bestimmte Analyse oder ein bestimmtes Budget für
die
00:04:28 Dateneingabe. Und er möchte Excel aufrufen, sodass er von der Excel-Erfahrung profitieren
kann, dass er sich mit
00:04:35 diesem neuen Add-In verbinden kann. Und natürlich haben wir in unserem Portfolio noch eine
weitere Frontend-Excel-Lösung, Analysis for Office, die vielleicht die meisten von Ihnen bereits
kennt, weil
00:04:48 es sich um eine ausgereifte Lösung handelt. Es handelt sich um ein On-Premise-Produkt,
daher ist noch eine manuelle Installation erforderlich.
00:04:58 Und es funktioniert nicht online mit Excel, aber dieses Produkt bleibt weiterhin ein wichtiger
Bestandteil unseres Portfolios, wenn es um BW, HANA, S/4HANA, einige herkömmlichere
Quellen geht oder wenn
00:05:11 Sie eine Verbindung zu SAP Analytics Cloud herstellen, da Sie sich auch mehr für BI- oder
Reporting-Szenarien mit SAP Analytics Cloud verbinden können.
00:05:21 Mit dem neuen Tool SAC für Microsoft Office wollen wir wirklich eine leistungsfähige Excel-
Planungslösung entwickeln.
00:05:32 Wir unterstützen also bereits die Planung, aber in Zukunft möchten wir in diesem neuen Add-
On für Office 365 immer mehr in Planungsszenarien investieren.
00:05:46 Sehen wir uns nun die Funktionen an. Was können Sie mit diesem neuen Add-In bereits tun?

00:05:51 Mit der Hauptbuchversion können Sie also bereits planen. Was bedeutet das?
00:05:57 Sobald Sie mit einem Planungsmodell verbunden sind, können Sie natürlich Daten abrufen,
aber natürlich auch Daten einfügen.
00:06:08 Im Prinzip rufen Sie alle Dimensionen aus Ihrem Planungsmodell ab. Eine wichtige Dimension,
die ich hier hervorheben möchte, ist die Fassung.
00:06:19 Was bedeutet das? Bei der Version kann es sich um das Budget handeln, z.B. die Prognose
oder das Istbudget.
00:06:26 Sie hängen also Daten an eine bestimmte Version an und möchten möglicherweise Daten für
Ihr Budget für Ihre Planung für Ihre Prognose zurückschreiben.
00:06:37 Daher rufen Sie in Excel alle Versionen ab, die in SAP Analytics Cloud angelegt wurden, und
Sie können Daten in Echtzeit in SAP Analytics Cloud zurückschreiben.
00:06:49 Natürlich werden Sie in der Arbeitsmappe im Add-In ein neues Menü für die Planung abrufen.
Sie verfügen also über ein bestimmtes Menü, eine bestimmte Drucktaste, mit der Sie Daten

00:07:04 veröffentlichen oder Daten zurückschreiben können, wenn Sie mit Ihren Daten nicht zufrieden
sind. Natürlich können Sie mit diesem Produkt mit diesem neuen Add-In Ihre eigene
Exploration und auch Ihre
00:07:19 eigene Analyse durchführen. Sobald Sie also Ihre Excel-Arbeitsmappe öffnen, erhalten Sie
eine neue Registerkarte mit dem Namen SAP
00:07:28 Analytics Cloud, auf der Sie ein bestimmtes Menüband mit dem gesamten spezifischen Menü
abrufen können, mit dem Sie Ihren eigenen Bericht erstellen können. So können Sie
entscheiden, was Sie in einer Zeile, in der
00:07:42 Spalte sehen möchten, ob Sie ein bestimmtes Modell sehen möchten, und Sie können die
Spezifität dieses Modells abrufen.
00:07:50 So können Sie die in diesem Modell angelegten Hierarchien anzeigen und einen Drilldown in
diese Hierarchien durchführen.
00:07:57 Sie können auch alle Elemente einer beliebigen Dimension abrufen, die Teil dieses Modells
sind. Ich möchte Sie nochmals bitten, daran zu erinnern, dass wir derzeit keine Live-
Verbindungen unterstützen.

24
00:08:09 Daher müssen die Modelle zusätzlich zu den importierten Daten erstellt werden, damit sie in
Excel 365 angezeigt werden können.
00:08:18 Sobald Sie Ihren Bericht erstellt haben, können Sie Dimensionen per Drag&Drop verschieben.
Außerdem können Sie bei Bedarf die Summen anzeigen, und Sie können Ihre Analyse
durchführen.
00:08:30 Natürlich können Sie auch von den Excel-Funktionen profitieren, d.h. Sie können Ihre eigenen
KPIs in Excel anlegen und diese KPIs direkt mit Ihren SAC-Daten verknüpfen.
00:08:45 Und natürlich möchte ich noch einmal den Hauptvorteil der Installation oder des Deployments
hervorheben. Ich denke, dass dies die richtige Welt ist, die das Produkt zu verwenden hat.
00:08:59 Wie ich bereits sagte, müssen Sie den Microsoft Store aufrufen, um das Produkt zu
implementieren. Sie kann von einer Einzelperson oder von einem Administrator des
Unternehmens durchgeführt werden.
00:09:10 Und ich denke, dass der wichtigste Vorteil hier darin besteht, dass Sie, sobald Sie das Produkt
implementiert haben, jede Entwicklung, jede neue Funktion und alle Bugfixes, die wir zur
Verfügung
00:09:22 stellen, ohne manuelle Schritte direkt an Sie gehen. Unser Plan besteht also darin, alle vier
Wochen neue Funktionen bereitzustellen. Das bedeutet, dass diese
00:09:33 direkt über die Anwendung an Sie gesendet werden. Ein weiterer wichtiger Punkt ist natürlich,
dass wir zusätzlich zu Microsoft 365 arbeiten. Daher
00:09:44 profitieren Sie von allen Funktionen von Microsoft Wenn Sie beispielsweise mit anderen
Kollegen zusammenarbeiten möchten, können Sie diese
00:09:54 Arbeitsmappe direkt mit einer Arbeitsmappe teilen. Wenn Sie die Arbeitsmappe auf einem
Laufwerk oder auf SharePoint speichern möchten, ist dies auch Teil der
00:10:06 Excel-365-Funktionen. Ich denke also, dass wir ein gutes Werkzeug haben, und jetzt möchte
ich Ihnen dieses großartige Werkzeug
00:10:16 demonstrieren. Sehen wir uns nun die Demonstration des Produkts an.
00:10:22 Der Workflow startet also in Excel. Hier in meiner Demo verwende ich Excel online.
00:10:28 Ich bin also bereits online in Excel, und ich kann alle Arbeitsmappen, die ich mit meiner Excel-
Datei und mit meinem SAC-Add-In erstellt habe, aus Microsoft Office abrufen.
00:10:40 Daher wähle ich hier eine Arbeitsmappe aus, und ich werde mit meiner Demonstration
beginnen, die mit SAP Analytics Cloud verbunden ist.
00:10:49 Ein Vollbildmodus wird angezeigt. Hier sehen Sie direkt, dass es sich um eine Excel-Online-
Arbeitsmappe mit verschiedenen Registerkarten handelt. Es handelt sich also um eine
normale Excel-Arbeitsmappe.
00:11:05 Hier habe ich jedoch eine neue Registerkarte namens SAP Analytics Cloud. Dies liegt daran,
dass mein Administrator dieses Add-In intern deployt hat. Als Benutzer kann ich es in
00:11:18 meiner Arbeitsmappe abrufen. Dieses Ribbon sehen Sie hier.
00:11:24 Von diesem Menüband aus kann ich mich natürlich bei SAP Analytics Cloud anmelden. Ich
kann eine Tabelle hinzufügen, ich kann Daten aktualisieren.
00:11:32 Hier haben Sie ein spezifisches Planungsmenü zum Veröffentlichen oder Zurücksetzen von
Daten. Und hier habe ich natürlich den Baukasten, und ich werde Ihnen zeigen, wie es
funktioniert.
00:11:44 Beginnen wir also mit der Demonstration. In meinem Beispiel bin ich also bereits hier und bin
an meinem System angemeldet, und das System fordert
00:11:51 mich auf, eine Tabelle hinzuzufügen. Daher kann ich dieses Menü oder dieses Menü
verwenden, es ist genau dasselbe.
00:11:58 Wenn ich also auf Tabelle hinzufügen klicke, werde ich auf das SAP-Analytics-Cloud-Modell
zugreifen. Vergessen Sie nicht, dass wir jetzt eine Verbindung zu Daten herstellen, die mit
SAP Analytics Cloud
00:12:10 importiert wurden. Daher suche ich hier nach einem Modell, LivingCompany_Expanded-, also
verwende ich dieses

25
00:12:21 Modell. Sie stellen fest, dass der Bericht angelegt wird.
00:12:26 Daher rufen Sie hier auf der rechten Seite meines Bildschirms den sogenannten Builder ab,
der mir hilft, meinen eigenen Bericht zu erstellen.
00:12:36 Von hier aus fange ich an, nach meinem Konto zu filtern und ein bestimmtes Konto
auszuwählen. In meinem Beispiel möchte ich also den Cashflow nicht, aber ich möchte eine
andere Kontoart aus dem
00:12:51 Jahresüberschuss verwenden, und ich werde auch ein bestimmtes Konto, das
Betriebsergebnis , verwenden. Daher rufen Sie hier die Hierarchien der Kontodimension ab,
die in SAP Analytics Cloud angelegt
00:13:06 wurde. Daher wähle ich in meinem Beispiel Betriebsergebnis aus.
00:13:14 Natürlich holen Sie die Version zurück. Standardmäßig habe ich hier bereits eine Version
ausgewählt, aber ich möchte eine weitere Version
00:13:21 hinzufügen. Vielleicht kennen Sie das Konzept der Version nicht, aber in der Planung in SAC
müssen wir die Daten an
00:13:30 bestimmte Versionen anhängen. Eine Version kann also eine private oder eine öffentliche
Version sein.
00:13:38 In meinem Beispiel wähle ich zwei Versionen aus, und wir werden anschließend prüfen, ob es
sich um private oder öffentliche Versionen handelt.
00:13:47 Sie können also an den privaten Versionen arbeiten, und es wird niemand sehen, außer Sie.
Sobald Sie sich jedoch entscheiden, die Version zu veröffentlichen, sehen alle Benutzer die
Daten.
00:13:58 Natürlich jeder mit den richtigen Zugriffsrechten auf die spezifischen Daten. Hier sehen Sie,
dass in meinem Bericht nun zwei Versionen angezeigt werden.
00:14:08 Jetzt kann ich hier auf die drei Punkte klicken. Dies hilft mir beim Abrufen der Eigenschaften
dieser Versionen.
00:14:15 Diese Eigenschaften stammen aus dem SAP-Analytics-Cloud-Modell. Und um Ihnen zu
zeigen, welche Art von Immobilie ich habe, wähle ich Typ aus. Dies hilft mir automatisch zu
00:14:27 sehen, ob ich an einer öffentlichen oder privaten Version arbeite. Lassen Sie uns das
entfernen.
00:14:36 Deshalb werde ich hier in meinem Beispiel an öffentlichen Versionen arbeiten. Was ich tun
kann, kann ich natürlich Dimensionen oder Kennzahlen hinzufügen, die aus dem
00:14:47 SAP-Analytics-Cloud-Modell stammen. Daher füge ich hier in meinem Beispiel Regionen
hinzu, und es wird hier automatisch in meinem Bericht
00:15:00 angezeigt. Daher habe ich die Möglichkeit, hier nach den Zeilen zu filtern, aber ich kann auch
einen Filter
00:15:08 hinzufügen, der auf alle Berichte angewendet wird. Daher füge ich hier einen Filter für die
Region hinzu.
00:15:18 Und ich werde mich dafür entscheiden, nur die Vereinigten Staaten und Europa zu sehen. Hier
sehen Sie also auch die Hierarchie, die in SAP Analytics Cloud eingerichtet wurde.
00:15:28 Sie sehen also die Region auf meiner Reihe. Nun möchte ich die Region nicht in meiner Zeile,
sondern in der Spalte sehen, und ich kann die
00:15:37 Dimension automatisch per Drag&Drop in die Spalte verschieben. Sobald ich mit meinem
Bericht zufrieden bin, kann ich hier natürlich in die Hierarchie verzweigen.
00:15:52 Ich kann hier auch auf die drei Punkte klicken. Und ich kann die Eigenschaften der Region
abrufen.
00:16:03 Ich kann auch sehen, welche Hierarchie in SAP Analytics Cloud eingerichtet wurde, oder ich
kann mich für eine flache Präsentation entscheiden.
00:16:11 Hier gibt es also nur eine Hierarchie, die aufgebaut wurde. Daher verwenden wir diesen in
meinem Beispiel.
00:16:20 Und ich kann entlang der Hierarchie navigieren. Daher kann ich hier beispielsweise das
Blattelement von Europa anzeigen.

26
00:16:34 Ich kann hier auch die Summen in meinem Bericht anzeigen. Daher klicke ich hier auf ihn. Um
mehr Transparenz zu erhalten, könnte ich den Bereich Builder ausblenden, damit Sie die
Summen sehen können,
00:16:49 die nun fett angezeigt werden. Ich kann auch mit Excel-Formeln außerhalb des Berichts
spielen, daher werde ich hier ein sehr grundlegendes
00:17:00 Beispiel anführen. Ich möchte also sagen, dass wir für das Betriebsergebnis gehen und einen
wirklich
00:17:10 grundlegenden Vorgang machen. Nun haben wir dieses Ergebnis, das berechnet wird, und
natürlich könnte ich die Version ändern, z.B. hier.
00:17:27 Nehmen wir also an, ich möchte nicht das eigentliche sehen, aber ich würde gerne das Budget
sehen. Daher wechsele ich zu Budget, von Ist zu Budget, und Sie sehen, dass die Formel hier
automatisch neu
00:17:41 berechnet wird, basierend auf dem Budget jetzt und nicht auf den Istdaten. Und wenn ich mit
meinem Bericht zufrieden bin, kann ich natürlich damit beginnen, Daten einzugeben und die
00:17:55 Planung vorzunehmen. Daher werde ich hier z.B. Daten für Deutschland eingeben.
00:18:08 Hier sehen Sie meine Dateneingabe, und Sie sehen auch diese Meldungen auf der rechten
Seite meines Bildschirms. Sie sehen aber auch, dass die Daten geändert wurden, da Sie jetzt
die gelbe Farbe in den
00:18:24 Zellen sehen, aber auch das Sternchen neben der Zielversion sehen, was bedeutet, dass
jemand diese Version bearbeitet.
00:18:33 Wir werden in einer Minute sehen, wie sich dies auch auf SAP Analytics Cloud auswirkt.
Natürlich wurden die Summen auch für Europa und die Zielversion aktualisiert.
00:18:47 Wenn ich also mit Excel 365 arbeite, könnte ich von einer Excel-365-Funktion profitieren und
zu "Datei" und "Teilen", "Mit Personen teilen" wechseln und automatisch jemanden aus
meinem Unternehmen oder
00:19:06 jemanden außerhalb meines Unternehmens auswählen. In meinem Beispiel wähle ich mich
selbst aus.
00:19:15 Daher könnte ich diese Arbeitsmappe direkt senden oder einen Link zu dieser Arbeitsmappe
senden. Wenn wir nun im Planungs-Workflow fortfahren und daher Daten eingegeben haben,
wird meine Version jetzt von
00:19:30 mir geändert. Nun, was ich tun könnte, könnte ich entscheiden, die Daten zurück in SAP
Analytics Cloud zu
00:19:36 veröffentlichen. Sobald ich auf Veröffentlichen klicke, werden die Daten für alle Benutzer
veröffentlicht, die Zugriff
00:19:46 auf diese Zielversion für diesen bestimmten Datentyp haben. Sehen wir uns nun die
Auswirkungen meiner Dateneingabe in SAP Analytics Cloud an. Ich gehe hier zu SAP
00:19:59 Analytics Cloud und habe natürlich eine Story, die auf demselben Modell basiert und offen ist.
Und ich aktualisiere die Daten.
00:20:14 So können Sie automatisch die Auswirkungen meiner Dateneingabe sehen, da Sie hier die
Änderungen abrufen können.
00:20:24 Ich könnte auch in dieser speziellen Version nach weiteren Details suchen und dann zur
Geschichte gehen. Und hier kann ich abrufen, dass ich Daten eingegeben habe.
00:20:37 Dies basiert also auf meiner Dateneingabe in Excel im SAC-Add-In. Und ich könnte natürlich
zum vorherigen Stand meiner Version zurückkehren.
00:20:51 Lassen Sie uns also in der letzten Aktion bleiben, die ich in Excel gemacht habe, und jetzt
könnte ich natürlich meine Daten aus SAC oder aus Excel veröffentlichen.
00:21:04 Also gehen wir zurück zu Excel. Hier in Excel möchte ich die Daten nicht veröffentlichen, aber
ich möchte zu den Daten
00:21:13 zurückkehren, da ich diese Daten nicht veröffentlichen möchte. Daher wähle ich die
Drucktaste "Daten zurücksetzen" und kann nun zu den Daten zurückkehren.

27
00:21:24 Dies hat zur Folge, dass Sie sehen, dass das Sternchen jetzt verschwunden ist, da diese
Version von mir nicht mehr verarbeitet wird.
00:21:37 Das ist also alles für die Demonstration des Produkts. Vielen Dank.

28
Week 5 Unit 6

00:00:06 Hallo, alle und herzlich willkommen. Mein Name ist Chen Nee und ich bin Senior User
Experience Designer mit SAP Analytics Cloud.
00:00:13 Heute zeige ich Ihnen einige Tipps, wie Sie Ihre Benutzer um Ihre Planungsanwendung herum
bringen, ihnen helfen, die Anwendung zu verstehen, und vielleicht sogar ein Lächeln auf ihre
Gesichter im Prozess setzen.
00:00:23 Zunächst möchte ich kurz auf die Herausforderungen eingehen, denen sich die meisten von
uns im Bereich der Benutzererfahrung stellen und eine Planungsanwendung entwickeln. Sie
werden vielen von Ihnen bekannt sein.
00:00:34 Danach werde ich diese Herausforderungen in verschiedene Ebenen unterteilen und Ihnen
zeigen, wie wir die Benutzerfreundlichkeit auf jeder dieser Ebenen verbessern können. Am
Ende, dem Lieblingsbestandteil, zeige ich Ihnen einige Beispiele, wie wir die Freude der
Planung in Ihre Anwendung bringen und Ihre Benutzer begeistern können.
00:00:51 Ich werde mit der ersten Herausforderung beginnen, vor der wir stehen werden, und das ist
die Herausforderung, allen Ihren Benutzern das Gesamtbild zu vermitteln, wie das
Unternehmen plant und welche Rolle sie im gesamten Prozess spielen.
00:01:02 Nun müssen Ihre Benutzer möglicherweise kein Verständnis dafür haben, um Ihre Anwendung
verwenden zu können, sondern ihnen ermöglichen, anhand des Verständnisses auf
Prozessebene zu erkennen, wie alles zusammenkommt und welchen Wert die Arbeit hat, die
sie mit Ihrer Anwendung ausführen.
00:01:18 Was machen sie denn eigentlich mit diesem Werkzeug? Der Planungsprozess ist oft komplex,
und es wird schwierig, durchgängig zu vermitteln. Wie machen Sie ihn für die Teilnehmer
transparent?
00:01:31 Die zweite Herausforderung wird eher darin bestehen, wie auf Anwendungsebene
Hilfestellung gegeben werden kann, wie die Benutzer wissen können, welcher Teil der
Anwendung für sie gedacht ist, und sie alle an die richtigen Orte zu leiten.
00:01:43 Und schließlich besteht die dritte gemeinsame Herausforderung darin, diese Benutzer durch
die Seite selbst zu führen. Dabei wird sichergestellt, dass die Eingaben in der richtigen
Reihenfolge erfolgen, Datenaktionen ausgelöst, Aufgaben eingereicht, Daten veröffentlicht
werden usw.
00:01:57 Im Grunde genommen stehen Sie im Allgemeinen vor den Herausforderungen, auf drei
verschiedenen Ebenen (Prozess, Anwendung und Seite) Hilfestellung zu geben. Um eine gute
Benutzerfreundlichkeit zu bieten, müssen Sie sich Gedanken darüber gemacht haben, wie Ihre
Benutzer erkennen können, wo sie gehören und was sie in allen drei tun
00:02:17 sollten. Wir sollten sie also nacheinander durchgehen und sehen, was wir tun können.
Beginnen wir damit, diesen Gesamtüberblick über den Planungsprozess zu vermitteln – der
00:02:28 häufigste Weg ist es, den gesamten Prozess mit einem Diagramm zu visualisieren. Wir haben
hier ein Beispiel, bei dem der Planungsprozess als Bausteine verschiedener kleinerer
Prozesse visualisiert wird, die als Ganzes den gesamten Prozess selbst
00:02:43 darstellen. So kann beispielsweise jemand aus der Marketingabteilung hier leicht erkennen,
dass er in den Marketingdaten und unter den Personalplanungsdaten die Informationen für
den
00:02:53 operativen Kostenplanungsprozess zusammenstellt. Dies bildet zusammen mit der Vertriebs-
und Umsatzkostenplanung sowie der Finanzplanung die zugrunde liegenden Prozesse und
erfüllt die Ziele des mehrjährigen strategischen
00:03:06 Planungsprozesses. Es ist also leicht, hier zu sehen, zu welchem Teil des Prozesses sie
gehören.
00:03:11 In diesem Beispiel ist das Diagramm auch als Navigation selbst in die Landing-Page integriert.
Er dient also auch dazu, die Benutzer in den richtigen Teil der Anwendung zu bringen.

29
00:03:25 Ich habe hier ein zweites Beispiel, in dem der Prozess als sehr vereinfachtes Flussdiagramm
dargestellt wird, und Sie erhalten eine Vorstellung davon, wie die Daten zusammenfließen. Sie
erhalten einen sehr allgemeinen Überblick über die Geschäftslogik hinter einem Prozess.
00:03:37 Hier sehen Sie, dass ein solches Diagramm einen Planungsprozess sowohl aus
betriebswirtschaftlicher als auch aus technischer Sicht visualisieren könnte. Manchmal könnte
es die Tendenz geben, zu genau zu sein und jedes einzelne Detail so darzustellen, dass es
wirklich korrekt und mit der Realität identisch ist.
00:03:53 Aber letztendlich möchten Sie, dass Ihr Benutzer sich in einem Diagramm anerkennt und ihn
nicht mit Komplexität überfordert. Die goldene Regel besteht hier darin, so viele Details
hinzuzufügen, wie nötig, um zu verstehen, wo der Teil des Benutzers am gesamten Prozess
ist, und nicht zu überholen.
00:04:13 Sehen wir uns nun für den nächsten Teil an, wie Sie auf Anwendungsebene Hilfestellung
geben können – meistens verwenden Sie zu diesem Zweck eine Landing-Page. Sehen wir uns
ein Beispiel zusammen an.
00:04:26 In diesem Beispiel sehen Sie, wie jede Navigationsdrucktaste der Anwendung
Personaleinsatzplanung mit einem kurzen, selbsterklärenden Titel beschriftet ist. Manchmal
sehe ich Anwendungen mit Navigationen, die nur lange Tags für jede der Kategorien
enthalten, wahrscheinlich mit der Absicht, mehr zu erklären und hoffentlich
00:04:43 einem Endbenutzer zu helfen, besser zu verstehen, worum es bei jedem Teil geht. In der
Regel müssen die Benutzer jedoch viel lesen, bevor sie den für ihn relevanten Teil finden.
00:04:54 Kurz zu sein ist wichtig, da es dem Benutzer hilft, die Teile schnell zu scannen. Sie können
immer eine längere Beschreibung darunter verwenden, um die Details anzuzeigen, aber sie
nicht zur einzigen Informationsquelle machen.
00:05:05 Und scheuen Sie sich nicht, große Bilder und große Bilder für Ihre Landing-Pages zu
verwenden. Sie helfen dabei, eine Stimmung für Ihre Anwendung festzulegen.
00:05:12 Denken Sie daran, die Dateigröße Ihres Bildes zu optimieren. Es gibt viele Werkzeuge, die Sie
verwenden können, um die Dateigröße zu reduzieren und das Bild schneller zu laden.
00:05:24 Wenn eine Anwendung viele Unterseiten enthält, die unter einer Kategorie gruppiert sind,
empfiehlt es sich, auch für jede dieser Unterseiten eine Navigation anzulegen, anstatt sich nur
auf die Seitenleiste zu verlassen.
00:05:41 Hier sehen Sie ein Beispiel für eine Unterseite mit einer Navigationsleiste in der oberen
rechten Ecke, mit der Sie tiefer navigieren können. Aber hier ist eine goldene Regel.
00:05:49 Halten Sie es einfach. Anders als bei einer Website sind Ihre Benutzer nicht hier, um Inhalte
zu durchsuchen.
00:05:54 Und je einfacher Ihre Inhaltshierarchiestruktur, desto besser. Denken Sie daran, einen
ausgewählten Zustand für Navigationsdrucktasten zu entwerfen, damit Sie Ihren Benutzern
immer anzeigen können, wo sie sich in der Anwendung befinden.
00:06:09 Sobald Sie Ihren Benutzer nun in den richtigen Teil der Anwendung gebracht haben, müssen
Sie ihn durch den Workflow führen, den Sie auf der Seite für ihn entwickelt haben.
00:06:17 Die einfachste Möglichkeit sicherzustellen, dass Ihre Benutzer immer wissen, wo sie nach den
Steuerelementen und Auslösern suchen, ist in Ihrem Layout konsistent. Wenn Sie sich dieses
Beispiel anschauen, in dem die Eingabesteuerelemente und Datenaktionen alle auf der linken
Seite platziert sind, wissen Sie sofort, wo sich die
00:06:33 Controls im nächsten Beispiel befinden, was ich Ihnen jetzt zeigen werde. Hier ist es.
00:06:38 Nur aufgrund der Konsistenz in der Position. Das sollten Sie, wenn möglich, immer anstreben.

00:06:44 In den meisten Fällen, in denen Sie Steuerelemente für die gesamte Seite und nicht nur für ein
bestimmtes Widget haben, wird empfohlen, dies zu tun. Eine weitere Möglichkeit, Benutzern
zu helfen, Inhalte auf der Seite schnell zu durchsuchen und zu finden, was sie suchen, ist, die
Elemente entsprechend zu

30
00:07:01 gruppieren. Ein häufiger Fehler, den ich sehe, besteht darin, alle Widgets, alle Eingabefelder
auf einer Seite so nah wie möglich nebeneinander zu bringen, um zu vermeiden, dass
00:07:12 Bildschirm-Immobilien verschwendet werden oder gescrollt werden müssen. Dadurch sieht
alles so aus, als ob sie zusammengehören, und es macht es dem Benutzer wirklich schwer,
das zu finden, was er sucht.
00:07:24 Ich kann nicht genug betonen, wie das Zusammenfassen von Elementen dazu beiträgt, so viel
zu verstehen, wie die Seite aufgebaut ist, und hilft dem Benutzer, instinktiv zu verstehen, wie
die Seite zu verwenden ist.
00:07:34 In diesem Beispiel wird gezeigt, wie die Gruppierung der Eingabefelder in drei Abschnitte die
Bedienung erleichtert und weniger überwältigend ist, als den Benutzer aufzufordern, 12
Informationen auf einmal einzugeben, obwohl Sie dies ohnehin tun.
00:07:49 Nachdem ich nun von Konsistenz, Layout und Gruppierung von Elementen gesprochen habe,
muss ich erwähnen, dass es natürlich auch Zeiten gibt, in denen es nicht praktikabel ist, diese
Methoden zu verwenden.
00:07:58 Wenn sich beispielsweise die Anforderungen für jeden Teil einer Planungsanwendung so
voneinander unterscheiden, wie in Situationen, in denen Sie eine Tabelle über eine ganze
Breite hinweg benötigen, möchten Sie links keinen Leerzeichen lassen, um Platz für
Steuerelemente zu reservieren, die Sie auf dieser Seite nicht benötigen, sondern
00:08:16 möglicherweise in einer anderen Seite. Oder es ist einfach nicht möglich, die Widgets zu
gruppieren und der Gruppe eine kurze Überschrift zu geben, die für den Benutzer sofort
erkennbar ist.
00:08:27 Sie können versuchen, die genannten Lösungen auf andere Weise zu verwenden. Wenn es
beispielsweise Datenaktionen gibt, die Ihre Benutzer auslösen sollen, nachdem sie bestimmte
Eingaben vorgenommen haben, können Sie in solchen Fällen versuchen, eine
00:08:39 Landing-Page oder eine Mini-Landing-Page zu verwenden. Anstatt die Benutzer zu
verschiedenen Teilen der Anwendung zu navigieren, fügen Sie Ihre Datenaktionen hinzu.
00:08:49 Im Folgenden finden Sie ein Beispiel, in dem die Planungsschritte auf einer Übersichtsseite
oder einer Mini-Landing-Page aufgelistet werden und Sie die Datenaktionen hier anstatt auf
einer Seite mit den Eingabeblättern platzieren.
00:09:00 Auf diese Weise haben Sie Ihre Benutzer durch den gewünschten Workflow gebracht. Und es
gibt für ihn keine Arbeit, wenn es darum geht, wann und welche Datenaktion ausgelöst werden
soll.
00:09:09 Da wir jetzt darüber sprechen, wie wir in unserer Lösung kreativ für die Benutzerführung
arbeiten können, möchte ich die Flexibilität erwähnen, die der Analysedesigner von SAP
Analytics Cloud bieten kann, sodass Sie Ihre Lösungen wirklich kreativ gestalten können.
00:09:25 Ich möchte Ihnen hier ein Beispiel zeigen, wie Sie mit dem Analysedesigner ein Overlay als
Soforthilfe für Ihre Benutzer hinzufügen können. Hier können Sie auf die Soforthilfe-
Schaltfläche in der oberen rechten Ecke klicken, um eine Überlagerung auf Ihrer Seite mit
Beschreibungen für die einzelnen Widgets und
00:09:41 Schaltflächen zu platzieren, damit der Benutzer verstehen kann, wie die Seite funktioniert. Sie
können natürlich die Schritte kennzeichnen, die Ihre Benutzer durchführen sollen, oder hier die
Beschreibungen Ihrer Datenaktion eingeben.
00:09:53 Sie müssen also weniger auf die Seite selbst schreiben, und Sie können die Dinge auf diese
Weise übersichtlicher halten. Und dann ist ein guter Anwendungsfall für den Analysedesigner,
wenn Sie wissen, dass es diesen speziellen Fehler im Workflow Ihres Benutzers gibt, bei dem
er tendenziell mit
00:10:08 einem Problem konfrontiert ist und nicht fortfahren kann. Und es kann vor Ort wirklich Abhilfe
schaffen und ihn dort auffangen, wo er voraussichtlich Hilfe benötigt.
00:10:17 Ich habe hier ein schönes Beispiel für eine Anwendung zur Personaleinsatzplanung. Sie
sehen, dass eine Dateneingabe erforderlich ist und die Daten veröffentlicht werden müssen.
Außerdem müssen einige Datenaktionen ausgelöst werden.

31
00:10:28 Jetzt muss kurz vor dem Veröffentlichen einer von ihnen ausgelöst werden. Da Sie wissen,
dass es einigen Benutzern fehlt, können Sie hier ein Overlay hinzufügen, das angezeigt wird,
wenn der Benutzer auf Veröffentlichen klickt.
00:10:41 Er erinnert den Benutzer daran, dass diese Datenaktion ausgelöst werden muss, und fängt
diejenigen ab, die dies vergessen haben, und verhindert, dass sie einen Fehler machen. Wir
haben also über die verschiedenen Herausforderungen bei der Führung Ihrer Benutzer
gesprochen und einige Beispiele für die Bewältigung und Lösung dieser
00:10:57 Herausforderungen. Jetzt werden wir uns ein oder zwei Beispiele anschauen, wie man über
diese grundlegenden Erfordernisse hinausgehen kann, und den Rand etwas mehr zu drücken,
um
00:11:06 der Anwendung einen gewissen Charakter zu verleihen und die Interaktion nur ein bisschen
interessanter zu machen, um dem Benutzer ein Lächeln zu machen. Zunächst sollten Sie sich
immer davon überzeugen, dass eine Planungsanwendung Spaß machen und einfach und
interessant zu verwenden sein kann. Wenn es mit dieser Denkweise
00:11:24 fertig wird, werden die Ideen natürlich kommen, und Sie beginnen, Chancen in Ihrer
Anwendung zu sehen, in der Sie einfach etwas kreativer werden und Dinge ausprobieren
können, um Ihre Benutzer unerwartet zu begeistern.
00:11:37 Hier haben wir den Analysedesigner verwendet, um eine Nachricht für das Beschäftigt-
Kennzeichen anzupassen und dabei nur ein wenig Humor in den Warteprozess
einzuschleusen.
00:11:45 Nun macht das Warten jetzt natürlich nicht mehr haltbar, aber es macht Ihre Anwendung
etwas lustiger zu arbeiten. Und glauben Sie mir, dass ein wirklich guter Text enorme
Auswirkungen auf alle Anwendungsbereiche haben kann.
00:11:58 Manchmal wird es wirklich nur eine Sprache sein, die etwas bewirken wird. Und natürlich
können Sie nicht nur den Rand mit der Sprache drücken, sondern auch mit Ihrer Oberfläche.

00:12:10 Betrachten wir dieses Beispiel hier. Hier können Sie für den Budgetantragsprozess eine
Tabelle verwenden, um Daten zu sammeln, oder Sie können ein Formular zum Eingeben der
Anträge mithilfe der
00:12:23 Eingabefeld-Widgets im Analysedesigner erstellen, wie in diesem Beispiel. In beiden Ansätzen
gibt es Vorteile, und Sie müssen es nur testen, um herauszufinden, welche Methode für Sie
am besten funktioniert.
00:12:33 Seien Sie auch kreativ und erlauben Sie es Ihnen, Bilder und Farben zu verwenden, um Ihrer
Anwendung einen Charakter zu verleihen. Im Folgenden finden Sie ein weiteres Beispiel
dafür, wie Sie Bilder und Farben effektiv verwenden können, um Ihre Anwendung nicht nur
neu zu gestalten, sondern auch, um
00:12:51 Benutzern einen besseren Überblick zu verschaffen und ihre Aufgabe angenehmer zu
erledigen. Ich sehe mich oft die Websites der Unternehmen an und sehe, ob es etwas gibt,
was ich hier nehmen kann, und zwar nicht nur um die Farben und Schriftarten, sondern auch
um
00:13:04 den Geist oder den Charakter, der dort zu spüren ist. Wir sind also am Ende dieses Kapitels
angelangt.
00:13:09 Ich hoffe, dass Ihnen das so gut gefallen ist, wie ich es getan habe, und dass die gezeigten
Beispiele Sie auf die eine oder andere Weise inspirieren konnten, die Benutzerfreundlichkeit
Ihrer Anwendung zu verbessern.
00:13:19 Vielen Dank. Und ich hoffe, dass Sie eine hervorragende Lernerfahrung mit openSAP haben.

32
Week 5 Unit 7

00:00:05 Hallo, vielen Dank für das Tuning in. Am Ende des Kurses fragen Sie vielleicht, wie kann ich
mich auf dem neuesten Stand halten?
00:00:12 Hier haben wir zwei Haupteinstiegspunkte für Sie. Detaillierte Produktinformationen finden Sie
im SAP Help Portal.
00:00:20 Hier finden Sie die Produktdokumentation, einen Einführungsleitfaden, Video-Tutorials und die
Release-Informationen.
00:00:27 Zweitens finden Sie in der SAP-Cloud-Community umfangreiche Informationsquellen von
Experten für Experten, wie Expertenseiten, Q und A sowie Produkt-Blogs.
00:00:39 Dort finden Sie Blogs zu allen Aspekten von SAP Analytics Cloud und planungsbezogenen
Blogs. Suchen Sie hier nach dem Tag SAP Analytics Cloud for Planning.
00:00:51 Vielen Dank, dass Sie am openSAP-Kurs Planning with SAP Analytics Cloud teilgenommen
haben. Wir hoffen, dass Sie es genossen und nützliche Dinge gelernt haben.
00:01:00 Nun wünsche ich Ihnen viel Glück für den wöchentlichen Einsatz und die Abschlussprüfung in
der kommenden Woche.
00:01:06 Sieh dich in der Community. Habe einen schönen Tag und gibst dich ab.

33
www.sap.com/contactsap

© 2020 SAP SE or an SAP affiliate company. All rights reserved.


No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company.

The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors.
National product specifications may vary.

These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP or its affiliated companies shall not be liable
for errors or omissions with respect to the materials. The only warranties for SAP or SAP affiliate company products and services are those that are set forth in the express warranty statements
accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.

In particular SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality
mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future developments, products, and/or platform directions and functionality are
all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment, promise, or legal obligation
to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are
cautioned not to place undue reliance on these forward-looking statements, and they should not be relied upon in making purchasing decisions.

SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other
countries. All other product and service names mentioned are the trademarks of their respective companies. See www.sap.com/copyright for additional trademark information and notices.