Claude
Skills
Sign in
Back

sap-sac-planning

Included with Lifetime
$97 forever

This skill should be used when developing SAP Analytics Cloud (SAC) planning applications, including building planning-enabled stories, analytics designer applications with planning functionality, data actions, multi actions, version management, and planning workflows. Use when creating planning models, implementing data entry forms, configuring spreading/distribution/allocation, setting up data locking, building calendar-based planning processes with approval workflows, writing JavaScript scripts for planning automation, using the getPlanning() API, PlanningModel API, or DataSource API for planning scenarios, troubleshooting planning performance issues, integrating predictive forecasting into planning workflows, implementing Seamless Planning with SAP Datasphere, configuring BPC live connections for BW on HANA integration, building value driver trees for what-if analysis, or debugging data actions with tracing.

Backend & APIs

What this skill does


# SAP Analytics Cloud Planning Skill

Comprehensive skill for building enterprise planning applications with SAP Analytics Cloud.

---

## Reference Add-Ons (2025.25)

- Execution guides: `references/data-actions.md`, `references/multi-actions.md`, `references/allocations.md`, `references/scheduling-calendar.md`, `references/data-locking.md`
- Modeling & governance: `references/modeling-basics.md`, `references/version-management.md`, `references/version-edit-modes.md`, `references/version-publishing-notes.md`
- Calculations & intelligence: `references/advanced-formulas.md`, `references/predictive-conversion.md`, `references/ai-planning-analytics.md`, `references/api-snippets.md`
- Workflow aids: `references/input-tasks.md`, `references/job-monitoring.md`
- **New in 2025**: `references/seamless-planning-datasphere.md`, `references/bpc-live-connection.md`, `references/value-driver-trees.md`, `references/data-action-tracing.md`
- Ready-to-use templates: `templates/data-action-checklist.md`, `templates/multi-action-checklist.md`, `templates/parameter-table.md`

Use these to keep instructions concise in this file while deep-dives remain one click away.

---

## Table of Contents
- [When to Use This Skill](#when-to-use-this-skill)
- [Quick Start](#quick-start)
- [Core Concepts](#core-concepts)
- [Data Actions](#data-actions)
- [Seamless Planning with Datasphere](#seamless-planning-with-datasphere)
- [BPC Live Connection](#bpc-live-connection)
- [Value Driver Trees](#value-driver-trees)
- [Data Action Tracing](#data-action-tracing)
- [Bundled Resources](#bundled-resources)

## When to Use This Skill

Use this skill when working on tasks involving:

**Planning Application Development**:
- Creating planning-enabled stories with data entry
- Building analytics designer applications for planning
- Implementing input forms and planning tables
- Configuring planning models with Version and Date dimensions
- Setting up data sources for planning scenarios

**Data Actions & Multi Actions**:
- Creating data actions for copy, allocation, and calculations
- Building multi actions to orchestrate planning operations
- Configuring parameters (member, number, string, datetime types)
- Implementing embedded data actions
- Setting up API steps for external integrations

**Version Management**:
- Managing public and private versions
- Publishing workflows (Publish As, Publish Private Data)
- Sharing private versions with collaborators
- Version creation and deletion via API

**Planning Workflows**:
- Setting up calendar-based planning processes
- Creating general tasks, review tasks, and composite tasks
- Implementing multi-level approval workflows
- Configuring data locking tasks
- Managing task dependencies

**JavaScript Planning APIs**:
- Using getPlanning() API for data entry
- Working with PlanningModel API for master data
- Implementing DataSource API for filtering and querying
- Writing scripts for planning automation
- Handling version management via API

**Data Entry & Allocation**:
- Implementing spreading (to child members)
- Configuring distribution (between siblings)
- Setting up rule-based allocations
- Copy/paste operations in planning tables
- Using advanced formulas for calculations

**Data Locking**:
- Configuring data locking on models
- Setting up lock states (locked, restricted, open)
- Creating data locking tasks in calendar
- Implementing event-based data locking
- Integrating data locking in multi actions

**Seamless Planning with Datasphere** (2025):
- Planning models with Datasphere storage
- Cross-model planning with unified data
- Direct persistence to Datasphere
- Enterprise data governance for planning

**BPC Live Connection**:
- Planning with BPC Embedded on S/4HANA
- Running BPC planning sequences from SAC
- Master data planning via BPC
- Live data connection configuration

**Value Driver Trees**:
- Building business value chain visualizations
- What-if analysis and scenario simulation
- Driver-based planning
- Interactive planning dashboards

**Data Action Debugging**:
- Tracing data action execution
- Adding tracepoints for debugging
- Analyzing intermediate results
- Troubleshooting allocation issues

---

## Quick Start

### Creating a Planning-Enabled Story

1. **Create Planning Model** with required dimensions:
   - Version dimension (required)
   - Date dimension (required)
   - Account dimension (recommended)
   - Other business dimensions

2. **Add Table Widget** to story and link to planning model

3. **Enable Planning** on the table:
   - Select table → Planning panel → Enable Planning
   - Configure version selection (public or private)

4. **Configure Data Entry**:
   - Set editable measures/accounts
   - Configure spreading behavior
   - Set up validation rules

### Creating an Analytics Designer Planning Application

1. **Create Analytic Application** (not Optimized Story)
2. **Add Planning Model** as data source
3. **Add Table Widget** and enable planning
4. **Write Scripts** for:
   - Version selection
   - Data submission
   - Custom validation
   - Workflow triggers

---

## Core Concepts

### Model Types

**Planning Model**:
- Supports data write-back
- Requires Version and Date dimensions
- Enables spreading, distribution, allocation
- Supports data locking
- Used for budgeting, forecasting, planning

**Analytic Model**:
- Read-only (no write-back)
- No required dimensions
- Better performance for reporting
- Use when planning not needed

### Version Management

**Public Versions**:
- Visible to all users with access
- Shared across the organization
- Require publish to update

**Private Versions**:
- Visible only to creator (unless shared)
- Used for simulation and what-if analysis
- Can be published to public or new version

**Edit Mode**:
- Temporary private copy when editing public version
- Changes visible only to editor until published
- Automatic validation on publish

**Reference**: See `references/version-management.md` for detailed workflows.

### Planning API Overview

**getPlanning() API** - Table planning operations:
```javascript
// Check if planning is enabled
var isEnabled = Table_1.getPlanning().isEnabled();

// Get public versions
var publicVersions = Table_1.getPlanning().getPublicVersions();

// Get private version
var privateVersion = Table_1.getPlanning().getPrivateVersion();

// Set user input (data entry)
Table_1.getPlanning().setUserInput(selection, value);

// Submit data changes
Table_1.getPlanning().submitData();
```

**PlanningModel API** - Master data operations:
```javascript
// Get dimension members with properties
var members = PlanningModel_1.getMembers("CostCenter");

// Create new members
PlanningModel_1.createMembers("CostCenter", [
    {id: "CC100", description: "Marketing"}
]);

// Update existing members
PlanningModel_1.updateMembers("CostCenter", [
    {id: "CC100", description: "Marketing Dept"}
]);

// Delete members
PlanningModel_1.deleteMembers("CostCenter", ["CC100"]);
```

**DataSource API** - Filtering and querying:
```javascript
// Set dimension filter
Table_1.getDataSource().setDimensionFilter("Version",
    "[Version].[parentId].&[public.Actual]");

// Get members with booked values only
var members = Table_1.getDataSource().getMembers("Account",
    {accessMode: MemberAccessMode.BookedValues});

// Remove filter
Table_1.getDataSource().removeDimensionFilter("Version");
```

**Reference**: See `references/api-reference.md` for complete API documentation.

---

## Data Actions

Data actions perform calculations and data manipulation on planning models.

### Step Types

| Step Type | Purpose |
|-----------|---------|
| Copy | Move data between dimensions/versions |
| Advanced Formula | Complex calculations |
| Allocation | Rule-based distribution |
| Currency Conversion | Convert currencies |
| Embedded Data Action | Run another data action |

### Creating a Copy Step

```
Source:
  Version = Actual
  Year = 2024

Target:
  Version = Budget
  Year = 2025

Mapping:
  Accoun

Related in Backend & APIs