Additional Blogs by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
SEdelstein
Product and Topic Expert
Product and Topic Expert
0 Kudos

BusinessObjects Planning and Consolidation, version of Netweaver (formally known as Business Planning and Consolidation, version for Netweaver) has the ability to incorporate Script Logic to perform calculations and customize functionality.  In this blog series, I will attempt to provide guidance surrounding the use of key words for BPCNW Script Logic.

 

Basics:

 

Script logic can be called from two locations from within BPCNW:

Default Logic –

A “default logic” file is automatically defined within every BPC application.  Upon the creation of new records, such through the action of a BPC input schedule, this default logic is automatically executed.  The default logic is executed specifically against all of the newly created records.  In other words, the “scope” of default logic initially consists of all new records created/modified by the input schedule.

 

In some cases, the scope of the default logic may need to include additional member values not contained in the original scope.  For example, you might enter Quantity on an input schedule, but you may need to calculate TotalCost by finding UnitCost and multiplying that value by the manually input for Quantity.  In this scenario, the scope initially defined by the newly created records and need to be expanded to include TotalCost and UnitCost.  

 

Controlling scope

 

There are several key words included in BPC70NW Script Logic that directly control scope:

*XDIM_MEMBER

*XDIM_MEMBERSET
*XDIM_ADDMEMBERSET

 

*XDIM_MEMBER {Dimension name} = {Members Set}

As of BPCNW, SP01 my observations are that this command has the same functionality as *XDIM_MEMBERSET

 

*XDIM_MEMBERSET {Dimension name} = {Members Set}

This command allows the definition of the specific member values to be included in the execution of the subsequent script commands.  There are several potential useful formats:

 

Example 1

*XDIM_MEMBERSET TIME = 2007.JAN  

This statement restricts the execution of any subsequent logic to only the one time member, 2007.JAN.

 

Example 2

*XDIM_MEMBERSET TIME = 2007.JAN, 2007.FEB, 2007.MAR  

This statement restricts the execution of any subsequent logic to a predefined selection of time members: 2007.JAN, 2007.FEB, and 2007.MAR

 

Example 3

*XDIM_MEMBERSET TIME = 2007.JAN to 2007.MAR  

This statement restricts the execution of any subsequent logic to a predefined selection of time members: 2007.JAN, 2007.FEB, and 2007.MAR using the “to” qualifier.

 

Example 4

*XDIM_MEMBERSET TIME = BAS(2007.TOTAL)

This statement restricts the execution of any subsequent logic to the twelve base member children associated with parent node 2007.TOTAL. 

 

Example 5

*XDIM_MEMBERSET TIME = DEP(2007.Q3)

This statement restricts the execution of any subsequent logic to the three member children associated with parent node 2007.Q3.  In this case scope would be restricted to 2007.JUL, 2007.AUG, and 2007.SEP. 

 

Example 6

*XDIM_MEMBERSET TIME = ALL(2007.TOTAL)

This statement restricts the execution of any subsequent logic to all parent as well as base member children associated with the parent node 2007.TOTAL.  In this case scope would be restricted to 2007.JAN, 2007.FEB, 2007.MAR, 2007.APR, 2007.MAY, 2007.JUN, 2007.JUL, 2007.AUG, 2007.SEP, 2007.OCT, 2007.NOV, 2007.DEC, as well as including 2007.Q1, 2007.Q2, 2007.Q3, 2007.Q4, and 2007.TOTAL.

 

Example 7       

*XDIM_MEMBERSET TIME = %VARIABLE%

This statement restricts the execution of any subsequent logic to all member included in the variable set “%VARIABLE%.  This variable set can be populated using the SELECT statement, to be discussed in more detail in a future blog.

 

===================================================================================

 

*XDIM_ADDMEMBERSET {Dimension name} = {Members Set}

With the keyword XDIM_ADDMEMBERSET, the logic can merge a specific set of members withthe members passed in the region for which the logic should be executed. This instruction issimilar to the instruction *XDIM_MEMBERSET. The difference is that, while XDIM_MEMBERSETredefines the region passed by the user, XDIM_ADDMEMBERSET adds the defined set to thepassed region. 

 

Example 8

*XDIM_MEMBERSET TIME = 2007.JAN

*XDIM_ADDMEMBERSET TIME = 2006.JAN

The first line restricts the execution to 2007.JAN.  The second line adds to the defined scope, namely 2007.JAN, the additional value 2006.JAN.  Scope is now defined as 2007.JAN and 2006.JAN.

4 Comments