/BI
Learn a data loading automation solution for SAP BusinessObjects Planning and Consolidation, version for SAP NetWeaver. With this solution, business users can start and finish data loading by themselves by clicking a couple of buttons in the SAP BusinessObjects Planning and Consolidation client interface and save the loaded data in a different version.
Key Concept
Business Add-Ins (BAdIs) no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (such as SAP, country-specific versions, industry solutions, partner, and customer). You can create definitions and implementations of BAdIs at any level of the system landscape.
SAP BusinessObjects Planning and Consolidation enables the planning or consolidation process to be driven by business users rather than IT. If financial business processes depend on IT regularly, it can be very time consuming for the IT department and can also create delays for business users. For example:
- Business users finish their monthly closing, but need to inform IT to trigger an SAP NetWeaver BW process chain to start the actual data loading
- Business users need to wait for IT to inform them if the data loading finished successfully, and they can’t start the planning cycle until they hear from them
- Business users want to do another data load with a different version this month, but have to ask if IT is available to do this as an extra request or an IT ticket
With SAP BusinessObjects Planning and Consolidation, the business user can initiate the data loading process, independent of IT support, after finishing month-end closing (or whenever they need to refresh source data). They don’t need to understand all kinds of system background jobs and their dependencies, and they shouldn’t need to log in to SAP NetWeaver BW either.
I’ll provide you with an SAP BusinessObjects Planning and Consolidation data loading automation solution you can give to these business users that can facilitate this activity. I will explain the solution — suitable for an SAP BusinessObjects Planning and Consolidation implementation team — in the following areas:
- Allow business users to start and finish loading data by running just one Data Manager Package from SAP BusinessObjects Planning and Consolidation, version for SAP NetWeaver
- Create an SAP NetWeaver BW metachain to run both SAP BusinessObjects Planning and Consolidation dimension loading and application loading
- Configure variants for an ABAP program, which is used for running the Data Manager Package in the SAP NetWeaver BW back end
- Call the SAP NetWeaver BW metachain from a customized Data Manager Package
- Use script logic and a customized Business Add-In (BAdI) if special logic needs to be applied and can’t be fulfilled by SAP BusinessObjects Planning and Consolidation transformation and conversion files
- Create a customized Data Manager Package with a prompt as a dynamic parameter
- Pass the dynamic parameter to the script logic
- Call a customized BAdI from the script logic for the special logic
This article applies to SAP BusinessObjects Planning and Consolidation 7.5 and SAP NetWeaver BW 7.0 systems. It is designed for SAP BusinessObjects Planning and Consolidation project managers, and the steps can also be performed by solution architects in other SAP BusinessObjects Planning and Consolidation or BI roles.
Note
For SAP BusinessObjects Planning and Consolidation 10.0, much of what I describe is standard content.
Run One Data Manager Package to Start and Finish Loading
Business users use SAP BusinessObjects Planning and Consolidation, version for SAP NetWeaver to do their planning or consolidation. They would like to use the same interface for data loading, which they would like to initiate by executing just one function. Running one Data Manager Package from SAP BusinessObjects Planning and Consolidation is a solution.
SAP BusinessObjects Planning and Consolidation delivers some standard Data Manager Packages, such as:
- ImportMasterData: For loading dimension members
- LoadInfoProvider: For loading applications from an SAP NetWeaver BW InfoProvider
- Load_Infoprov_UI: For loading applications from an SAP NetWeaver BW InfoProvider. This only exists in SAP BusinessObjects Planning and Consolidation 7.5 and is currently only visible in the SAP NetWeaver process chain. It has a new feature: filtering data with characteristics before loading it.
- Import: For loading external ASCII data in standard format. The data in the flat file can’t have the same dimensions multiple times even with different measures.
- Append: For loading external ASCII data in standard format, but without the problem with Import. The data in the flat file can have the same dimension multiple times. This only exists in SAP BusinessObjects Planning and Consolidation 7.5, and is currently only visible in the SAP NetWeaver BW process chain.
The issue is that if you use the above Data Manager Packages, you have to run them many times in a proper sequence whenever you need to load data. For example, you need to run Data Manager Package ImportMasterData several times to load each dimension. Then you need to run another Data Manager Package LoadInfoProvider to load from an SAP BCS InfoCube for actual data, and you might need to run the Data Manager Package Append to load some purchase order (PO) information from an SAP NetWeaver BW query as well. Using those Data Manager Packages individually, business users should execute the different functions cautiously to allow for the proper sequence, and monitor the process of each package.
To avoid this, you need to create one customized Data Manager Package, in this example called LoadingAllData. This customized package loads all necessary SAP BusinessObjects Planning and Consolidation data from all sources, including:
- SAP BCS consolidated actual data from SAP NetWeaver BW BCS InfoCubes
- Statistical data from Oracle data warehouse
- Some detailed general ledger data from SAP NetWeaver general ledger queries
- Some purchasing information from SAP NetWeaver BW PO queries
- Dimension members, which can include accounts, entities, profit centers, and functional areas with hierarchies from SAP NetWeaver BW
With this customized Data Manager Package, business users can run one function to finish loading the data. The user now has no need to know all the data loading sequence, or monitor one process after another.
You can configure this customized data package by calling one SAP NetWeaver BW process chain to finish this task. The SAP NetWeaver BW process chain is a metachain that combines two other process chains: a master data loading chain and a transaction data loading chain. One option that you should avoid is to create a SAP NetWeaver BW extraction, transformation, and loading (ETL) to perform the SAP BusinessObjects Planning and Consolidation dimension and application loading for the current SAP BusinessObjects Planning and Consolidation architecture. The process chain here is not the normal SAP NetWeaver BW process chain, which calls SAP NetWeaver BW data transfer processes (DTP) or InfoPackage to run the data loading. Instead the process chain calls the SAP NetWeaver BW ABAP program to run a different Data Manager Package in the SAP NetWeaver BW back end.
Create the Metachain to Run Both Dimension and Application Loading
Figure 1 shows an example of an SAP NetWeaver BW metachain, which consists of two subchains. One is for SAP BusinessObjects Planning and Consolidation master data loading, and another is for application data loading.

Figure 1
SAP NetWeaver metachain
Figure 2 shows the subchain for loading SAP BusinessObjects Planning and Consolidation master data:
- The first layer of this chain runs an Infospoke (an object that extracts the data from the data source) to generate SAP NetWeaver BW InfoObject master data (text and hierarchy) in flat files
- The second layer of this chain runs an SAP BusinessObjects Planning and Consolidation Data Package in the SAP NetWeaver BW back end to load different master data to different SAP BusinessObjects Planning and Consolidation dimensions using an ABAP program with different variants

Figure 2
The subchain for loading SAP BusinessObjects Planning and Consolidation master data
The subchain shown in Figure 3 loads SAP BusinessObjects Planning and Consolidation application data. The subchain contains several layers:
- The first layer switches the SAP BusinessObjects Planning and Consolidation application cube from planning mode to data loading mode
- The second layer executes the compression of the SAP BusinessObjects Planning and Consolidation application InfoCube
- The third layer switches the SAP BusinessObjects Planning and Consolidation application cube from data loading mode to planning mode
- The fourth layer runs an SAP BusinessObjects Planning and Consolidation Data Package in the SAP NetWeaver BW back end using an ABAP program with different variants to load from the SAP NetWeaver BW BCS InfoCubes (or other SAP NetWeaver BW InfoCubes) to the SAP BusinessObjects Planning and Consolidation application and to load the flat file to the SAP BusinessObjects Planning and Consolidation application

Figure 3
The subchain for loading SAP BusinessObjects Planning and Consolidation application data
I’ll show you how to create these two subchains. They call ABAP programs, which run the SAP BusinessObjects Planning and Consolidation Data Package in the SAP NetWeaver BW back end.
Configure Variants for the ABAP Program
Here is how to configure this ABAP program with different variants, and how to call it from SAP NetWeaver BW. The process chain is the topic detailed here, and you can create it by following the steps below.
Step 1. Configure the variant for SAP BusinessObjects Planning and Consolidation standard program UJD_TEST_PACKAGE. Test the program and variants by running them with transaction SE38. These are some of the options for different variants:
- Loading master data with a variant of SAP NetWeaver BW BCS item with hierarchy to load BCS 0CS_ITEM to SAP BusinessObjects Planning and Consolidation account dimension. The data of the dimension called Accounts is loaded along with the hierarchy.
- Loading master data with a variant of SAP NetWeaver BW BCS Group/Unit to load BCS 0CS_GROUP and 0CS_UNIT to SAP BusinessObjects Planning and Consolidation Entity dimension. The data of the dimension called Entity is loaded.
- Loading master data with a variant of SAP NetWeaver BW profit center with hierarchy to load BCS 0PROFIT_CTR to SAP BusinessObjects Planning and Consolidation profit center dimension. The data of the dimension called Profit Center is loaded, also with hierarchy.
- Loading SAP NetWeaver BW InfoProvider data from SAP BCS cube to the SAP BusinessObjects Planning and Consolidation application for BCS consolidated actual data. The SAP BusinessObjects Planning and Consolidation application is loaded from SAP NetWeaver BW BCS as actual data for the planning version.
- Append or load flat file data from an Oracle Data Warehouse to the SAP BusinessObjects Planning and Consolidation application for statistical information data. The SAP BusinessObjects Planning and Consolidation application data is then loaded from Oracle as part of the operational data.
- Append or load flat file data from SAP NetWeaver BW purchasing data query results to the SAP BusinessObjects Planning and Consolidation application for certain materials management purchase order details
Now I’ll describe how to configure the variant.
Step 2. Call the ABAP UJD_TEST_PACKAGE program in the process chain using the process chain type ABAP program. Figure 4 shows this program using transaction SE38.

Figure 4
Selection screen of ABAP program UJD_TEST_PACKAGE
If you need to load an account from a flat file, for instance, the variant of this ABAP program should look like what is shown in Figure 5 when you enter the following parameters:
- The parameter User ID needs to use an SAP BusinessObjects Planning and Consolidation system user ID without an expiration date
- The following parameters can be found in the SAP BusinessObjects Planning and Consolidation system or in the ABAP table UJD_PACKAGES. (The table is named UJd_PACKAGES2 in SAP BusinessObjects Planning and Consolidation 7.5.)
- User ID, Package ID, Appset ID, Appl ID, and Team ID
- The following parameters keep the default value:
- IF synchronous and Schedule info(XML)
- The most complicated parameter is the Answer Prompt. There are two ways to generate it to a flat file, then you can use the flat file to populate the value to this parameter

Figure 5
Enter the appropriate parameters
One way is to create the answer prompt from a text file with all the parameters you need to enter when you run the Data Package directly. All the parameters are entered in the text file with different rows. Use the Tab button to space out between the parameter’s name (with % in front and at the end of the parameter name) and the parameter’s value. A sample flat file is shown in Figure 6.

Figure 6
A sample flat file for filling the ABAP program UJD_TEST_PACKAGE selections
Another way to create the answer prompt is to check the table entries of UJD_RUNPARAM. Because the entries may be deleted by the system after the Data Manager Package finishes, you can check the entries when your Data Manager Package is running manually from SAP BusinessObjects Planning and Consolidation.
With this ABAP program and different variants, you can create the subchains calling the same ABAP program multiple times with different variants as needed.
Up to now, you have created an SAP NetWeaver BW metachain that calls two SAP NetWeaver BW subchains for loading master data and application data, which call different Data Manager Packages with different variants. Now you should create a customized Data Manager Package to call this metachain. With this customized Data Manager Package, the user need only run it in the SAP BusinessObjects Planning and Consolidation Excel client.
Call the SAP NetWeaver Metachain from a Customized Data Manager Package
Figure 7 shows you how to create this customized data manager package by calling the SAP BusinessObjects Planning and Consolidation 7.5 standard DM process chain DM TRIGGER_BW_CHAIN, which is not available in version 7.0.

Figure 7
Create the customized Data Manager Package
When you are running this customized Data Manager Package, you fill the SAP NetWeaver BW metachain you created earlier as shown in Figure 8. Enter Z_TEST_DATA_LOADING and select the Run now radio button.

Figure 8
Call SAP NetWeaver BW metachain Z_TEST_DATA_LOADING
You have finished all the configuration, and the user should run one customized Data Manager Package to finish all data loading.
Here are some tips and tricks for the above process.
If you are loading data from flat files, you should make sure the flat files are saved automatically by the system in a location that SAP BusinessObjects Planning and Consolidation data manager can pick up. For example, if you are using the Infospoke approach to load the SAP NetWeaver BW InfoObjects character instead of calling Data Manager Package IMPORT_IOBJ_MASTER and IMPORT_IPBJ_HIER, you need to run the Infospoke as part of the master data process chain, and save the Infospoke-generated flat file in the server or path. Then the SAP BusinessObjects Planning and Consolidation Data Manager Package can pick up the data, which it needs to set up the ABAP program UJD_TEST_PACKAGE variant accordingly.
The Infospoke approach to load SAP NetWeaver BW InfoObject master data is very flexible, and provides an opportunity to manipulate the data before sending it to SAP BusinessObjects Planning and Consolidation. For example, if you need to load 0CS_ITEM hierarchy to the SAP BusinessObjects Planning and Consolidation account, you may have some orphan accounts that are not part of the income statement or balance sheet hierarchy. When you load them directly to the SAP BusinessObjects Planning and Consolidation account, you should organize them differently with a different hierarchy node. You may do this with the Infospoke transformation routine, which is more flexible than an SAP BusinessObjects Planning and Consolidation transformation file.
As you know the Infospoke transformation routine is coded in ABAP, so you can implement logic as needed. The SAP BusinessObjects Planning and Consolidation transformation file has formatting and syntax limitations that you can overcome by using the Infospoke transformation instead. For example, you may want to sort your account balance sheet hierarchy with the order the user always uses, with the Assets node first, followed by the Liability node, and finally the Equity node. You might want to use the Infospoke transformation routine to make this happen.
Note
There is the option to use direct loading instead of OpenHub, but OpenHub allows for flexibility if you need to massage the SAP NetWeaver BW master data first, and then load it into SAP BusinessObjects Planning and Consolidation. The OpenHub option has transformations (start routine and end routine) that you can use to massage the data. For example, the master data text may contain some special characters that need to be filtered, or the hierarchy may have different versions or orphan nodes in SAP NetWeaver BW that may cause issues if you load data directly into SAP BusinessObjects Planning and Consolidation. Alternatively, you could clean up data in SAP NetWeaver BW first, but some companies are hesitant to touch master data in the production environment of SAP NetWeaver BW for the purpose of loading it into SAP BusinessObjects Planning and Consolidation.
Use Script Logic and a Customized BAdI for Special Logic
Let’s say you need to load data to a different version, and you need to select a version before loading. You could use the customized Data Manager Package to load data to a staging version, then to use SAP BusinessObjects Planning and Consolidation standard Data Manager Package COPY to copy the Staging version to the user-selected version. This requires the user to run the COPY Data Manager Package several times — for example if you have several data sources, five flat files, and two SAP NetWeaver BW InfoProviders, then the user needs to run this Data Manager Package seven times.
Note
There is the option of using the package list if you want to add the package in the list and run it. The solution I’m describing here provides you more flexibility to implement the complex logic you need.
One solution is to use script logic and a customized BAdI to fulfill this task, which I explain below:
- You need to create a Data Manager Package with a prompt. The user can use the prompt to select the version and then pass the dynamic parameter as a variable of a user-selected value to script logic.
- In the script logic, you copy the staging version to the user-selected version dynamically. You need to pass the dynamic parameters to the script logic.
- If more logic is needed, if script logic sometimes gives rise to performance concerns, or if the script logic language can’t handle the logic you need to apply for the application data, you can also call a BAdI, the SAP BusinessObjects Planning and Consolidation Script Logic Custom BAdI.
Create a Customized Data Manager Package with a Prompt as a Dynamic Parameter
Now let’s look at how to create a Data Manager Package with a prompt. To do this, you create a process chain with a prompt and call it from a customized Data Manager Package.
First, create the start of the process chain using transaction RSPC (Figure 9). Enter the name of the process chain and a description.

Figure 9
Create a start process of a process chain using transaction RSPC
Link it with the process type BPC: Modify Dynamically, chosen on the left side of the screen in transaction RSPC (Figure 10). This produces the screen shown in Figure 11. Click the create icon to bring up the screen in Figure 12.

Figure 10
Choose BPC: Modify Dynamically

Figure 11
Add a description for the process type BPC: Dynamic Modify

Figure 12
New variant for the process type BPC: Modify Dynamically is created
Back in the transaction RSPC screen, select the BPC: Run Logic process type from the left side of the screen (Figure 13).

Figure 13
Select process type BPC: Run Logic
Drag the process type to the right side of the screen, click the create icon from the pop-up, and save the variant (Figure 14). Then the following fields will be available for you to populate, which I’ll describe in the steps below:
- TAB
- SUSER
- SELECTION
- SAPPSET
- SAPP
- REPLACEPARAM
- LOGICFILENAME
- EQU

Figure 14
Process type BPC: Run Logic variant screen
Go back to the transaction RSPC screen and do the same process for BPC: Clear BPC Tables (Figure 15). This produces the screen in Figure 16. Add CLOSE_MODE as a field and use 0 as the FIELD VALUE, which clears the Temp. Table data used by the system.

Figure 15
Process type BPC: Clear BPC Tables

Figure 16
Enter 0 as the field value for CLOSE_MODE
After you finish these steps, the whole process chain is finished in the right side of the transaction RSPC screen (Figure 17).

Figure 17
The complete process chain
When you finish creating this process chain, you can use a Data Manager Package to call it. When the user runs the Data Manager Package, he or she prompts as a selection. I’ll show you how to pass the dynamic parameter to the script logic in the next section.
Pass the Dynamic Parameter to the Script Logic
When creating a customized data package, call the process chain and name it COPY_VERSION (Figure 18).

Figure 18
Create a customized data package and call a process chain
After you save the data packages you created, you can click the icons under Dynamic Package on the left (Figure 19). This opens the Data Manager Package view and the Dynamic Script Editor.

Figure 19
The Data Manager Package view and dynamic script editor open
The LOGICFILENAME has to be the one you created by clicking TASK, for example: ERCOPYVERSION.LGF (Figure 20). In the Task window, you can enter which script logic is called and what user selection can be used in the Property and Value fields. It can be tricky to fill them correctly in the exact format the system requires, so alternatively you can add dynamic script to the Data Manager directly by clicking the Advanced button shown in the screen in Figure 20. This produces the screen in Figure 21.

Figure 20
The detailed Task Field and value

Figure 21
Dynamic Script details
Up to now, you have created a Data Manager Package with a prompt. Now you need to create a process chain with a prompt and call it from the customized Data Manager Package. Go back to the SAP BusinessObjects Planning and Consolidation Administrator screen to edit the script logic, for example ERCOPYVERSION.LGF (Figure 22).

Figure 22
Script logic example
Call a Customized BAdI from the Script Logic for the Special Logic
You need to undertake a new BAdI implementation of UJ_CUSTOM_LOGIC. In the SAP NetWeaver BW back-end system, use transaction SE19 (Figure 23).

Figure 23
New BAdI implementation
Click the Create impl. button to bring up the screen shown in Figure 24. The Filter value you used BPCTESTB is the BPCTESTB in the script logic keyword.

Figure 24
The keyword for the script logic in the BAdI implmentation
Go back to the SAP BusinessObjects Planning and Consolidation adminstrator screen and you can see an example of script logic that includes the BPCTESTB keyword (Figure 25). The keyword BPCTESTB will be called in the dynamic parameter.

Figure 25
Script logic using the keyword created in BAdI implmentation
Finally, you have your logic coded in the implemented BAdI (Figure 26).

Figure 26
Logic coded in the implemented BAdI
Liang Ma
Liang Ma is a specialist master in Deloitte’s SAP BI/BW practice, specializing in BI and data warehouse solutions in the SAP platform. She has more than 10 years of SAP experience including SAP NetWeaver BW, SAP BusinessObjects, and ABAP. Liang recently spoke at the SAP conferences SAP CRM 2011, SAP Reporting, Planning and Analytics 2010, SAP CRM 2009, SAP CRM 2010 and SAP Business Objects User 2009. In addition, she has also published articles in the following SAPexperts hubs: BI, CRM, and Financials.
Deloitte shall not be responsible for any loss sustained by any person who relies on this publication. As used in this document, “Deloitte” means Deloitte Consulting LLP, a subsidiary of Deloitte LLP. Please see www.deloitte.com/us/about for a detailed description of the legal structure of Deloitte LLP and its subsidiaries.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.