In this article,I would like to explain the behavior change introduced by note 1671219.
When customers configuring BPC consolidation business rule to do internal elimination, sometimes they want to configure a particular rule to be applicable to only particular selected entities. In this scenario, they can utilize the ‘Entity Property Filter' field in Elimination header of the ‘Elimination and Adjustments’ rule.
In 10.0 SP07 (before note 1671219), system take the specified property from both E-type dimenion and I-type dimension. For example:
Entity | Property:EQUITY_SAP | Intercompany | Property:EQUITY_SAP | |
CO_01 | Y | TP_01 | Y | |
CO_02 | Y | TP_02 | Y | |
CO_13 | Y | TP_13 | Y | |
CO_93 | Y | TP_93 | Y | |
CO_B01 | N | TP_B01 | ||
CO_B02 | N | TP_B02 | ||
CO_B03 | N | TP_B03 | ||
CO_B04 | N | TP_B04 | ||
CO_B05 | N | TP_B05 | ||
CO_B06 | N | TP_B06 | ||
CO_B07 | N | TP_B07 | ||
CO_B08 | N | TP_B08 |
If the property ‘EQUITY_SAP’ is set to be filter, then data with entity on CO_01~CO_93 and intercompany on TP_01~TP_93 can be selected for the rule because the property values are equal. But for CO_B01 to CO_B08 and TP_B01 to TP_B08, they are not because they are not equal (N not equal empty).
Note 1671219 introduced a behavior change (enhancement).
Some customers think it is duplicate effort to maintain this in both Entity dimension and intercompany dimension. With this note, it is sufficient to maintain the property in entity dimension only, like below:
Entity | Property:EQUITY_SAP | Intercompany | Property:EQUITY_SAP | |
CO_01 | Y | TP_01 |
| |
CO_02 | Y | TP_02 |
| |
CO_13 | Y | TP_13 |
| |
CO_93 | Y | TP_93 |
| |
CO_B01 | N | TP_B01 | ||
CO_B02 | N | TP_B02 | ||
CO_B03 | N | TP_B03 | ||
CO_B04 | N | TP_B04 | ||
CO_B05 | N | TP_B05 | ||
CO_B06 | N | TP_B06 | ||
CO_B07 | N | TP_B07 | ||
CO_B08 | N | TP_B08 |
However, with this enhancement some customers run into a problem.
In two different rules, they want to use two different properties to do the filtering, so they have configured two rules .Rule1 set Property’EQUITY_NON’ as the filter and rule2 set ’EQUITY_SAP’ as the filter.The dimension values are set like below:
Entity | Property1:EQUITY_NON | Propety2:EQUITY_SAP | Intercompany | |
CO_01 | Y | TP_01 | ||
CO_02 | Y | TP_02 | ||
CO_13 | Y | TP_13 | ||
CO_93 | Y | TP_93 | ||
CO_ALL | Y | |||
CO_B01 | Y | TP_B01 | ||
CO_B02 | Y | TP_B02 | ||
CO_B03 | Y | TP_B03 | ||
CO_B04 | Y | TP_B04 | ||
CO_B05 | Y | TP_B05 | ||
CO_B06 | Y | TP_B06 | ||
CO_B07 | Y | TP_B07 | ||
CO_B08 | Y | TP_B08 |
What they expect is: the Entities whose value of Property ’EQUITY_NON’ is Y will be selected for rule1 and the Entities whose value of Property ’EQUITY_SAP’ is Y will be selected for rule2.
But when executing rule1, Entities from CO_01 to CO_ALL are considered and eliminated .The same issue occurs to rule2 too.
This is because Entities from CO_01 to CO_ALL has the same empty value.
To overcome the empty value problem, the suggested solution is:
Set dimension values like below:
Entity | Property1:EQUITY_NON | Propety2:EQUITY_SAP | Intercompany | |
CO_01 | A | Y | TP_01 | |
CO_02 | B | Y | TP_02 | |
CO_13 | C | Y | TP_13 | |
CO_93 | D | Y | TP_93 | |
CO_ALL | E | Y | ||
CO_B01 | Y | A | TP_B01 | |
CO_B02 | Y | B | TP_B02 | |
CO_B03 | Y | C | TP_B03 | |
CO_B04 | Y | D | TP_B04 | |
CO_B05 | Y | E | TP_B05 | |
CO_B06 | Y | F | TP_B06 | |
CO_B07 | Y | G | TP_B07 | |
CO_B08 | Y | H | TP_B08 |
The idea is : Not to have blank(empty value) for the property.Use 'ABCD..' or '1234' to differentiate each entity.
In this way, when executing rule1, entities from CO_B01 to CO_B08 are considered and eliminated .
When executing rule2,entities from CO_01 to CO_ALL are considered and eliminated.
Note: The issue mentioned here doesn't exist any longer. Refer to SAP note 2006173 - Option to ignore empty values in the entity property set in entity property filter. I will leave the article for a while before deleting it to get your attention.
4 Comments
Former Member
I think this is not a good solution, because:
Fred Wei
Hi,Jef
1,you would not run out of letters because you can use more than one letters ,such as:AB, AX.....
2,If you automate Master data loading, the easiest way is to add the value equal to ID if they are not sap entities with transformation rule like: EQUITY_SAP = *IF(is sap entity THEN *STR(Y); ID)
3,regarding 'disregarding 'blank' property values as a matching combination',you can talk with product owner about this.But I think they have their reason why it is not designed in that way.
Former Member
Hi Fred,
I appreciate that and I'm already familiar with those solutions, however they are not easy to explain to a customer, neither a financial analyst, nor a BPC key user familiar with maintaining properties. This is still a very weird solution.
I wish product owners can rethink this, and introduce an enhancement that would just ignore blank property values as a matching pair. That would make things -a lot- easier.
Former Member
And about points 1 & 2, they would certainly not make it easy for business users to maintain a large Entity dimension manually either.
- As when you run out of letters, you may have to increase property length (in dev, because of transport), and find out which combination hasn't been used yet (in prod this time).
- Or you have to copy the ID of new members to all of these 'entity filter' properties (and not forget to do it, because it could produce unexpected results).