Learn to Control Master Data Property Automation from SAP BPC for NetWeaver

  • by Meiyalagan Kulandaivelu, Business Analyst
  • November 29, 2012

Using profit centers as an example, learn how an organization overcame a challenge with master data property loads in SAP Business Planning and Consolidation, version for SAP NetWeaver. Go through a step-by-step explanation of the solution, which includes the use of a Data Manager package and a master data routine Business Add-In. Sample code is included for the solution.

Based on my experiences using SAP Business Planning and Consolidation (SAP BPC), version for SAP NetWeaver, I developed a solution that solved a problem involving master data property automation at my company. In this case study, I’ll take you through what I learned.

SAP BPC, version for SAP NetWeaver is designed to empower the business by reducing its dependency on the IT department. Master data is an area that is normally handled by IT. With SAP BPC, version for SAP NetWeaver, users can directly maintain master data from an administrative console or they can automate a master data load from SAP NetWeaver BW.

Given the need to get master data properties from SAP NetWeaver BW, I decided to use an automated approach to loading the master data and master data properties from SAP NetWeaver BW into SAP BPC, version for NetWeaver. However, I discovered an issue with this master data automation method, so I found a solution to overcome it.

How My Company Uses Dimensions

When I implemented SAP BPC, version for NetWeaver for an investment bank project, I had 13 dimensions, such as profit center, account, and time. To explain the automation process I implemented, I’m using the profit center dimension. I used standard Data Manager packages to automate a master data load from SAP NetWeaver BW into SAP BPC, version for NetWeaver.

Profit center has properties, such as currency, company code, and region, which are derived during the automation. Some properties need to be maintained directly in SAP BPC, version for NetWeaver. Although the automation worked successfully, I started facing the following issues:

  • The profit center dimension member sheet became very slow in processing as it has around 90,000 profit centers
  • Profit center master selection in the Web report and audit report took approximately two minutes (ideally is should take a few seconds)
  • Profit center is also used for security purposes, and overall it started to slow down the system

Although the bank had 90,000 profit centers in the dimension through master data automation, the bank used only about 12,000 profit centers for planning purposes. The bank has a lot of profit centers for tracking revenue in SAP ERP Central Component (SAP ECC); however, the bank doesn’t need all of those profit centers in SAP BPC because analysts only conduct expense planning in SAP BPC. I planned only for our manpower expense because in a bank, it’s difficult to perform revenue planning. The reporting requirement in SAP BPC, version for SAP NetWeaver focuses on the actual manpower expense versus the planned manpower expense. Ideally, I would only need to bring the 12,000 profit centers used for planning the manpower expense.

I looked for an option on the SAP NetWeaver BW side to see if I could identify any flag in the profit center InfoObject. I thought I then could use that flag to load only the profit centers needed for expense planning. However, no flag is maintained in the InfoObject to identify the profit centers. I also considered an approach in which the user could maintain the required profit center IDs in an SAP BPC profit center dimension. Using these profit center IDs, I tried to figure out a way in the standard Data Manager package to filter out the profit centers while loading data into SAP BPC, version for NetWeaver. However, since there are no straightforward options available without using a Business Add-In (BAdI), I eventually took the BAdI route.

I used these profit centers as a reference in the transformation start routine to filter out the profit center and load the description, currency, company code, and region into an SAP BPC profit center dimension.

When there is a new profit center on which a business user wants to plan, the user just needs to maintain the profit center in the profit center dimension and trigger the master data automation using a Data Manager package link. This loads the required attributes and the description from SAP NetWeaver BW into SAP BPC, version for NetWeaver. I also have a Data Manager package link scheduled overnight to refresh the profit center dimension properties that are derived from SAP NetWeaver BW.

With the solution in place, the investment bank experienced an improvement in profit center use in terms of performance. This approach also helped business users gain a firm control over profit center dimension maintenance.

Some people have asked me: Why not maintain the hierarchy in SAP ECC and use this hierarchy as a filter while loading into SAP BPC?

The answer lies in how the bank deals with process. At the bank, a central team creates the profit centers, and the team updates only one hierarchy, which includes all the profit centers. Thus, I could not use this hierarchy in a filter. Also, bank planners do not have access rights to maintain the hierarchy in SAP ECC, so business users simply maintain the required profit centers directly in SAP BPC.

Once I put this approach in place, there were about 12,000 profit centers in the profit center dimension. Now, modifying the user-defined dimension property or adding a new profit center dimension ID does not create any performance issues. The selection of the profit center in the audit report also works well.   

The Step-By-Step Solution

You can carry out this solution in SAP BPC 10.0, version for SAP NetWeaver as well as in SAP BPC 7.5, version for SAP NetWeaver. An SAP BPC functional expert with basic ABAP knowledge can implement it. You need to complete the following tasks to achieve this solution:

  • Step 1. Create a sample planning environment
  • Step 2. Create a dimension with a few properties that you can use in a BAdI
  • Step 3. Configure a transformation file and Data Manager package
  • Step 4: Implement a master data routine BAdI

Here are the detailed steps you take to achieve this solution:

Step 1. Create a Sample Planning Environment

Log in to the administration console for SAP BPC 7.5 or 10.0, version for SAP NetWeaver. Click the Manage Environment button in 10.0, or click the Manage Application Set link under Administration Console in the Web administration page for 7.5. Select the Environment ENVIRONMENTSHELL, click the Copy button, and give the new name as PLANNING. This copies environment ENVIRONMENTSHELL into a new environment.

Step 2. Create a Dimension with a Few Properties that You Can Use in a BAdI

Go to the Dimension Library under the Manage Dimensions and Models tab for SAP BPC 10.0, version for SAP NetWeaver (under the Appset tab for SAP BPC 7.5). Create a new dimension for a profit center with properties for currency, company code, and region (Figure 1). These properties are derived from SAP NetWeaver BW. Use a normal transformation file (Figure 2) to get data for these properties as part of properties automation from SAP NetWeaver BW into SAP BPC.

Because using transformation files is a basic SAP BPC action, I don’t go into details on how to do this. There are a few properties you can maintain directly in SAP BPC (I used user-defined property OWNER in my example). You do not map those properties in the transformation file, so they are not affected by the master data automation process. Which properties you choose to maintain depends on the business requirements.

Figure 1
A profit center dimension

Figure 2
A transformation file

Step 3. Configure a Transformation File and Data Manager Package

Log in to the SAP BPC interface with Microsoft Excel and click the Data Manager button. Now click the Create a New Transformation button, and a new Excel file opens with options and mapping parts as shown in Figure 2. The *OPTIONS section has a parameter called STARTROUTINE, in which you manually enter the BAdI filter name. When you use this transformation in a Data Manager package, STARTROUTINE = ZBPC_PLAN_ENTITY_START calls the appropriate BAdI. I have written the entire logic in this BAdI, which is available for download.

Next, fill in the *MAPPING section as shown in Figure 2 (e.g., enter PCATTR09 in the COUNTRY field in my example) and save the transformation file in the Company folder using the save option in Data Manager. This file is later used in the Data Manager package creation.

Click the Create a Data Manager Package link under the Organize Package link, and you get a screen similar to that shown in Figure 3.

Figure 3
A Data Manager package link

Click the Add task button and the system prompts you for the following details:

  • Select the InfoObject. This is the SAP NetWeaver BW InfoObject name from which you are going to load the profit center master data. Select the InfoObject name 0PROFIT_CTR, as shown in Figure 4, and click the Next button. Users have the option to type in the InfoObject name manually or choose it from the drop-down if they know the InfoObject from which to load data into SAP BPC, version for NetWeaver.

Figure 4
Select an InfoObject name

  • Select a write mode setting. Choose Update as shown in Figure 5 and click the Next button.

Figure 5
Select Update as the write mode

  • Select a transformation file. From the drop-down menu, choose the transformation file that you created in Step 3 (Figure 6) and click the Next button.

Figure 6
Your transformation file in Data Manager

  • Select a dimension name. Select PROFIT_CTR from the drop-down menu as you are loading data for the dimension profit center (Figure 7), and click the Finish button to end the creation of the Data Manager package link.

Figure 7
Choose PROFIT_CTR as the dimension name

Step 4. Implement a Master Data Routine BAdI

Create the BAdI framework for an SAP NetWeaver BW master data routine. This article does not cover how to create the BAdI framework. You can then use the BAdI as a STARTROUTINE in the transformation file. Once the BAdI is created, select the filter value as ZBPC_PLAN_ENTITY_START (Figure 8). This setting ensures that the right BAdI is called in the transformation.

Figure 8
A BAdI implementation

Figure 9 shows the code for a data declaration. You need to declare the variables, tables, and field symbols that are used in the logic. Click here to download the data declaration code.

Figure 9
Data declaration code

At this point, the process for reading the profit center dimension begins. I set the condition to read the profit centers of the dimension. The code in Figure 10 sets the condition to read the required profit centers from SAP BPC., version for NetWeaver, which helps filter out the required profit centers to load into SAP BPC. Click here to download the code to set the condition.

Figure 10
Code to set the condition

The code in Figure 11 allows your system to read the profit centers from the profit center dimension. The table rf_data contains the list of profit centers. Click here to download the data reading code.

Figure 11
Data reading code

At this point, table lt_entity has the list of profit centers you need to load from SAP NetWeaver BW. You can delete any unnecessary profit centers. Using the code in Figure 12, I remove unwanted profit centers from table <lt_data_im>. At the end of this loop you have only the required profit centers. Click here to download the unwanted profit center code.

Figure 12
Code to remove unwanted profit centers

The required profit centers are moved to the output table of the BAdI. The code in Figure 13 moves the data to the output table. After the successful completion of the Data Manager package load, you get only the required profit centers in SAP BPC.

Figure 13
Move data to an output table

Meiyalagan Kulandaivelu

Meiyalagan Kulandaivelu is an analyst working in an investment bank in Singapore. He has worked with SAP NetWeaver BW since 2004 and SAP Planning and Consolidation, version for SAP NetWeaver since 2008. He is certified in SAP NetWeaver BW and SAP BPC, version for SAP NetWeaver. Prior to this role, he worked with SAP Consulting in India.

If you have comments about this article or would like to submit an article idea, contact the BI editor.

See more by this author

You may contact the author at kmeiyalagan@gmail.com.


If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.


No comments have been submitted on this article. 

Please log in to post a comment.

To learn more about subscription access to premium content, click here.