13 KiB
SAP Analytics Cloud - Version Management Reference
Sources: 012-version-management-overview.md (SAC 2025.23) + related SAP Help portal pages Last Updated: 2025-11-25
Table of Contents
- Version Types Overview
- Public Versions
- Private Versions
- Edit Mode
- Publishing Workflows
- Version API
- Best Practices
Version Types Overview
SAP Analytics Cloud uses versions to manage different views of planning data.
Version Dimension
Planning models require a Version dimension with:
- At least one public version (e.g., Actual, Budget, Forecast)
- System-managed private versions per user
Comparison
| Aspect | Public Version | Private Version |
|---|---|---|
| Visibility | All users with access | Creator only (unless shared) |
| Persistence | Permanent until deleted | Temporary (deleted when published/reverted) |
| Use Case | Official data | Draft, simulation, what-if |
| Editing | Creates edit mode | Direct editing |
| Publishing | Target of publish | Source of publish |
Public Versions
Shared versions visible to all users with model access.
Characteristics
- Permanent: Data persists until explicitly deleted
- Shared: Same data for all users
- Controlled: Changes require publish workflow
- Reportable: Used in official reports and dashboards
Common Public Versions
| Version | Purpose |
|---|---|
| Actual | Historical data from source systems |
| Budget | Approved annual budget |
| Forecast | Rolling forecast updates |
| Plan | Working plan version |
| Prior_Year | Previous year comparison |
Creating Public Versions
From UI:
- Open Version Management panel
- Click Create Version
- Select Public
- Enter ID and description
- Choose to copy from existing or start blank
Via Data Action:
Step Type: Copy
Source: Existing version with data
Target: New version ID
Deleting Public Versions
Requirements:
- Version must be empty (no data)
- User must have delete permission
- Version not in use by running processes
Via UI:
- Open Version Management
- Select version
- Click Delete (only shows if empty)
Private Versions
User-specific versions for draft work and simulations.
Characteristics
- Personal: Only creator can see (unless shared)
- Temporary: Designed for draft work
- Flexible: Direct editing without publish
- Isolated: Changes don't affect others
Creating Private Versions
Method 1: Copy from Public
- Open Version Management
- Select public version
- Click Copy to Private
- Enter name and description
Method 2: Via API
// Get private version (creates if needed when editing)
var privateVersion = Table_1.getPlanning().getPrivateVersion();
Method 3: Auto-Created When editing a public version, SAC automatically creates a private edit mode.
Private Version Properties
| Property | Description |
|---|---|
| ID | System-generated or user-defined |
| Description | User-provided description |
| Source Version | Public version it was copied from |
| Created Date | When private version was created |
| Last Modified | Most recent edit timestamp |
Sharing Private Versions
Share with colleagues for collaboration:
- Open Version Management → Private Versions
- Select version → More (...) → Share
- Choose access level:
- Read Only: View but not edit
- Read and Write: Full editing access
- Select users or teams
Private Version Limits
- System limit on number of private versions per user
- Inactive versions may be auto-cleaned
- Check tenant settings for specific limits
Edit Mode
When editing a public version, SAC creates a temporary private copy.
How Edit Mode Works
User starts editing public version
↓
System creates "edit mode" (private copy)
↓
User makes changes (only they can see)
↓
User publishes OR reverts
↓
Edit mode merged to public OR discarded
Entering Edit Mode
Automatic: Edit any cell in a planning-enabled table on public version
Via UI:
- Version Management → Public Versions
- Select version → Edit
Edit Mode Indicators
- Table shows "Edit Mode" indicator
- Version selector shows edit status
- Other users see original public data
Exiting Edit Mode
Publish: Merge changes to public version Revert: Discard all changes Auto-Discard: After inactivity timeout
Concurrent Editing
- Multiple users can have edit mode on same public version
- Each user's changes isolated until publish
- Conflicts resolved at publish time:
- Last write wins for same cells
- Different cells merge cleanly
Publishing Workflows
Publish (Merge to Source)
Merges private/edit mode changes back to original public version.
Steps:
- Complete data entry in private version
- Click Publish in Version Management
- System validates changes
- Valid changes merge to public
- Private version/edit mode deleted
Validation Rules:
- Data access control (user can write to cells)
- Data locks (cells not locked)
- Validation rules (pass model rules)
Important: Invalid changes are discarded, not merged.
Publish As (Create New Public)
Creates a new public version from private data.
Steps:
- Complete data entry in private version
- Click Publish As in Version Management
- Enter new version ID and description
- System creates new public version
- Private version optionally deleted
Use Cases:
- Create new budget version from draft
- Save simulation as official scenario
- Archive point-in-time snapshot
Revert (Discard Changes)
Discards all changes in private version/edit mode.
Steps:
- Open Version Management
- Select private version or edit mode
- Click Revert
- Confirm discarding changes
- Private version/edit mode deleted
When to Revert:
- Started over with wrong assumptions
- Discovered errors requiring fresh start
- Simulation no longer needed
Version API
getPlanning() Version Methods
// Get all public versions
var publicVersions = Table_1.getPlanning().getPublicVersions();
// Get specific public version
var budget = Table_1.getPlanning().getPublicVersion("Budget_2025");
// Get current private version
var privateVer = Table_1.getPlanning().getPrivateVersion();
// Get all user's private versions
var allPrivate = Table_1.getPlanning().getPrivateVersions();
PlanningVersion Object
// Version properties
console.log(version.id); // "Budget_2025"
console.log(version.description); // "Annual Budget 2025"
// Check for unsaved changes
if (version.isDirty()) {
console.log("Has unpublished changes");
}
// Publish changes
version.publish();
// Publish as new version
version.publishAs("Budget_2025_v2", "Revised Budget 2025");
// Revert changes
version.revert();
Version Selection in Data Source
// Filter to specific version
Table_1.getDataSource().setDimensionFilter("Version",
"[Version].[parentId].&[public.Budget_2025]");
// Get current version filter
var versionFilter = Table_1.getDataSource().getDimensionFilters("Version");
Version-Based Workflow Example
// Complete workflow: create private, edit, publish
function createBudgetVersion(sourceVersion, targetVersion) {
Application.showBusyIndicator();
// 1. Copy source to private
var source = Table_1.getPlanning().getPublicVersion(sourceVersion);
// (User would edit data in table)
// 2. Get private version after editing
var privateVer = Table_1.getPlanning().getPrivateVersion();
// 3. Publish as new version
if (privateVer && privateVer.isDirty()) {
privateVer.publishAs(targetVersion, "Created from " + sourceVersion);
Application.showMessage("Version " + targetVersion + " created");
}
Application.hideBusyIndicator();
}
Version Management Panel
Accessing the Panel
In Story:
- Open planning-enabled story
- Click Version Management in toolbar
In Analytics Designer:
- Add Version Management panel programmatically
- Or create custom UI with API calls
Panel Sections
Public Versions:
- List all public versions
- Create, edit, delete options
- Publish target selection
Private Versions:
- User's private versions
- Publish, share, delete options
- Copy from public option
Edit Mode:
- Current edit mode status
- Publish or revert options
- Time since last save
Version Operations
| Operation | Availability | Requirements |
|---|---|---|
| Create Public | Public section | Model write access |
| Delete Public | Public section | Empty version, delete permission |
| Edit Public | Public section | Write access |
| Copy to Private | Public section | Read access |
| Publish | Private/Edit | Write access to target |
| Publish As | Private section | Create version permission |
| Share Private | Private section | Share permission |
| Revert | Private/Edit | None (own changes only) |
Best Practices
Version Naming Conventions
Public Versions:
Actual - Historical/imported data
Budget_YYYY - Annual budget by year
Forecast_YYYY_QN - Quarterly forecast
Plan_YYYY_MM - Monthly plan version
Private Versions:
[User]_Draft_[Date] - Personal drafts
WhatIf_[Scenario] - Simulation scenarios
Version Lifecycle
1. Planning Cycle Starts
└── Create new Budget_YYYY version (empty or seeded)
2. Data Entry Phase
└── Users work in private versions
└── Submit for review
3. Review Phase
└── Reviewers check private versions
└── Approve or reject
4. Finalization
└── Publish approved to public
└── Lock public version
└── Clean up private versions
5. Reporting
└── Use public version for reports
└── Compare to Actual version
Performance Considerations
- Limit active versions - Delete unused versions
- Clean private versions - Encourage users to publish or revert
- Use version filters - Don't load all versions in reports
- Archive old versions - Export and delete historical versions
Security Recommendations
- Version-level access - Control who can see/edit each version
- Audit changes - Track who published what
- Backup before delete - Export version data first
- Lock approved versions - Prevent accidental changes
Common Mistakes to Avoid
| Mistake | Solution |
|---|---|
| Too many private versions | Set cleanup policy, encourage publish |
| Orphaned edit modes | Auto-timeout after inactivity |
| Conflicting publishes | Communicate publishing schedule |
| Deleting needed versions | Implement approval for deletion |
| Version naming chaos | Enforce naming conventions |
Troubleshooting
"Cannot publish - validation failed"
Causes:
- Data access control blocking cells
- Data lock on target cells
- Model validation rules failing
Solution:
- Check data access permissions
- Verify lock status
- Review validation rule messages
"Version not appearing"
Causes:
- No access to version
- Filter hiding version
- Version recently deleted
Solution:
- Check version permissions
- Remove version filters
- Refresh model metadata
"Edit mode lost"
Causes:
- Session timeout
- System cleanup
- Another user published
Solution:
- Save frequently
- Check auto-save settings
- Coordinate with other users
"Cannot delete version"
Causes:
- Version contains data
- Version in use by process
- Insufficient permissions
Solution:
- Clear version data first
- Complete or cancel processes
- Request delete permission
Documentation Links:
- Version Management: https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/9d9056a13b764ad3aca8fef2630fcc00.html
- Public Versions: https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/b6e3d093988e4c3eba7eb6c1c110e954.html
- Private Versions: https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/1a011f8041a84e109a3b6bf8c1c81bc1.html
- Sharing Versions: https://help.sap.com/doc/00f68c2e08b941f081002fd3691d86a7/2023.20/en-US/e763e27e0f4c419488381f77937a0ff1.html