Die Oberfläche ist lokalisiert; Skill-Beschreibungen und -Dokumente werden per KI automatisch in Ihre Sprache übersetzt. Code, Befehle, Pfade und Fachbegriffe bleiben im Original, maßgeblich ist das Dokument des Autors.
Skills entdecken
Daten und Forschung · SKILL.md

sap-sac-planning

sap-sac-planning

SAC Planning — models, versions, allocations, data actions, value driver trees, calendar tasks, predictive forecasting, BPC migration. Use when building SAC planning apps, creating allocations, or migrating from BPC.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill-Dokumentation

GitHub

name: sap-sac-planning description: >- SAC Planning — models, versions, allocations, data actions, value driver trees, calendar tasks, predictive forecasting, BPC migration. Use when building SAC planning apps, creating allocations, or migrating from BPC. trigger: keywords: - SAC planning - planning model - allocation - data action - value driver tree - BPC migration - SAC calendar - predictive forecast intent: >- Build SAC planning models, allocations, data actions, value driver trees, and manage BPC migrations. file_patterns: - "planningmodel*"

SAP Analytics Cloud Planning

SAC Planning = Model (structure) → Process (actions) → Governance (versions, calendars). Each layer builds on the previous.

Prerequisites

  • SAC tenant with Planning license (not BI-only)
  • Model Builder role or planning_model.create permission
  • Source data: BW/4HANA, S/4HANA, or flat-file upload
  • BPC migration: access to BPC 10.x/11.x (NW or MS) environment

1. Planning Model

Model: Financial_Plan
├── Dimensions (max 20): Account, CostCenter, Time, Version, Currency
├── Measures: Amount, Quantity, Price, Calculated
├── Versions: Actual (RO), Budget, Forecast, Plan (what-if)
└── Security: R/W per dimension member
curl -X POST "https://$SAC_TENANT/api/v1/planningmodels" \
  -H "Authorization: Bearer $SAC_TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"Financial_Plan","dimensions":["Account","CostCenter","Time","Version","Currency"],"defaultCurrency":"USD"}'

2. Version Management

VersionPurposeBehavior
ActualHistorical dataRead-only, loaded from source
BudgetAnnual planLocked after approval
ForecastRolling forecastOpen to contributors
PlanWhat-if scenarioTemporary, user-scoped
curl -X POST "https://$SAC_TENANT/api/v1/versions" \
  -H "Authorization: Bearer $SAC_TOKEN" \
  -d '{"model":"Financial_Plan","source":"Actual","target":"Budget_2026","copyData":true}'

3. Allocation Process

Distributes costs from source to targets using a driver measure.

// SAC Data Action — Allocation step (Advanced Formula)
var alloc = PlanningModel_1.createAllocationStep({
  source: { dimension:"CostCenter", member:"CC_ADMIN", measure:"Amount",
            filter:[["Account","=","SALARIES"]] },
  target: { dimension:"CostCenter", members:["CC_SALES","CC_MKTG","CC_RD"],
            driver:{ measure:"Headcount", includeZero:false } },
  method:"COPY", amount:100   // COPY | PERCENTAGE | SHARE, % of source
});
alloc.execute();

Key: Driver measure must be in the same model. Cross-model references require a calculated measure workaround.

4. Data Actions

Multi-step scripts that copy/transform/calculate plan data across versions.

Data Action: Copy_Plan_to_Forecast
  Step 1 — Copy:     Plan/2026 → Forecast/2026
  Step 2 — Override:  SALARIES × 1.05 (5% raise)
  Step 3 — Allocate:  Overhead by revenue share
  Step 4 — Publish:   Lock Forecast version
curl -X POST "https://$SAC_TENANT/api/v1/dataactions/Copy_Plan_to_Forecast/execute" \
  -H "Authorization: Bearer $SAC_TOKEN" \
  -d '{"parameters":{"SOURCE_VERSION":"Plan","TARGET_VERSION":"Forecast_2026"}}'

5. Value Driver Trees (VDT)

Decompose KPIs into adjustable levers for what-if simulation.

Revenue
├── Price × Quantity
│   ├── Price ──→ Pricing Strategy (manual input)
│   └── Quantity ──→ Market Size × Market Share
└── [ML: Market Share = 73% influence — top driver]

RAG insight: SAC augmented analytics auto-detects KPI drivers via ML. Use "Smart Insights" on VDT nodes to surface hidden correlations before manual modeling. Build planning models from predictive forecasts to blend ML + human input.

6. Calendar Tasks

Orchestrates planning workflows with task dependencies and lock gates.

Q4 Cycle:
  Task 1 (Oct 1–7):   CC Managers → Input headcount & expenses
  Task 2 (Oct 8–14):  Finance → Review & consolidate
  Task 3 (Oct 15–21): Controller → Finalize, allocate, lock
curl -X POST "https://$SAC_TENANT/api/v1/calendar/tasks" \
  -H "Authorization: Bearer $SAC_TOKEN" \
  -d '{"name":"Input_Headcount_Q4","model":"Financial_Plan","assignees":["cc_sales_mgr"],"startDate":"2026-10-01","endDate":"2026-10-07","taskType":"DATA_ENTRY"}'

7. BPC → SAC Migration

BPC ConceptSAC EquivalentNotes
EnvironmentPlanning ModelOne model per BPC app
Input SchedulesStories + TablesRebuild as grid widgets
Script LogicData ActionsRewrite in Advanced Formula
Work StatusCalendar TasksMap locks to task gates
EPM Add-inSAC Excel Add-inRe-link to SAC model
DimensionsDimensionsMax 20 (BPC allowed more)

Steps: Export BPC metadata → Create SAC model → Migrate master data → Rebuild script logic as Data Actions (30–40% rewrite) → Recreate schedules as Stories → Map work status → Calendar → Validate row-by-row (delta < 0.01%).

8. Predictive Forecasting

curl -X POST "https://$SAC_TENANT/api/v1/predictive/forecasts" \
  -H "Authorization: Bearer $SAC_TOKEN" \
  -d '{"model":"Financial_Plan","target":"Revenue","horizon":12,"version":"Forecast_2026","explanatoryVariables":["Price","Quantity","MarketShare"]}'

Pitfalls

  • 20 dimensions max — BPC models with more need consolidation
  • 100 Data Action steps max — split complex chains into sequential actions
  • Actual is read-only — copy to planning version before writing
  • Allocation driver scope — must be same model; cross-model needs workaround
  • Currency conversion — set up rates table before loading data; retroactive triggers full recalc
  • Version proliferation — each public version costs storage; archive quarterly
  • Calendar ownership — if assignee leaves, task stalls; set fallback owner
  • BPC *WHEN/*IS — don't map 1:1 to SAC Advanced Formula; 30–40% rewrite
  • Large model perf — > 100M cells degrades rendering; use private versions

Verification

# 1. Model structure
curl -s "https://$SAC_TENANT/api/v1/planningmodels/Financial_Plan" \
  -H "Authorization: Bearer $SAC_TOKEN" | jq '.dimensions, .versions'

# 2. Data action status
curl -s "https://$SAC_TENANT/api/v1/dataactions/Copy_Plan_to_Forecast/status" \
  -H "Authorization: Bearer $SAC_TOKEN" | jq '.status, .lastRun, .rowsAffected'

# 3. Allocation check (source zeroed, targets populated)
curl -s "https://$SAC_TENANT/api/v1/dataexport/Financial_Plan" \
  -H "Authorization: Bearer $SAC_TOKEN" \
  -d '{"filter":{"CostCenter":"CC_ADMIN","Account":"SALARIES"}}' | jq '.data'

# 4. Open calendar tasks
curl -s "https://$SAC_TENANT/api/v1/calendar/tasks?status=OPEN" \
  -H "Authorization: Bearer $SAC_TOKEN" | jq '.tasks | length'

# 5. BPC migration — row count delta < 0.01% = pass

Quick Reference

  • Max dims: 20 | Max DA steps: 100 | Alloc methods: COPY, PERCENTAGE, SHARE
  • Versions: Public (shared), Private (user-scoped)
  • API: https://$SAC_TENANT/api/v1/ | Auth: OAuth 2.0 (Settings → App Integration)
Gespeicherte Skills