BPC 7.5 : Transactional data retraction using a custom extractor
SAP BPC 7.5 / SAP BW 7.3x
This document is a step by step guide to implement a BPC transactional data retraction solution using a custom extractor.
Author(s) : Lijo John
Company : Infosys Limited
Created on : 09 August 2013
Lijo John works as Senior SAP Consultant with Infosys Limited. He has 7 years of experience in IT Consulting Industry and during this time he has worked majorly on SAP NetWeaver BW, Business Objects and BPC. He has worked on multiple implementation projects.
Table of Contents
The standard approach for retracting transactional data from BPC to BW is by implementing the transactional data retraction BAdI provided by SAP. In this document we look into an alternate approach of data retraction using a function module based custom extractor in BW. Though the standard retraction BAdI based approach works very well and is recommended in most situations, the below solution can come handy in certain scenarios where we need the more control on the data retraction and there are lot of dependencies with other BW loads
- Ability to retract huge data volumes.
- Ability to setup the retraction job as a batch job via a BW process chain.
- More flexibility in handling dependencies of BPC data retraction with other BW jobs/process.
- No BPC login required to run the package or monitor the package runs.
Step by step implementation guide
Defining the extract structure for the custom extractor
Create an extract structure mirroring the structure of the BPC application from which you need to retract data to BW. Please ensure the following
- The component names of the structure should be exactly same as the DIMENSION names in the BPC Application
- The data type and length of the components should be compatible with the DIMENSIONS in the BPC Application
- You are free to choose the short descriptions of the components in the extract structure
In below example our BPC application has eleven DIMENSIONS and we have created an extract structure to exactly mirror this.
Extract structure created (transaction SE12)
Defining the function module for the custom extractor
Go to transaction code SE80 and copy the function group RSAX to the new function group say Z_RSAX.
Copy the function module RSAX_BIW_GET_DATA_SIMPLE to ZBPC_TRANS_RETRACTION. Ensure that you copy and activate all the related objects.
Edit the TABLES parameter of the function module and change it to the extract structure that you created. Activate the function module
Copy paste source code in the attached document (Transactional data Retraction Fn Module Code.txt) into the function module.
Ensure that you change the APPSET name, APPLICATION name and the DATASOURCE NAME as per your requirements.
Activate the function module.
Creating the data source
Go to transaction code RSO2 and create a data source as show below.
Mention data source name and click create
Provide the details like application component, descriptions, function module and extract structure and click SAVE
Mention the dimensions that needs to be available for selection option and the ones that needs to be hidden.
Testing the data source
- Go to transaction RSA3 and provide the data source name.
- Provide the selections for which data needs to be extracted.
- Extract data using the extract button.
- Click the ALV grid button to see the data extracted.
Making use of the customer extractor
· The custom extractor that we just created can be used to load data into a DSO or cube in BW.
Process chains can then be setup to automate these loads and to schedule it as per requirements.