Getting Started
Overview & Architecture
SAP Business Planning and Consolidation (BPC) 10.1 Standard is a robust, unified application for enterprise financial planning, budgeting, forecasting, and statutory consolidation.
Standard vs. Embedded Model
BPC 10.1 introduced a major architectural split on the SAP NetWeaver platform: Standard and Embedded.
| Feature | Standard Model | Embedded Model |
| Architecture | Account-based, uses BPC-specific generated BW objects (/CPMB/ namespace). | Key Figure-based, directly integrates with SAP BW-IP (Integrated Planning) objects. |
| Data Persistence | Data is loaded into BPC from BW via Data Manager. | Real-time access to BW data; no data duplication. |
| Target User | Business Users (Finance) - IT independent modeling. | IT & Data Modelers - strict BW governance. |
| Logic Engine | Script Logic and ABAP BAdIs. | FOX formulas and HANA SQLScript (AMDP). |
Note: This guide strictly covers the BPC 10.1 Standard model, which maintains the classic BPC modeling approach favored by Finance departments.
System Architecture (NetWeaver)
BPC Standard runs on the SAP NetWeaver ABAP stack, typically on top of a SAP HANA database (though classic DBs were supported historically).
- Database Layer: Stores the actual physical tables (generated by BW).
- BW Application Layer: When you create an Environment and Model in the BPC web client, the system generates BW InfoCubes, InfoObjects, and MultiProviders in the background under the
/CPMB/ namespace.
- BPC Application Layer: The logic engine (Script Logic), security framework, and Data Manager reside here.
- Presentation Layer: The EPM Add-in for Microsoft Office (Excel, Word, PPT) and the HTML5 Web Client.
Getting Started
Environments & Models
The fundamental containers of data and metadata in BPC Standard.
Environment (AppSet)
An Environment is the highest-level container in BPC. It represents a complete business application (e.g., "Global Finance" or "Corporate Consolidation"). Security, Dimensions, and Data Manager packages are maintained at the Environment level.
Models (Applications)
Within an Environment, you create one or more Models. A Model is a multidimensional data store (an InfoCube in the backend) designed for a specific business process.
Types of Models
Used for planning and reporting. Requires specific dimension types (Account, Category, Entity, Time).
Requires strict dimension requirements including Group, Intercompany (INTCO), and specific properties to run statutory consolidation business rules.
A flexible model without strict dimension requirements, often used for operational planning (e.g., HR headcount planning).
Supporting models used to store FX exchange rates or company ownership percentages for consolidation.
Model Optimization
In the BW backend, a standard BPC Model generates a real-time InfoCube. Over time, as planning data is written, the uncompressed Delta tables (F-Fact table) grow. BPC administrators must routinely run Light Optimize (or Full Optimize) via Data Manager to compress data into the E-Fact table and update database statistics, ensuring sustained query performance.
Data Modeling
Dimensions & Properties
Dimensions provide the analytical context for the numbers. BPC Standard requires specific dimension types for its internal logic to function.
Required Dimension Types
A Financial or Consolidation model must contain the following dimension types:
| Type | Code | Purpose | Required Properties |
| Account | A | Chart of accounts, measures, KPIs. | ACCTYPE (INC, EXP, AST, LEQ), RATETYPE |
| Category | C | Data versions (Actual, Budget, Forecast). | CATEGORY_FOR_OPE, YEAR |
| Entity | E | Cost centers, company codes, regions. | CURRENCY, INTCO |
| Time | T | Time periods (Year, Quarter, Month). | MONTHNUM, YEAR, PERIOD, TIMEID |
Supporting Dimension Types
- Currency (
R): Reporting currency (e.g., LC, USD, EUR). Required if the model supports currency translation.
- Intercompany (
I): Represents the counter-party in an intercompany transaction. Required for consolidation eliminations.
- Audit / Data Source (
D): Tracks where data came from (e.g., Input, BW Load, Allocation Logic).
- User Defined (
U): Custom dimensions like Product, Customer, or Project.
Dimension Properties
Properties are attributes attached to dimension members. They are critical for filtering in reports and driving Script Logic. For example, the ACCTYPE property on the Account dimension tells BPC whether to treat the account as Income (credit balance) or Expense (debit balance), which automatically flips the sign for reporting in the EPM Add-in.
Hierarchies
Dimensions can have one or more Hierarchies (e.g., a Geographical hierarchy and a Management hierarchy for Entities). In BPC Standard, hierarchies are Parent-Child based. The PARENTH1 property defines the parent of a specific member.
Data Modeling
BW Backend Integration
Understanding how BPC Standard maps to SAP BW is critical for troubleshooting and data loading.
The /CPMB/ Namespace
When you create objects in the BPC web client, they are physically generated in BW within the /CPMB/ namespace.
| BPC Object | BW Equivalent | Example Technical Name |
| Environment | InfoArea | /CPMB/ENV_NAME |
| Model | InfoCube (Real-time) | /CPMB/MODEL_ID |
| Dimension | InfoObject (Characteristic) | /CPMB/DIM_ID |
| Dimension Property | InfoObject Attribute | /CPMB/PROP_ID |
| Signed Data (Value) | InfoObject (Key Figure) | /CPMB/SDATA |
Do not modify /CPMB/ objects directly in SAP GUI (RSA1). Any changes made to BPC-generated BW objects via SAP GUI will be overwritten or cause severe inconsistencies the next time the environment is processed in the BPC Web Client. Always use the BPC Web Admin interface for modeling.
Data Extraction from BW
To load actuals from standard BW InfoCubes/DSOs into BPC Standard:
- Create a Data Manager Package using the process chain
/CPMB/LOAD_INFOPROV_UI.
- Create a Transformation File to map the BW InfoObjects to the BPC Dimensions.
- Execute the package, which extracts data from the BW provider and writes it to the BPC InfoCube.
Data Integration
Data Manager Packages
Data Manager (DM) is the ETL (Extract, Transform, Load) toolset within BPC Standard, executed via the EPM Add-in.
What is a DM Package?
A Data Manager Package is a user-friendly wrapper around a standard SAP BW Process Chain. It allows business users (planners) to execute complex background jobs without accessing the SAP GUI.
Common DM Packages
Load flat files (CSV) from the BPC server repository into a model, or export data to a file. (e.g., Import Transaction Data).
Load data from a BW InfoProvider directly into a BPC model.
Trigger Script Logic or Advanced Calculations (e.g., Currency Translation, Consolidation, Allocations).
Run database optimization (Light Optimize) to compress data and improve read performance.
Delta vs. Full Load
When loading data via Data Manager, BPC handles data updates based on the load type:
- Update / Merge: Adds new records and overwrites existing records if the exact dimensional intersection matches. Does not clear other data.
- Replace & Clear: Clears the entire intersection of data specified in the scope before loading the new file. Crucial for ensuring deleted records in the source are removed from BPC.
Data Integration
Transformation & Conversion Files
These files dictate how source data is mapped, cleansed, and transformed as it enters a BPC Model via Data Manager.
Transformation Files (.xls)
A Transformation File maps the columns of a source file (or InfoProvider) to the Dimensions of the target BPC model. It contains three main sections:
*OPTIONS
FORMAT = DELIMITED
HEADER = YES
DELIMITER = ,
*MAPPING
ACCOUNT = col(1)
ENTITY = col(2)
TIME = col(3)
SIGNEDDATA = col(4)
*CONVERSION
ACCOUNT = ACC_CONVERSION.xls
Conversion Files (.xls)
While the Transformation file handles column-to-dimension mapping, a Conversion File handles row-by-row data translation. It acts as a lookup table.
| EXTERNAL (Source) | INTERNAL (Target in BPC) | FORMULA |
| 1000 | CC_1000 | |
| 20* | CC_GENERIC | |
| * | * | |
Wildcards: The * wildcard is heavily used. * mapped to * means "if no other rule applies, pass the source value through exactly as it is."
Logic & Calculation
Script Logic
Script Logic is BPC's proprietary, SQL-like scripting language used to perform bulk calculations, allocations, and data movements.
Core Concepts
Unlike Excel formulas that run in memory, Script Logic executes on the server against the database. It processes data in batches.
Scoping (XDIM_MEMBERSET)
The most important rule in Script Logic is defining the scope. Scoping restricts the dataset pulled into server memory for the calculation. Poor scoping leads to severe performance issues.
// Restrict the memory scope to specific members
*XDIM_MEMBERSET CATEGORY = Budget
*XDIM_MEMBERSET TIME = 2026.JAN, 2026.FEB
*XDIM_MEMBERSET ACCOUNT = 400000, 410000
The WHEN / REC / ENDWHEN Loop
This is the fundamental processing loop in Script Logic. It evaluates records in the scope and writes new records based on conditions.
*WHEN ACCOUNT
*IS "400000" // If the account is Revenue
// Write a new record to the Tax account, calculating 5% of Revenue
*REC(FACTOR = 0.05, ACCOUNT = "210000")
*IS "410000"
// Move the value to a different Entity
*REC(EXPRESSION = %VALUE%, ENTITY = "US01")
*ENDWHEN
Default.LGF
Every model has a special script file named Default.lgf. This logic runs automatically every time a user saves data via an input schedule or journal. It should be kept extremely lightweight (e.g., simple sign-flipping or basic driver calculations) to prevent long wait times during data saves.
Logic & Calculation
BAdIs & ABAP Integration
When Script Logic is not powerful or fast enough, developers use ABAP BAdIs (Business Add-Ins) to execute complex, high-performance server-side logic.
Why use a BAdI?
Script Logic is great for simple math, but it struggles with complex loops, string manipulation, reading from external BW tables, or highly complex allocations. BAdIs allow you to write pure ABAP code to manipulate BPC data.
The UJ_CUSTOM_LOGIC BAdI
To integrate ABAP into a BPC process, developers implement the standard enhancement spot BADI_UJ_CUSTOM_LOGIC. The ABAP developer creates a filter value (e.g., MY_ALLOCATION).
The business user can then trigger this ABAP code from a standard Data Manager Package or within Script Logic using the *START_BADI command:
*START_BADI MY_ALLOCATION
QUERY = ON
WRITE = ON
*END_BADI
Performance Implications
BAdIs are generally much faster than Script Logic for large datasets because they use internal ABAP tables and optimized SQL reads/writes directly against the HANA database. However, they require IT dependency, removing the "Finance-owned" aspect of BPC.
Reporting & UI
EPM Add-in for Excel
The Enterprise Performance Management (EPM) Add-in is the primary interface for Finance users to build reports, input schedules, and execute packages.
Report Editor
The Report Editor is a drag-and-drop interface used to define the Rows, Columns, and Page Axis of an Excel report. It automatically generates the EPM formulas needed to retrieve data.
Key EPM Functions
Advanced users build reports using direct cell-based EPM formulas rather than the Report Editor for ultimate formatting control.
| Function | Purpose |
=EPMRetrieveData() | Fetches a single data intersection from the database based on dimension coordinates. |
=EPMSaveData() | Allows a specific cell value to be saved back to the database. |
=EPMSelectMember() | Creates a double-clickable cell that opens the dimension member selector UI. |
=EPMContextMember() | Displays the current dimension member selected in the context pane. |
Local Members
A Local Member is a calculated row or column that exists only in the Excel report, not in the BPC database (e.g., a "Gross Margin %" variance column). Local Members automatically expand and move dynamically with the report layout.
Dynamic Formatting
Because BPC reports are dynamic (rows expand and collapse), standard Excel formatting is destroyed upon refresh. EPM uses a Dynamic Formatting Sheet. You define formatting rules based on dimension properties (e.g., "If Account property CALC=Y, make the row bold and blue"), and the EPM Add-in reapplies these formats perfectly after every refresh.
Reporting & UI
HTML5 Web Client
The BPC Web Client is the central hub for system administration, workspace management, and process flow tracking.
Administration Workspace
Used by Modelers and Admins to manage the backend structure:
- Create and modify Dimensions and Properties.
- Manage Models and Environment settings.
- Configure Security Users, Teams, and Task Profiles.
- Manage Business Rules for Consolidation (Currency Translation, Eliminations).
Business User Workspace
Provides a web-based entry point for end-users:
- Launch the EPM Add-in contextualized to specific reports.
- View and interact with Workspaces (web-based dashboards).
- Execute and track Business Process Flows (BPF).
- Manage Document repositories.
Process Management
Business Process Flows (BPF)
BPFs guide users through a predefined, sequential planning or consolidation process, ensuring steps are completed in the correct order.
BPF Architecture
1
Process Template
The master blueprint designed by an admin. Defines the steps (e.g., 1. Enter Sales, 2. Enter OPEX, 3. Review).
2
Driving Dimension
The dimension that splits the process among users. Typically the Entity dimension. (e.g., US creates a budget, UK creates a budget).
3
Process Instance
A live, generated version of the template for a specific time period (e.g., "Q3 2026 Forecast").
Workspaces within BPFs
When a user clicks a step in their BPF inbox (e.g., "Enter OPEX"), the BPF automatically opens the correct EPM Input Schedule, pre-filtered to their specific Entity and Time context. This prevents users from entering data in the wrong place.
Process Management
Work Status
Work Status is BPC's data locking and approval mechanism. It prevents unauthorized data changes based on the business lifecycle.
Work States
Admins define sequential states. A common sequence is:
- Unlocked: Data entry allowed by all planners.
- Submitted: Planners can no longer edit; Managers can review.
- Approved: Data is locked for everyone except system administrators.
Controlling Dimensions
Work Status is applied to a slice of data defined by specific dimensions (e.g., Entity, Category, Time). Example: You can lock "Actuals" for "Q1" for "Entity US", while leaving "Entity UK" open.
Owner vs. Manager
The Entity dimension typically contains an OWNER property and a REVIEWER (Manager) property. Only the Owner can transition the state from Unlocked to Submitted. Only the Reviewer can transition the state from Submitted to Approved, or reject it back to Unlocked.
Administration
Security & Profiles
BPC has its own security layer that runs on top of the NetWeaver ABAP security model, managed entirely via the BPC Web Client.
Security Components
| Component | Purpose |
| Users | Mapped directly to SAP NetWeaver ABAP user IDs (SU01). |
| Teams | Groups of users. Best practice is to assign profiles to Teams, not individual Users. |
| Task Profiles | Controls what a user can do (e.g., Create Reports, Save Data, Run Packages, Admin System). |
| Data Access Profiles (DAP) | Controls where a user can read/write data based on dimension members (e.g., Read/Write access to Entity 'US', Read-Only to Entity 'UK', Denied to Entity 'GER'). |
Resolution of Conflicts: If a user belongs to multiple teams with different Data Access Profiles, BPC applies the least restrictive access (union of all privileges).