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.