Friday, April 15, 2011

Configuring validation business rules in BPC MS

Business Rules

Introduction

SAP Business Planning and Consolidations delivers certain pre-defined functionalities and calculations to support common accounting/financial scenarios such as currency translation and intercompany matching/elimination or validations.  Business rules framework also allows the business user to configure and customize these functions to meet their specific requirements “table-based” logic is applied.  Table-based logics are logic commands that are driven by the tables underlying the business rules. This instills the SAP philosophy of separating the content from the container.

Business Rule is a table based logic execution functionality which provides flexibility to the end users to customize certain pre-delivered functions, without having to fully understand BPC scripting logic. Under this framework all business rule functionalities are support by an underlying business rule table in which the business user can configure/setup rules such as what balances should be read in order to calculate an amount to be posted within the boundaries of the specific functionality.

Types Business Rule

There are six types of business rules available at the application level which can be enabled

  • Account Transformation:  Performs a straight summarization of a group of accounts. Account transformation reads and aggregates the values posted to specific combinations of accounts, flow types and data sources in order to post the aggregated amount under an alternate destination account, flow and data source combination.

  • Carry – Forward: Summarizes a group of activity accounts and copies the value into an opening balance account. Facilitates populating the opening balances in the new year with the closing balances as of the last period of the prior year and transfer current period net income to the Balance Sheet in order to create a fully balanced Balance sheet for each period.

  • Currency Translation: Performs standard currency translation. The currency conversion function is designed to convert local currency values into one or more reporting and/or group currencies.

  • Intercompany Eliminations: Performs intercompany eliminations and allows us to perform the intercompany matching process.

  • US Eliminations: Controls where in an Entity dimension member the results of eliminations are stored

  • Validation: Allows user to check integrity and correctness of entered data. This facilitates validating the data at different stages of the data submission and enrichment process to help ensure the completeness and accuracy of the existing data. In other words this business rule ensures that the data is in consistent state as per the business logic.

We will be focusing on the validation business rule in the rest of the article.


Validation Business Rule

Introduction

The data is entered via various sources in BPC; the data might be entered from input schedules (evdre), data manager packages or journals. At various stages of the data entry and work state, some user defined checks need to be performed in order to help ensure the consistency, completeness and accuracy of the data from the business aspect.  Validation rules allow you to check the integrity and correctness of entered values, before signing off such data as “approved.”

The validation business rule facilitates this verification process by running a report on the various “error” accounts, it makes it possible to visualize if the data is in consistent state in the context of the application or if data is inconsistent which further follow-up. Business rule tables exist in order to allow Business Users to define which sets of records they wish to compare; this separates the content from the container.

Characteristics of Validation Rules

Below is the list of few key characteristics of the validation rules.

  • Validation business rule can only be configured at the application level

  • Validation business rule is supported by two underlying business rules tables (clcVALIDATION_<APP> and clcVALIDATION_H_<APP>)

  • Validation business rule should be enabled explicitly in order to configure it at the application level

  • Validation rules can be configured for Financial and Legal Consolidation type application only

  • The validation function provides for the ability to:

o    Compare the balance of one set of accounts against a second set of account or group of accounts , using operands like =,>,<,>= and <=

o    If the comparison returns a true condition then the validation is deemed to have been successful and no entries are made in the variance (validation) account.

o    If a false result is returned then the validation is deemed to have failed. In this case any variance between the balances in the two sets of accounts will be automatically posted to an variance (validation) account.

  • Validation rule supports the ability to define the records to be checked using given combination of account and flow dimension.
  • Validation business rule uses the SPRUNVALID stored procedure and can be called from the script logic with the below command 

*RUN_STORED_PROCEDURE=SPRUNVALID([FINANCE], [ACTUAL], [USD], [%SCOPETABLE%], [%LOGTABLE%] )

Configuring the Validation Rules
Business Case

We want to ensure that the total asset is equal to total liabilities during a financial close cycle. The account for the total assets is “TotalAssets” and the account for total liability is “TotalLiabEquity”. In case of any difference is found in these account, the same should be posted in an exception account name “BSDiff”.

Configuration Steps
Modify Application Property

Step 1: Log into BPC Administration and highlight the application to which you need to add Business Rules and select “Modify Application” from the action pane

image017.jpgimage011

Step 2: Choose the “Change Application Type” option from the action pane.

Step 3: Ensure that the reporting type of application is “Financial” and select “Modify Application” from the action pane

image12

Step 4: Check the “Validation Rule” check box and select “Modify Application” from the action pane

image013
Setting up Dimensions

Flow Dimension

To use the validation business rule, a Flow dimension (a Subtable type dimension) is mandatory. The Flow dimension is not included in the ApShell appset that is standard with the software. The Flow dimension has been added to the Finance Application within ApShell for purposes of this guide.

For example, some accounts, like Fixed Assets, have a Subtable dimension which contains Opening Balances, Additions, Deletions, Transfers and Ending Balances.

For purposes of this example, the Flow dimension has been built to look like the following:

impage15

·       Note that the dimension is of type Subtable

·       Flow dimension members

ID
EVDESCRIPTION
PARENTH1

F_GEN
Generic Flow Member
F_TotalActivity

F_OpenBal
Opening Balance
F_TotalActivity

F_Additions
Additions
F_TotalActivity

F_Deletions
Deletions
F_TotalActivity

F_Transfer
Transfer
F_TotalActivity

F_EndBalance
End Balance
F_TotalActivity

F_TotalActivity
Total Activity

·     After the Flow dimension has been successfully processed, add it to the application which contains the Business Rules. In this example we have added it to the Finance Application.

Error/Validation Account

Error or validation account should be setup in the account dimension to post the difference of the validation process. For this example a new account “BFDiff” is added to the account dimension.

Business Rule Table(s)

Two tables, “Validation Rules” table and “Validation Details” table need to be managed for setting up the validation rules.

Validation Rules Table

The following table describes the fields to define in the validation rules table (Extracts from the SAP BPC Help)

Field Name
Description

Validation account
The member ID of the 'error' account.

Remark
A description for the rule.

Validation operand
=, <, >, >=,<=If the sign is =, the total of the left account must be equal to the total of the right account *-1If the sign is >, the total of the left account must be greater than the total of the right account *-1 If the sign is <, the total of the left account must be smaller than the total of the right account *-1

Other source dimensions
Blank or a filter criterion for the original data extraction. Used to limit the selection on one dimension.

Other destination dimensions
Blank or a forced destination. Used to force a target destination’s dimension.

Applicable periods
Blank or one or more time periods.

Validation tolerance
Used to determine a limitation in the Value.

All validations compare the Left part with the right part (ACCOUNT_L with ACCOUNT_R). You can have more than one account in the left or in the right. The system calculates all the accounts on the left and compares it with all the accounts on the right. Here is our example:

  • TotalAssets - Total Asset = 1000
  • TotalLiabEquity - Total Liabilities = 990

If the validation sign is = , 10 is generated in the validation account because 1000 is not equal to 990.

If the validation sign is < , 10 is generated in the validation account because 1000 is not smaller than 990.

If the validation sign is > , nothing is generated in the validation account because 1000 is greater than 990. 


Sample Configuration

Validation Account
Validation Operand
Other Source Dimensions
Other Destination Dimensions   
Applicable Periods     
Validation Tolerance

BSDiff
=
0

image016

*Note: After addition or change do “Save without Validation” and “Validate Validation rules rule table”, without this the setting will not work.

Validation Rules Details Table

The validation process compares the left side intersection (ACCOUNT1 / FLOW1) with the right side intersection (ACCOUNT2 / FLOW2).The following table describes the fields to define in the Validation rules detail table.

Field Name
Description

Validation account
The member ID of the 'error' account.

Account 1
The member ID of the “left side” account.

Flow 1
Blank or the “left side” member of the FLOW dimension.

Sign 1
The operator used in the Left part of calculation ( + or - )

Account 2
The member ID of the “right side” account.

Flow 2
Blank or the “right side” member of the FLOW dimension

Sign 2
The operator used in the Right part of calculation  ( + or - )

Remark
A description for the rule.

Sample Configuration

Validation Account
ACCOUNT1
FLOW1
SIGN1
ACCOUNT2      
FLOW2            
SIGN2

BSDiff

TotalAssets
F_GEN
+ 1
TotalLiabEquity
F_GEN
+ 1

image017

*Note: After addition or change do “Save without Validation” and “Validate Validation rules rule table”, without this the setting will not work.

In this example, we validate if TotalAssets (F_GEN) = TotalLiabEquity (F_GEN) and if it is not then the difference will be posted in the validation account BSDiff.

Logic for Validation

As stated above to execute the validation rule we should make use of the below logic script. Since the validation process is handled by a stored procedure called SPRUNVALID. This procedure is launched using the logic statement:

*RUN_STORED_PROCEDURE=SPRUNVALID( parameters list)

Sample Configuration

*RUN_STORED_PROCEDURE=SPRUNVALID([LEGALAPP], [ACTUAL], [USD], [%SCOPETABLE%], [%LOGTABLE%] )

Conclusion

At various stages of the data entry, the data consistency checks can be performed completeness and accuracy check can be performed using this feature.  Validation rules allow you to check the integrity and correctness of entered values, before signing off such data as “approved”.

SAP BPC Tutorials | SAP BPC Training | SAP BPC Interview Questions |SAP BPC Books

No comments:

Post a Comment