cancel
Showing results for 
Search instead for 
Did you mean: 

Passing a parameter value from BPC to BW DTP filter

ssurampally
Active Contributor
0 Kudos

Hi,

We are retracting data from BPC to BW, using transformation and DTP objects, so the flow is BPC multiprovider  -- > transformation -- > Write Optimized DSO,  DTP is used to trigger the load. This data flow is captured in Process chain and attached to DM package in BPC.

We got to pass a filter value on time characteristic, while DTP is getting executed. So the value is not fixed, it should be updated by BPC administrator in BPC system either through Excel Add in or Admin add in. that value has to be passed to DTP filers on Fiscal period.  I am wondering how do we achieve this requirement?

In BW, for such requirements, we maintain the required value TVARVC, write a routine in DTP filter to read the value from that variant table.  How can one achieve to pass the value to DTP filter from BPC system,

Please share your thoughts, very much appreciated your help on this,

Thanks

Sreekanth

Accepted Solutions (0)

Answers (4)

Answers (4)

0 Kudos

Hi Sreekanth,

We've had this requirement several times, and have tried many different methods over the years.

What we've found worked best is:

* store the date selection as a dimension property. E.g. we usually have a dimension called "version" and we create a property called "current_period" or something similar. This has the advantage that only administrators can change the value. Also each version (or dimension member) can have a different date selection.

* for the actual extraction:

  - use APD with Bex query variable to read the dimension property to filter results. If data volumes are large, APD may not work due to olap/memory limits.

  - use a BW generic datasource (function module extractor) which calls BPC classes to extract data from BPC cube. This has the advantages of not having to refer to the technical name of the BPC InfoProvider (which can change after full optimisation), as well as the ability to split the extraction into several packages to work within memory limits for large data volumes.

Note: from experience there are risks with building transformations directly on BPC InfoProviders. We've found that changes to the BPC application that causes cube/multiprovider to be re-generated (e.g. adding a new property to a dimension used in the application) will cause BW transformations to be deactivated.

Regards,

Carlton.

ssurampally
Active Contributor
0 Kudos

Hi Gajendra, Basically BW team wanted to restrict access to update the DTP filters directly for BPC administrator, however the load process will be triggered by BPC admin, by using a DM package.

Currently for retraction, we are not looking at BADI or script logics to write, when a simple direct transformation can transfer the data to BW.

Prashant, the options of updating master data property to save the value is fine, then I will need to an extra property to dimension to store that flag, will have to think about it,

secondly, what do you mean by predefined set in comments?  You wanted me to enter a comment for an intersection in the input template?  I could not get it completely, please explain.

gajendra_moond
Contributor
0 Kudos

Hi Sreekanth

Using transformations is not the best way to get data from a BPC Model. Yes, it is possible but BPC can act differently leading to load failures for no reason. Instead, if you do not wish to use BADI route, use APD ( Analysis Process Designer) - Tcode- RSANWB. Create a query on the MultiProvider and write data directly to a Direct Update DSO. No coding required and you can set filters either at query level or at APD level.

Another option would be to export data as a file and save that to application server where from BW can pick up and load. The selections here can be governed by BPC Admin.

former_member200327
Active Contributor
0 Kudos

Hi Sreekanth,

Why in BW you are perfectly fine with writing a DTP routine to retrieve filter value from TVARVC while in BPC you don't what to consider BADI option? It's basically same thing just named differently.

Actually, the cleanest way would be to create a BPC type Process chain (with Modify Dynamically process type). Then BPC Admin would run that Packages and dynamically provide Time restriction. This would require more development effort than any of the other options discussed, but looks more in line with BPC and BW look and feel.

Otherwise, all other options are looking at using some tool to store that restriction and then BW routine to pick it up. So, it's mostly up to your preferences from where you want that routine to retrieve it: BPC MD, BPC TD, flat table, etc.

Regards,

Gersh

Former Member
0 Kudos

Hi Sreekanth,

Yes, I wanted to say same thing. You can enter filter value as a comment against some intersection via input schedule and then read that comment intersection inside DTP routine.

Thanks & Regards,

Prashant Vankudre

Former Member
0 Kudos

Hi Sreekanth,

Requirement looks interesting...

I think you can use masterdata properties for setting filters and then read it your DTP routines getting filter values.

or you can enter these filter values against predefined set as a comment and then read that comment and parse it in DTP routines and set filter values.

Thanks & Regards,

Prashant Vankudre

gajendra_moond
Contributor
0 Kudos

Good suggestions Prashant. I am trying to understand if it really cannot be handled within DTP filter. Is the value for time buckets not fixed or is at the discretion of the user? Generally when extracting data from BPC, which usually happens at the end of the planning cycle, the filters are more or less fixed. .at the most a changing range like current month to current month+12. Also BADI can be used, which the recommended way than cteating transformations, write data to direct update DSO or Transactional Cube which can be called via script logic along with desired filter values from BPC. It would be great if Sreekanth provides specific details and explain what exactly is the requirement.

gajendra_moond
Contributor
0 Kudos

Hi Sreekanth

Would applying a filter on DTP won't work? Why do you want to pass filter value from BPC?