Tuesday, April 02, 2013

BPC work status setup ... APPROVALORG, a little parameter often overlooked

When setting up workstatus in BPC there is a little web parameter to setup, APPROVALORG, it's often overlooked because generally one doesn't manage more than one hierarchy for an entity ... in our case we have 3 hierarchies and hierarchy number 3 (H3) is the one used to manage read/write permissions and thus the natural candidate for controlling workstatus.
So the web parameter APPROVALORG should not be H1 in this case, or you'll get some "strange" errors, but H3, and of course H3 will also have the owner property correctly filled.

An example:


Some useful tutorials can be found on SDN.


Tuesday, January 29, 2013

BPC load 0CALMONTH from BW

As incredible as it sounds ... in BPC 7.5 NW you have to prepare a conversion to load time from 0CALMONTH to TIME dimension!
Thanks God it's not that difficult, once you know how to do it.
An example:

Time conversion file



Monday, January 28, 2013

BPC lite optimize zero elimination

Just a quick visual to add zero elimination to the light optimize package in BPC 7.5 NW, see SAP Note 1396761


Organize package list

Modify package Lite Optimize
Modify package Lite Optimize

Add task


Tuesday, July 03, 2012

BW dataflow examples for HR masterdata

It happens quite often, source data comes from a single infotype, but users want informations coming from different subtypes moved to different infoobjects on the same row (i.e. one row per employee per time period), this usually requires some ABAP but there is a trick.
You can use infosets to differentiate logically between rows of the infotype, see below:

This example is quite specific for time dependend masterdata attributes (think 0EMPLOYEE).
It's like having the ability to run different transformations from the same source to the same target according to different values of one column.

Something like inverted rule groups, which are great at turning data in a long row into data in different columns:

An example of rule group usage:

PERNR LGA01 BET01 LGA02 BET02 etc

turned into:

PERNR LGA01 BET01
PERNR LGA02 BET02

which can fit nicely into an infocube.

Friday, April 06, 2012

Texts in the output of an APD

There seems to be interest in outputting not only the query results in APD but also some texts, which is currently not supported by simply having the query output contain texts as anyone would expect.
But, there is an easy solution, see figure below






Here you are.
Sending it out to a file doesn't change the other steps.

Thursday, October 27, 2011

Calculations with key date

A bit of follow up to the previous post ... we'd like to have the key date at hand for performing some calculations, unfortunately we didn't find an easy way so with some micro abap we managed to get that variable into another variable (??) that can be used.
Coding for variables (CMOD on BW side, EXIT_SAPLRRS0_001, include ZXRSRU01 etc.) follows:
Wish there was a simpler way ...
Code:
case i_vnam.
 when 'YV_DAY_2_VAR'.
    if i_step = 2.
      loop at i_t_var_range into loc_var_range where vnam = 'YV_DAY'.
 clear: l_s_range. 
       l_s_range-low = loc_var_range-low.
       l_s_range-sign = 'I'.
       l_s_range-opt = 'EQ'.
 append l_s_range to e_t_range.
      endloop.
    endif.

Monday, August 22, 2011

Prompts in SAP BO OLAP universe (query key date)

Having recently struggled with a key date prompt in a BO universe built on a BEx query ... I'm posting here some samples and screenshots of the outcome as I didn't find/couldn't understand documentation on this ....

The universe wizard in my case didn't generate something usable out of the box, so I had to tweak it a bit

First one, how to show it as a datepicker (sounds strange ...)




The corresponding code for the prompt is:

<filter key="[YV_DAY]"><condition operatorcondition="Equal"><constant tech_name=" @Prompt('Data Cardine (formato YYYYMMDD)','D',,mono,free)"></condition></filter>

Then if you want it to be a simple, no frills, single value prompt



<filter key="[YV_DAY]"><condition operatorcondition="Equal"><constant tech_name="@Prompt('Data Cardine (formato YYYYMMDD)','A',,mono,free)"></condition></filter>

And if you want the prompt to “forget” the previous value when the query is refreshed:

<filter key="[YV_DAY]"><condition operatorcondition="Equal"><constant tech_name="@Prompt('Data Cardine (formato YYYYMMDD)','A','Data\LovData CardineBase',mono,free, not_persistent)"></condition></filter>
Also see note 1407631 and keep up with the updates on BW and BO side, IMHO it’s not a mature solution yet.

Note 1142664 - MDX: Composite SAP note about performance improvements

Note 838800 - Composite SAP Note for consulting notes about MDX/OLAP BAPIs

Note 1156101 - MDX: Composite SAP note for incorrect data

Another useful one

Note 1567394 - MDX: Consulting note for sort sequence