Quantcast
Channel: SCN : Document List - Enterprise Performance Management (SAP EPM)
Viewing all articles
Browse latest Browse all 125

How to Pass Data Manager Selections(Scope) to Stored Procedure - SAP BPC MS

$
0
0

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

 

image002.jpg

 

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

 

CREATETABLE[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

 

CREATEPROCEDURE[DBO].[USP_CALC_BLOG]

(

@SCOPETABLEVARCHAR(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.

 

image004.jpg

 

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)

 

image006.jpg


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

 

image008.jpg

 

Modify the package and add the following by specifying following script

 

image010.jpg

 

Step 5:  Execute data manager package by selecting prompts

 

image012.jpg

 

Step 6:  Check the results

 

image013.png

 

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


Viewing all articles
Browse latest Browse all 125

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>