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

The application SAP BusinessObjects Planning and Consolidation version for Netweaver (SAP BPC NW) contains delivered functionality to execute allocations.  This functionality differs from the Microsoft based versions of BPC, mainly by the lack of some capability.  Nevertheless, the functionality that is provided allows quick and easy configuration of a variety of allocation scenarios.  This blog identifies the current capabilities of the allocation function for BPC version up to an including BPC 70 NW SP04.  

 

The general format for defining an allocation is:

*RUNALLOCATION

*FACTOR={expression}

*DIM {dim name} WHAT={set}; WHERE={set};[USING ={set};] [TOTAL={set}]

*DIM ...

*ENDALLOCATION

 

*FACTOR

This instruction can be used to define any arithmetic expression ( written in the {expression} parameter) and may contain operands, parentheses, constants and one or both of the keywords USING and TOTAL, representing respectively the amount coming from the "USING" region (i.e. the amount of the driver) and the amount coming from the "TOTAL" region (i.e. the sum of the drivers). Another keyword supported by this parameter is COUNT, which represents the number of members into which one amount must be allocated. For example when allocating evenly a yearly value into all months of a year, the administrator may just use the COUNT keyword (defining the factor expression as 1/COUNT). In this case COUNT will automatically contain the value 12 (This keyword will obviously be more helpful in cases where the number of members is not predictable.

If omitted, the factor will always default to 1

 

There are two basic syntax definitions that can be used when defining the allocation function:

 

Format 1: this format is commonly used when an allocation is to be performed once in the script logic file.

 

*RUNALLOCATION

*FACTOR=USING/TOTAL

*DIM P_ACCT WHAT=CE0004010; WHERE=CE0004020; USING=CE0004030; TOTAL=<<<</p>

*DIM ENTITY WHAT=A1000; WHERE=<<<; USING=<<<; TOTAL=<<<</p>

*DIM TIME WHAT=2009.JAN; WHERE=>>>; USING=BAS(2009.TOTAL); TOTAL=<<<</p>

*ENDALLOCATION

 

Format 2: this format is used when it is desirable to call an allocation multiple times within a script logic file.

 

*ALLOCATION ALLOCATE

*FACTOR=USING/TOTAL

*DIM P_ACCT WHAT=CE0004010; WHERE=CE0004020; USING=CE0004030; TOTAL=<<<</p>

*DIM ENTITY WHAT=A1000; WHERE=<<<; USING=<<<; TOTAL=<<<</p>

*DIM TIME WHAT=2009.JAN; WHERE=>>>; USING=BAS(2009.TOTAL); TOTAL=<<<</p>

*ENDALLOCATION

...

...

*RUN_ALLOCATION ALLOCATE  

...

 

***************************************************************

***************************************************************

Delta functionality from the Microsoft version of BPC:

 

*APP

The *APP key word is not available in BPC 70 NW.  This of course implies that the ability to source and/or post data into applications outside of the calling application is not currently supported by BPC 70 NW.  Unfortunately, the *APP keyword is accepted by BPC70NW during script logic file validation; no error message is displayed when using *APP.  Execution of an allocation involving external application references in the *APP command line will still run, however the system will only source and/or post data from/to the home application.

 

In the following example:

*RUNALLOCATION

*FACTOR=USING/TOTAL

*APP WHAT=PLANNING; WHERE=NEWAPP; USING<<<; TOTAL<<<</p>

*DIM P_ACCT WHAT=CE0004010; WHERE=CE0004020; USING=CE0004030; TOTAL=<<<</p>

*DIM ENTITY WHAT=A1000; WHERE=<<<; USING=<<<; TOTAL=<<<</p>

*DIM TIME WHAT=2009.JAN; WHERE=>>>; USING=BAS(2009.TOTAL); TOTAL=<<<</p>

*ENDALLOCATION

 

The intention of the developer was to post the allocated values into the application "NEWAPP".  However during execution, the allocation function will actually post into the "PLANNING" application.

 

 

*DIM AMOUNT

In previous version of BPC, there was the ability to specify a special case of a dimension name called "AMOUNT". This AMOUNT dimension was used to set a filter for the amounts to be allocated or to be used as drivers. For example, an allocation is only performed on members where the amount of sales is greater than zero.  As with the *APP command, this keyword is accepted during script logic validation, however it is also ignored during actual execution.

5 Comments