Additional Blogs by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member204026
Active Participant
4,290

Introduction

This document covers the approach of passing scope/prompt from SAP BPC data manager package to SQL Server stored procedure. This applies to all versions of SAP BPC Version for Microsoft. This approach can be used as an alternate to the approach specified in my earlier document on How to Pass Parameters to SSIS package.

Business Case

The business case is to pass the parameters from SAP BPC data manager package to a stored procedure.  The BPC users will pass the scope (selections) via the data manager prompts. This selection will be passed to a stored procedure via the data manager package. The stored procedure will receive the scope(selections) from BPC data manager package and store it to a table.

BPC Setup

BPC model with the following structure

Environment Name: BADSHELL

Model Name: Planning

Development Details


Step 1: Create a scope table to receive the scope (selections) passed from SQL Server. This table will be used to receive the parameters passed from the BPC data manager package.  Execute the following script in the SQL Server side.

USE [BADSHELL]

GO

CREATE TABLE [DBO].[BPC_SCOPE](

       [SCOPETBL] [NVARCHAR](100) NULL,

       [DIMENSION] [NVARCHAR](32) NULL,

       [MEMBER] [NVARCHAR](32) NULL

) ON [PRIMARY]

GO


Step 2: Create stored procedure. This stored procedure will receive the selection from BPC and store it in a table (BPC_SCOPE). This table can be used in the further operations like a filter table. To facilitate parallel call of the data manager package this table (BPC_SCOPE) should always be used with the filter SCOPETBL = @SCOPETABLE.

Execute the following script in the SQL Server side. Please read the comments and insert your code...


USE [BADSHELL]

GO

CREATE PROCEDURE [DBO].[USP_CALC_BLOG]

(

@SCOPETABLE VARCHAR(50)

)

AS

BEGIN

EXEC('INSERT INTO [BPC_SCOPE] SELECT ''' + @SCOPETABLE + ''', DIMENSION, MEMBER FROM ' + @SCOPETABLE)

       /*

       INSERT YOUR CODE HERE, YOU CAN USE THE BPC_SCOPE TABLE TO FILTER RECORDS

       TO MAKE SURE WE ISOLATE CONCURRENT EXECUTION USE THE VARIABLE  @SCOPETABLE

       TO FILTER BPC_SCOPE TABLE.

       */

       /*

       FINALLY YOU CAN DELETE ALL THE RECORDS IN THE BPC_SCOPE TABLE

       DELETE FROM BPC_SCOPE WHERE SCOPETBL = @SCOPETABLE

       */

END

Step 3: Create BPC script logic to call the stored procedure. %SCOPETABLE% variable passes the parameter table to the stored procedure.

Step 4: Create data manager package to invoke the script logic

On the web server side, copy the standard “Default Formulas” data manager package (BLOG_10)


Configure the package in the data manager interface in EPM add-in for excel. Go to Data Manager >> Organize package list >> Add package and select the copied package

Modify the package and add the following by specifying following script

Step 5:  Execute data manager package by selecting prompts

Step 6:  Check the results

Important Notes

  • Add necessary dimensions to the data manager prompt
  • Clear the scope table after the calculation (note SQL section commented in the document)
  • Set up appropriate database security and connection credentials as suited to your need
  • For further reference refer to SAP’s help documentation

Reference Links

How to pass a custom parameter to Data Manager Package

SAP BPC MS: Passing Data Manager Selection (Scope) to SSIS Package

3 Comments