AI & Analytics Legends Die Wissensplattform für SAP Analytics AnmeldenRegistrieren
Konzeptkarte

SAC Scripting-API (Skripting analytischer Anwendungen)

SAC Scripting-API (Skripting analytischer Anwendungen) — Abschnittsillustration von Analytics Legends für die SAP-Analytics-Wissensdatenbank (Konzepte, Studien, Academy)

Stand

Was ist SAC Scripting-API (Skripting analytischer Anwendungen)?

SAC Scripting wird erst dann notwendig, wenn eine Anwendung das Widget-Verhalten über das hinaus steuern muss, was eine statische Story ausdrücken kann — alles andere lässt sich im Rahmen der Governance einfacher steuern und als Story übergeben.

Worum es geht

Die SAC Scripting API ist die TypeScript-artige Programmierfläche innerhalb der SAP Analytics Cloud Analytic Applications — die Engine, die SAC von einem Drag-and-Drop-Story-Builder zu einer echten Anwendungsplattform macht. Wenn ein Kunde eine interaktive Analytics-Anwendung mit individueller Navigation, bedingter Formatierung, die keine Story ausdrücken kann, programmatischer Datenbindung oder Integration mit externen Systemen benötigt, ist Analytic-Applications-Scripting die Antwort.

Was Scripting tatsächlich steuert: Jedes Widget auf der Canvas (Chart, Tabelle, Dropdown, Eingabefeld, Bild) stellt eine Properties-API und eine Events-API bereit. Properties erlauben es dem Scripting-Code, zur Laufzeit die Datenbindung, Filter, Dimensionen, Kennzahlen, Sichtbarkeit und Formatierung des Widgets zu setzen. Events feuern bei Nutzeraktionen (onClick, onResultChanged, onSelect, onInitialization) und erlauben es dem Scripting-Code, zu reagieren. Die beiden Flächen zusammen erlauben es einem Anwendungsdesigner, Abläufe zu bauen, die keine statische Story ausdrücken kann — z. B. einen Drill-Flow, bei dem das Klicken auf ein Chart ein zweites Chart mit der gewählten Dimension als Filter befüllt und dann bedingt ein Forecast-Widget aktiviert, falls die Daten einen Schwellenwert überschreiten.

Die Scripting-Sprache ist eine SAC-artige TypeScript-Teilmenge. Sie läuft zur Laufzeit serverseitig (nicht im Browser); sie hat Zugriff auf SACs Datenmodell (Models, Dimensionen, Kennzahlen, Hierarchien, Filter), die Widget-Sammlung der Canvas und SAC-Dienste wie Planning, Smart Predict, R-Visualization. Sie besitzt keine beliebige REST-Aufruf-Fähigkeit — dafür ist die Integration über OData-Verbindungen oder BTP-iFrame-Integrationen nötig.

Warum es zählt

  • Scripting läuft serverseitig, nicht im Browser, und besitzt keine beliebige REST-Aufruf-Fähigkeit — externe Integration erfordert weiterhin OData-Verbindungen oder BTP-iFrames.
  • Properties- und Events-APIs auf jedem Widget erlauben es, dass der Klick auf ein Chart ein zweites Chart befüllt und bedingt ein Forecast-Widget aktiviert — das klassische Drill-Flow-Muster.
  • Übermäßiger Einsatz von Scripting erzeugt Anwendungen, die nur ein Entwickler warten kann, was den Zweck ihrer Übergabe an einen Citizen-Analysten zunichtemacht.

Kernpunkte

  • Zwei Oberflächen — die Properties API (Widget-Datenbindung, Filter, Sichtbarkeit, Formatierung zur Laufzeit setzen) und die Events API (auf Nutzeraktionen reagieren: onClick, onResultChanged, onSelect, onInitialization).
  • TypeScript-Subset — läuft serverseitig; Zugriff auf SAC-Datenmodell, Widget-Sammlung, Planning-Dienst, Smart Predict, R-Visualization.
  • Kein beliebiges REST — für externe Integration OData-Verbindungen oder BTP-iFrame-Muster nutzen.
  • Wann von der Story zur Analytic Application: wenn Interaktionen über statisches Drill, Filter oder Verknüpfung hinaus orchestrieren müssen — z. B. bedingte Widget-Aktivierung, programmatischer Dimensionswechsel, mehrstufige Navigationsabläufe.
  • Risiko der Überbeanspruchung — skriptlastige Anwendungen sind Entwicklersache; sie erzeugen nicht wartbare Artefakte, wenn eine Story die Aufgabe erledigt hätte.
  • onResultChanged reagiert auf die Änderung der eigenen Daten eines Widgets aus Gründen außerhalb der Kontrolle des aktuellen Skripts; es ist das falsche Werkzeug, um eine vom selben Skript gerade verursachte Änderung weiterzugeben — das gehört stattdessen in den verursachenden Handler.
  • KI- und Agentenintegrationen (Joule, AI Core, MCP) werden nie direkt aus einem Skript aufgerufen — sie liegen hinter einem BTP-Dienst (CAP oder Integration Suite), der der Anwendung als OData-Verbindung zurückgegeben wird.
  • Ökonomie des ersten Builds: Ein kompetenter Entwickler liefert einen ersten funktionierenden Drill-Flow typischerweise in unter einem Tag, aber das Debuggen eines unbeabsichtigten widgetübergreifenden Ereigniszyklus kann mehr Zeit kosten als der ursprüngliche Bau.

Begriffe auf dieser Seite

Analytic Application
SACs entwicklerorientierte Anwendungsoberfläche; ein Canvas mit Widgets, Scripting-API, Lifecycle-Events; die Antwort, wenn eine Story nicht ausreicht.
Scripting API
Die TypeScript-artige Programmierschnittstelle innerhalb von Analytic Applications; stellt Widget-Properties und -Events bereit; läuft zur Laufzeit serverseitig.
Widget collection
Die Menge aller Widgets auf dem Canvas; aus dem Skript iterierbar; jedes Widget über seinen Namen adressierbar; die Grundlage der programmatischen Widget-Manipulation.
onResultChanged
Das Ereignis, das feuert, wenn das zugrunde liegende Datenergebnis eines Widgets neu berechnet wird (z. B. nach einer Filteränderung); der kanonische Ort, um auf extern verursachte Änderungen zu reagieren, nicht um eine vom selben Skript gerade verursachte Änderung weiterzugeben.
onClick
Das Ereignis, das bei einer direkten Nutzerinteraktion mit einem Widget feuert; der richtige Ort, um den Zustand jedes abhängigen Widgets in einem einzigen Handler zu setzen, wenn das Skript selbst die Ursache der Änderung ist.
Properties API
Die Hälfte des Vertrags der Scripting-API, die es Code erlaubt, die Konfiguration eines Widgets zur Laufzeit zu lesen und zu setzen — Datenbindung, Filter, Dimensionen, Measures, Sichtbarkeit, Formatierung — im Gegensatz zur Reaktion auf Ereignisse.
Event cycle (Anti-Pattern)
Eine unbeabsichtigte Kette, bei der sich die Event-Handler zweier oder mehrerer Widgets wiederholt gegenseitig auslösen und dadurch Server-Roundtrips vervielfachen, da die Scripting-API serverseitig ausführt; die Lösung ist, die verursachende Logik in einem einzigen Handler zu konsolidieren.

Quellen

  1. SAP Help Portal — SAC Analytic Application Scripting
  2. SAP TechEd 2024 — SAC Application Designer sessions
  3. SAP Analytics Cloud — official product page
  4. SAP analytics cloud - Convert a measure to text without coding — SAP Community (Data and Analytics Blog Posts)
  5. Harnessing SAP Analytics Cloud AI Assisted Advanced Formula Generation Capabilities in QRC3.2025 — SAP Community (Technology Blog Posts by SAP)
  6. SAP Analytics Cloud Experience Sharing: How to Batch Edit the Context of Calendar Events — SAP Community (Technology Blog Posts by SAP)
  7. "You and the SAC Gatekeeper" — A Beginner’s Guide to Using OAuth with SAP Analytics Cloud SCIM API — SAP Community (Technology Blog Posts by Members)
  8. Send data from SAP Analytics Cloud to 3rd Party tools using CPI — SAP Community (Technology Blog Posts by Members)
  9. Creating a Sunburst Chart in SAP Analytics Cloud Using R and Plotly — SAP Community (Technology Blog Posts by Members)
  10. Introducing SAP Analytics cloud Widget API — SAP Community (Technology Blog Posts by SAP)
  11. Pass Data Action Parameter Value Directly from Dropdowns through Script in SAP Analytics Cloud (SAC) — SAP Community (Technology Blog Posts by Members)
  12. Guideline to analyze any existing custom transactions to move Fiori App or Embedded Analytics — SAP Community (Application Development and Automation Blog Posts)
  13. Multiple Master and Transactional Data Entries with a single data action call - SAP Analytics Cloud — SAP Community (Technology Blog Posts by SAP)
  14. Create Multiple Dimension Members with the UpdateMembers API - SAP Analytics Cloud — SAP Community (Technology Blog Posts by SAP)
  15. S/4HANA Public Cloud Integration with SAP Analytics Cloud Using Data Import API — SAP Community (Enterprise Resource Planning Blog Posts by SAP)
  16. SAP Analytics Cloud File Repository API — SAP Community (Technology Blog Posts by SAP)
  17. Seamless Navigation in SAP Analytics Cloud: From Dashboards to Business Applications — SAP Community (Technology Blog Posts by SAP)
  18. Analytical Insights in Joule (powered by SAP Analytics Cloud), Controlled release in Q1 2025 — SAP Community (Technology Blog Posts by SAP)
  19. Start Your scripting Journey The Easy Way With SAP Analytics Cloud | Part Four — SAP Community (Technology Blog Posts by SAP)
  20. SAP Analytics Cloud Schedule Publication API's: Getting Started Guide — SAP Community (Blog Posts about SAP Websites)
  21. SAP Analytics Cloud - Deactivating users programmatically — SAP Community (Technology Blog Posts by SAP)
  22. Automating SAP DSP Task Chains with CLI Wrapping: FastAPI Integration with SAP Analytics Cloud — SAP Community (Technology Blog Posts by Members)
  23. Manage Performance in SAP Analytic Cloud Stories - New Learning Journey — SAP Community (Technology Blog Posts by SAP)
  24. Start Your scripting Journey The Easy Way With SAP Analytics Cloud | Part Three — SAP Community (Technology Blog Posts by SAP)
  25. Report on SAP Signavio Process Intelligence data using the new OData API and SAP Analytics Cloud — SAP Community (Technology Blog Posts by SAP)
  26. Combine Display and Filter Parameters with SAP Analytics Cloud URL APIs — SAP Community (Technology Blog Posts by SAP)
  27. How to connect SAP Sustainability Control Tower to SAP Analytics Cloud via API — SAP Community (Sustainability Blog Posts)
  28. Important Notice: Changes in SAP Analytics Cloud Classic Stories & Analytic Applications — SAP Community (Technology Blog Posts by SAP)

Vollständige Karte für Mitglieder. Was die vollständige Karte ergänzt: den vollständigen Entscheidungsrahmen · den Vergleich SAP · Snowflake · Databricks · Fabric · die häufigen Fallstricke und ihre Behebung · die Kurzreferenz · die Architekturschemata · die Codeblöcke · die zitierfähigen Kennzahlen.

In der App öffnen →

Offene SAP-Projekte

Aktuelle SAP-Analytics-Projekte und Stellen im DACH-Raum: SAP-Analytics-Projekte im DACH-Raum.