L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Design et création · SKILL.md

sap-sac-scripting

sap-sac-scripting

SAP Analytics Cloud scripting — scripting API, custom widgets, data analyzer scripts, chart scripting, planning scripts, button scripts, application design, custom calculations. Use when building SAC custom widgets, adding scripting to SAC stories, or implementing custom analytics logic in SAC.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: sap-sac-scripting description: SAP Analytics Cloud scripting — scripting API, custom widgets, data analyzer scripts, chart scripting, planning scripts, button scripts, application design, custom calculations. Use when building SAC custom widgets, adding scripting to SAC stories, or implementing custom analytics logic in SAC. trigger: keywords: [scripting, SAC, analytics cloud, custom widgets, data analyzer, chart scripting, planning scripts, application design, custom calculations] intent: >- Use when building SAC custom widgets, adding scripting to SAC stories, or implementing custom analytics logic in SAC.

SAP Analytics Cloud Scripting

Custom scripting for SAP Analytics Cloud stories and analytic applications.

Scripting API Overview

SAC Scripting uses JavaScript-like syntax in SAC Designer.

Basic Navigation

// Navigate between pages
Dashboard_1.getPage("Page1").setVisible(false);
Dashboard_1.getPage("Page2").setVisible(true);

// Set filter value programmatically
InputField_1.setValue("2026.Q2");

// Get selected member from table
var selected = Table_1.getSelectedMembers();
var memberId = selected[0].id;

Chart Manipulation

// Toggle chart type
Chart_1.setChartType("bar");

// Set chart title
Chart_1.setTitle("Revenue by Region");

// Change dimension
Chart_1.setDimension("Region");
Chart_1.setMeasure("Revenue");

Data Analyzer

// Apply filter from dropdown
var selectedMonth = DropdownMonth.getSelectedKey();
DataSource_1.setFilter("Month", selectedMonth);
DataSource_1.reload();

// Get data cell value
var revenue = DataSource_1.getData({
  measures: ["Revenue"],
  filters: [["Month", "=", "2026.06"]]
}).value;

Button Actions

// Button triggers planning function
Button_1.onPress = function() {
  var plan = PlanningModel_1;
  plan.createAllocationStep({
    source: { dimension: "CostCenter", member: "CC000" },
    target: { dimension: "CostCenter", member: "CC001" },
    driver: { measure: "Headcount", percentage: 30 }
  });
  plan.execute();
};

Custom Widgets

// Custom widget via Web Component
customwidgets.define("my-forecast", {
  template: "<div><canvas id='chart'></canvas></div>",
  onUpdate: function(data) {
    var ctx = document.getElementById('chart').getContext('2d');
    new Chart(ctx, { type: 'line', data: { labels: data.labels,
      datasets: [{ label: 'Forecast', data: data.values }] } });
  }
});

Application Design

SAC Analytic Applications allow full-page custom logic — scripting, custom widgets, and data binding. Deploy via SAC → Transport to BTP.

Gotchas

  • No debugging tools in SAC — use console.log and browser dev tools
  • Scripts are synchronous — async operations need callback pattern
  • Maximum script execution time: 30 seconds
  • Custom widgets loaded from external URL — requires CSP whitelist
Skills enregistrées