AI & Analytics Legends La plateforme de connaissance SAP Analytics
Fiche concept

API de scripting SAC (scripting d'Application Analytique)

API de scripting SAC (scripting d'Application Analytique) — illustration de section Analytics Legends pour la base de connaissances SAP Analytics (concepts, études, Academy)

À jour au 2026-09-27

Qu'est-ce que API de scripting SAC (scripting d'Application Analytique) ?

Le scripting SAC ne devient nécessaire que lorsqu'une application doit orchestrer le comportement des widgets au-delà de ce qu'une Story statique peut exprimer — pour tout le reste, une Story se gouverne et se transmet plus facilement.

De quoi il s'agit

L'API de scripting SAC est la surface de programmation au dialecte TypeScript des Applications Analytiques de SAP Analytics Cloud — le moteur qui transforme SAC d'un constructeur de Story glisser-déposer en véritable plateforme applicative. Quand un client a besoin d'une application analytique interactive avec navigation custom, formatage conditionnel qu'aucune Story ne sait exprimer, binding de données programmatique ou intégration de systèmes externes, le scripting d'Application Analytique est la réponse.

Ce que le scripting contrôle réellement : chaque widget du canevas (graphique, tableau, liste déroulante, champ de saisie, image) expose une API de propriétés et une API d'événements. Les propriétés permettent au code de scripting de paramétrer à l'exécution le binding de données, les filtres, les dimensions, les mesures, la visibilité, le formatage. Les événements se déclenchent sur les actions utilisateur (onClick, onResultChanged, onSelect, onInitialization) et permettent au code de réagir. Les deux surfaces ensemble permettent à un designer d'application de construire des flux qu'aucune Story statique ne sait exprimer — par exemple un flux de drill où cliquer sur un graphique remplit un second graphique avec la dimension sélectionnée comme filtre, puis active conditionnellement un widget de prévision si la donnée dépasse un seuil.

Pourquoi c'est important

  • Le scripting s'exécute côté serveur, pas dans le navigateur, et n'a pas de capacité d'appel REST arbitraire — l'intégration externe requiert toujours des connexions OData ou des iFrames BTP.
  • Les API de propriétés et d'événements de chaque widget permettent au clic sur un graphique de remplir un second graphique et d'activer conditionnellement un widget de prévision — le pattern classique de drill.
  • Abuser du scripting produit des applications que seul un développeur peut maintenir, ce qui va à l'encontre de l'idée de les transmettre à un analyste citizen.

Points clés

  • Deux surfaces — l'API Properties (définir la liaison de données, les filtres, la visibilité, le formatage d'un widget à l'exécution) et l'API Events (réagir aux actions utilisateur : onClick, onResultChanged, onSelect, onInitialization).
  • Sous-ensemble TypeScript — s'exécute côté serveur ; accès au modèle de données SAC, à la collection de widgets, au service Planning, à Smart Predict, à R-Visualization.
  • Pas de REST arbitraire — pour l'intégration externe, utiliser des connexions OData ou des schémas iFrame BTP.
  • Quand passer de la Story à l'Analytic Application : quand les interactions doivent orchestrer au-delà du drill, du filtre ou du lien statiques — par exemple activation conditionnelle de widget, changement programmatique de dimension, flux de navigation multi-étapes.
  • Risque de sur-utilisation — les applications fortement scriptées sont l'affaire des développeurs ; elles produisent des artefacts non maintenables si une Story aurait suffi.
  • onResultChanged réagit au changement des données d'un widget pour des raisons hors du contrôle du script en cours ; c'est le mauvais outil pour propager un changement que le même script vient de provoquer, qui relève plutôt du gestionnaire à l'origine du changement.
  • Les intégrations IA et agent (Joule, AI Core, MCP) ne sont jamais appelées directement depuis un script — elles se trouvent derrière un service BTP (CAP ou Integration Suite) exposé en retour à l'application comme une connexion OData.
  • Économie du premier build : un développeur compétent livre typiquement un premier flux de drill fonctionnel en moins d'une journée, mais déboguer un cycle d'événements inter-widgets non intentionnel peut coûter plus de temps que la construction initiale.

Termes employés sur cette page

Analytic Application
La surface d'application de niveau développeur de SAC ; un canevas avec des widgets, une API de scripting, des événements de cycle de vie ; la réponse quand une Story ne suffit pas.
Scripting API
La surface de programmation de type TypeScript à l'intérieur des Analytic Applications ; expose les propriétés et événements des widgets ; s'exécute côté serveur à l'exécution.
Widget collection
L'ensemble de tous les widgets du canevas ; itérable depuis le script ; chaque widget adressable par son nom ; la base de la manipulation programmatique des widgets.
onResultChanged
L'événement qui se déclenche quand le résultat de données sous-jacent d'un widget est recalculé (par exemple après un changement de filtre) ; l'endroit canonique pour réagir à des changements d'origine externe, pas pour propager un changement que le même script vient de provoquer.
onClick
L'événement qui se déclenche sur une interaction utilisateur directe avec un widget ; l'endroit correct pour fixer l'état de chaque widget dépendant dans un seul gestionnaire quand le script lui-même est à l'origine du changement.
Properties API
La moitié du contrat de l'API de scripting qui permet au code de lire et de fixer la configuration d'un widget à l'exécution — liaison de données, filtres, dimensions, mesures, visibilité, formatage — par opposition à la réaction aux événements.
Event cycle (anti-pattern)
Une chaîne non intentionnelle où les gestionnaires d'événements de deux widgets ou plus se redéclenchent mutuellement, multipliant les allers-retours serveur puisque l'API de scripting s'exécute côté serveur ; le correctif consiste à consolider la logique causale dans un seul gestionnaire.

Sources

  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)

Fiche complète réservée aux abonnés. Ce que la fiche complète ajoute : le cadre de décision complet · la comparaison SAP · Snowflake · Databricks · Fabric · les pièges courants et leur correctif · l'aide-mémoire · les schémas d'architecture · les blocs de code · les chiffres à citer.

Ouvrir dans l'application →