{"id":35,"date":"2011-04-15T21:59:00","date_gmt":"2011-04-15T21:59:00","guid":{"rendered":"http:\/\/www.sapbpc.sapag.co.in\/?p=35"},"modified":"2011-04-15T21:59:00","modified_gmt":"2011-04-15T21:59:00","slug":"configuring-validation-business-rules-in-bpc-ms","status":"publish","type":"post","link":"https:\/\/www.sapbpc.sapag.co.in\/?p=35","title":{"rendered":"Configuring validation business rules in BPC MS"},"content":{"rendered":"<h4 align=\"justify\">Business Rules<\/h4>\n<h5 align=\"justify\">Introduction<\/h5>\n<p align=\"justify\">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.&#160; Business rules framework also allows the business user to configure and customize these functions to meet their specific requirements \u201ctable-based\u201d logic is applied.&#160; Table-based logics are logic commands that are driven by the tables underlying the business rules. This instills the SAP philosophy of <strong>separating the content from the container<\/strong>.<\/p>\n<p align=\"justify\">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. <\/p>\n<h5 align=\"justify\">Types Business Rule <\/h5>\n<p align=\"justify\">There are six types of business rules available at the application level which can be enabled<\/p>\n<ul>\n<li>\n<p align=\"justify\">Account Transformation:&#160; 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.<\/p>\n<\/li>\n<li>\n<p align=\"justify\">Carry \u2013 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.<\/p>\n<\/li>\n<li>\n<p align=\"justify\">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.<\/p>\n<\/li>\n<li>\n<p align=\"justify\">Intercompany Eliminations: Performs intercompany eliminations and allows us to perform the intercompany matching process.<\/p>\n<\/li>\n<li>\n<p align=\"justify\">US Eliminations: Controls where in an Entity dimension member the results of eliminations are stored <\/p>\n<\/li>\n<li>\n<p align=\"justify\">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.<\/p>\n<\/li>\n<\/ul>\n<p align=\"justify\">We will be focusing on the validation business rule in the rest of the article.<\/p>\n<p> <strong>   <\/p>\n<p align=\"justify\"><\/p>\n<p> <\/strong>  <\/p>\n<h4 align=\"justify\">Validation Business Rule<\/h4>\n<h5 align=\"justify\">Introduction<\/h5>\n<p align=\"justify\">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.&#160; Validation rules allow you to check the integrity and correctness of entered values, before signing off such data as \u201capproved.\u201d<\/p>\n<p align=\"justify\">The validation business rule facilitates this verification process by running a report on the various \u201cerror\u201d 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; <strong>this separates the content from the container.<\/strong><\/p>\n<h5 align=\"justify\">Characteristics of Validation Rules<\/h5>\n<p align=\"justify\">Below is the list of few key characteristics of the validation rules.<\/p>\n<ul>\n<li>\n<p align=\"justify\">Validation business rule can only be configured at the application level<\/p>\n<\/li>\n<li>\n<p align=\"justify\">Validation business rule is supported by two underlying business rules tables (clcVALIDATION_&lt;APP&gt; and clcVALIDATION_H_&lt;APP&gt;)<\/p>\n<\/li>\n<li>\n<p align=\"justify\">Validation business rule should be enabled explicitly in order to configure it at the application level<\/p>\n<\/li>\n<li>\n<p align=\"justify\">Validation rules can be configured for Financial and Legal Consolidation type application only<\/p>\n<\/li>\n<li>\n<p align=\"justify\">The validation function provides for the ability to: <\/p>\n<\/li>\n<\/ul>\n<p align=\"justify\">o&#160;&#160;&#160; Compare the balance of one set of accounts against a second set of account or group of accounts , using operands like =,&gt;,&lt;,&gt;= and &lt;=<\/p>\n<p align=\"justify\">o&#160;&#160;&#160; 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.<\/p>\n<p align=\"justify\">o&#160;&#160;&#160; 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. <\/p>\n<ul>\n<li>\n<div align=\"justify\">Validation rule supports the ability to define the records to be checked using given combination of account and flow dimension. <\/div>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<div align=\"justify\">Validation business rule uses the SPRUNVALID stored procedure and can be called from the script logic with the below command&#160; <\/div>\n<\/li>\n<\/ul>\n<p align=\"justify\">*RUN_STORED_PROCEDURE=SPRUNVALID([FINANCE], [ACTUAL], [USD], [%SCOPETABLE%], [%LOGTABLE%] )<\/p>\n<h5 align=\"justify\">Configuring the Validation Rules<\/h5>\n<h6 align=\"justify\">Business Case<\/h6>\n<p align=\"justify\">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 \u201cTotalAssets\u201d and the account for total liability is \u201cTotalLiabEquity\u201d. In case of any difference is found in these account, the same should be posted in an exception account name \u201cBSDiff\u201d.<\/p>\n<h6 align=\"justify\">Configuration Steps<\/h6>\n<h6 align=\"justify\">Modify Application Property<\/h6>\n<p align=\"justify\">Step 1: Log into BPC Administration and highlight the application to which you need to add Business Rules and select \u201cModify Application\u201d from the action pane<\/p>\n<p align=\"justify\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" alt=\"image017.jpg\" src=\"https:\/\/weblogs.sdn.sap.com\/weblogs\/images\/252057395\/image017.jpg\" width=\"1\" height=\"1\" \/><img loading=\"lazy\" decoding=\"async\" border=\"0\" alt=\"image011\" align=\"baseline\" src=\"https:\/\/weblogs.sdn.sap.com\/weblogs\/images\/252057395\/image011.jpg\" width=\"587\" height=\"481\" \/><\/p>\n<p align=\"justify\">Step 2: Choose the \u201cChange Application Type\u201d option from the action pane.<\/p>\n<p align=\"justify\">Step 3: Ensure that the reporting type of application is \u201cFinancial\u201d and select \u201cModify Application\u201d from the action pane<\/p>\n<p align=\"justify\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" alt=\"image12\" src=\"https:\/\/weblogs.sdn.sap.com\/weblogs\/images\/252057395\/image012.jpg\" width=\"558\" height=\"332\" \/><\/p>\n<p align=\"justify\">Step 4: Check the \u201cValidation Rule\u201d check box and select \u201cModify Application\u201d from the action pane<\/p>\n<h5 align=\"justify\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" alt=\"image013\" src=\"https:\/\/weblogs.sdn.sap.com\/weblogs\/images\/252057395\/image013.jpg\" width=\"558\" height=\"302\" \/><\/h5>\n<h5 align=\"justify\">Setting up Dimensions<\/h5>\n<p align=\"justify\"><strong>Flow Dimension<\/strong><\/p>\n<p align=\"justify\">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.<\/p>\n<p align=\"justify\">For example, some accounts, like Fixed Assets, have a Subtable dimension which contains Opening Balances, Additions, Deletions, Transfers and Ending Balances.<\/p>\n<p align=\"justify\">For purposes of this example, the Flow dimension has been built to look like the following:<\/p>\n<p align=\"justify\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" alt=\"impage15\" align=\"baseline\" src=\"https:\/\/weblogs.sdn.sap.com\/weblogs\/images\/252057395\/image015.jpg\" width=\"563\" height=\"343\" \/><\/p>\n<p align=\"justify\">\u00b7&#160;&#160;&#160;&#160;&#160;&#160; Note that the dimension is of type Subtable<\/p>\n<p align=\"justify\">\u00b7&#160;&#160;&#160;&#160;&#160;&#160; Flow dimension members <\/p>\n<p align=\"justify\"><strong>ID<\/strong>    <br \/><strong>EVDESCRIPTION<\/strong>    <br \/><strong>PARENTH1<\/strong><\/p>\n<p align=\"justify\">F_GEN   <br \/>Generic Flow Member    <br \/>F_TotalActivity<\/p>\n<p align=\"justify\">F_OpenBal   <br \/>Opening Balance    <br \/>F_TotalActivity<\/p>\n<p align=\"justify\">F_Additions   <br \/>Additions    <br \/>F_TotalActivity<\/p>\n<p align=\"justify\">F_Deletions   <br \/>Deletions    <br \/>F_TotalActivity<\/p>\n<p align=\"justify\">F_Transfer   <br \/>Transfer    <br \/>F_TotalActivity<\/p>\n<p align=\"justify\">F_EndBalance   <br \/>End Balance    <br \/>F_TotalActivity<\/p>\n<p align=\"justify\">F_TotalActivity   <br \/>Total Activity<\/p>\n<p align=\"justify\">\u00b7&#160;&#160;&#160;&#160; 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.<\/p>\n<p align=\"justify\"><strong>Error\/Validation Account<\/strong><\/p>\n<p align=\"justify\">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 \u201cBFDiff\u201d is added to the account dimension.<\/p>\n<h6 align=\"justify\">Business Rule Table(s)<\/h6>\n<p align=\"justify\">Two tables, \u201cValidation Rules\u201d table and \u201cValidation Details\u201d table need to be managed for setting up the validation rules. <\/p>\n<h6 align=\"justify\">Validation Rules Table <\/h6>\n<p align=\"justify\">The following table describes the fields to define in the validation rules table (Extracts from the SAP BPC Help) <\/p>\n<p align=\"justify\"><strong>Field Name <\/strong>    <br \/><strong>Description<\/strong><\/p>\n<p align=\"justify\">Validation account   <br \/>The member ID of the &#8216;error&#8217; account.<\/p>\n<p align=\"justify\">Remark   <br \/>A description for the rule. <\/p>\n<p align=\"justify\">Validation operand   <br \/><strong>=<\/strong>, <strong>&lt;<\/strong>, <strong>&gt;<\/strong>, <strong>&gt;=<\/strong>,<strong>&lt;=<\/strong>If the sign is <strong>=<\/strong>, the total of the left account must be equal to the total of the right account *-1If the sign is <strong>&gt;<\/strong>, the total of the left account must be greater than the total of the right account *-1 If the sign is <strong>&lt;<\/strong>, the total of the left account must be smaller than the total of the right account *-1<\/p>\n<p align=\"justify\">Other source dimensions   <br \/>Blank or a filter criterion for the original data extraction. Used to limit the selection on one dimension. <\/p>\n<p align=\"justify\">Other destination dimensions   <br \/>Blank or a forced destination. Used to force a target destination\u2019s dimension. <\/p>\n<p align=\"justify\">Applicable periods   <br \/>Blank or one or more time periods.<\/p>\n<p align=\"justify\">Validation tolerance   <br \/>Used to determine a limitation in the Value.<\/p>\n<p align=\"justify\">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:<\/p>\n<ul>\n<li>\n<div align=\"justify\">TotalAssets &#8211; Total Asset = 1000 <\/div>\n<\/li>\n<li>\n<div align=\"justify\">TotalLiabEquity &#8211; Total Liabilities = 990<\/div>\n<\/li>\n<\/ul>\n<p align=\"justify\">If the validation sign is <strong>=<\/strong> , 10 is generated in the validation account because 1000 is not equal to 990. <\/p>\n<p align=\"justify\">If the validation sign is <strong>&lt;<\/strong> , 10 is generated in the validation account because 1000 is not smaller than 990.<\/p>\n<p align=\"justify\">If the validation sign is <strong>&gt;<\/strong> , nothing is generated in the validation account because 1000 is greater than 990.&#160; <\/p>\n<p> <strong>   <\/p>\n<p align=\"justify\"><\/p>\n<p>   <em>Sample Configuration<\/em><\/strong>  <\/p>\n<p align=\"justify\"><strong>Validation <\/strong><strong>Account<\/strong>    <br \/><strong>Validation Operand<\/strong>    <br \/><strong>Other Source Dimensions<\/strong>    <br \/><strong>Other Destination Dimensions&#160;&#160;&#160; <\/strong>    <br \/><strong>Applicable Periods&#160;&#160;&#160;&#160;&#160; <\/strong>    <br \/><strong>Validation Tolerance<\/strong><\/p>\n<p align=\"justify\">BSDiff   <br \/>=    <br \/>0<\/p>\n<p align=\"justify\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" alt=\"image016\" align=\"baseline\" src=\"https:\/\/weblogs.sdn.sap.com\/weblogs\/images\/252057395\/image016.jpg\" width=\"592\" height=\"315\" \/><\/p>\n<p align=\"justify\">*Note: After addition or change do \u201cSave without Validation\u201d and \u201cValidate Validation rules rule table\u201d, without this the setting will not work.<\/p>\n<h6 align=\"justify\"><\/h6>\n<h6 align=\"justify\">Validation Rules Details Table<\/h6>\n<p align=\"justify\">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. <\/p>\n<p align=\"justify\"><strong>Field Name <\/strong>    <br \/><strong>Description<\/strong><\/p>\n<p align=\"justify\">Validation account   <br \/>The member ID of the &#8216;error&#8217; account.<\/p>\n<p align=\"justify\">Account 1   <br \/>The member ID of the \u201cleft side\u201d account.<\/p>\n<p align=\"justify\">Flow 1   <br \/>Blank or the \u201cleft side\u201d member of the FLOW dimension.<\/p>\n<p align=\"justify\">Sign 1   <br \/>The operator used in the Left part of calculation ( <strong>+<\/strong> or <strong>&#8211;<\/strong> )<\/p>\n<p align=\"justify\">Account 2   <br \/>The member ID of the \u201cright side\u201d account.<\/p>\n<p align=\"justify\">Flow 2   <br \/>Blank or the \u201cright side\u201d member of the FLOW dimension<\/p>\n<p align=\"justify\">Sign 2    <br \/>The operator used in the Right part of calculation&#160; ( <strong>+<\/strong> or <strong>&#8211; <\/strong>)<\/p>\n<p align=\"justify\">Remark   <br \/>A description for the rule.<\/p>\n<p align=\"justify\"><em>Sample Configuration<\/em><\/p>\n<p align=\"justify\">Validation Account   <br \/>ACCOUNT1    <br \/>FLOW1    <br \/>SIGN1    <br \/>ACCOUNT2&#160;&#160;&#160;&#160;&#160;&#160; <br \/>FLOW2&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br \/>SIGN2<\/p>\n<p align=\"justify\">BSDiff<\/p>\n<p align=\"justify\">TotalAssets   <br \/>F_GEN    <br \/>+ 1    <br \/>TotalLiabEquity    <br \/>F_GEN     <br \/>+ 1<\/p>\n<p align=\"justify\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" alt=\"image017\" align=\"baseline\" src=\"https:\/\/weblogs.sdn.sap.com\/weblogs\/images\/252057395\/image017.jpg\" width=\"596\" height=\"308\" \/><\/p>\n<p align=\"justify\">*Note: After addition or change do \u201cSave without Validation\u201d and \u201cValidate Validation rules rule table\u201d, without this the setting will not work.<\/p>\n<p align=\"justify\">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. <\/p>\n<h6 align=\"justify\"><\/h6>\n<h6 align=\"justify\">Logic for Validation<\/h6>\n<p align=\"justify\">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:<\/p>\n<p align=\"justify\">*RUN_STORED_PROCEDURE=SPRUNVALID( parameters list)<strong> <\/strong><\/p>\n<p align=\"justify\"><em>Sample Configuration <\/em><\/p>\n<p align=\"justify\">*RUN_STORED_PROCEDURE=SPRUNVALID([LEGALAPP], [ACTUAL], [USD], [%SCOPETABLE%], [%LOGTABLE%] )<\/p>\n<h6 align=\"justify\">Conclusion<\/h6>\n<p align=\"justify\">At various stages of the data entry, the data consistency checks can be performed completeness and accuracy check can be performed using this feature.&#160; Validation rules allow you to check the integrity and correctness of entered values, before signing off such data as \u201capproved\u201d. <\/p>\n<p align=\"justify\"><a href=\"http:\/\/sapbpctutorials.blogspot.com\/\" target=\"_blank\">SAP BPC Tutorials | SAP BPC Training | SAP BPC Interview Questions |SAP BPC Books<\/a>    <\/p>\n<div style=\"padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px\" id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e6c4a49b-f6bc-4dba-b56a-79c58851b1a8\" class=\"wlWriterEditableSmartContent\">del.icio.us Tags: <a href=\"http:\/\/del.icio.us\/popular\/sap+bpc+training\" rel=\"tag\">sap bpc training<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/sap+bpc+training+material+sap+bpc+overview\" rel=\"tag\">sap bpc training material sap bpc overview<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/sap+bpc+training+courses\" rel=\"tag\">sap bpc training courses<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/business+objects+bpc\" rel=\"tag\">business objects bpc<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/sap+bpc+7.0+sap+bpc+certification\" rel=\"tag\">sap bpc 7.0 sap bpc certification<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/sap+bpc+documentation\" rel=\"tag\">sap bpc documentation<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/sap+bpc+training+in+india\" rel=\"tag\">sap bpc training in india<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/sap+bpc+effects\" rel=\"tag\">sap bpc effects<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/sap+bps+effects\" rel=\"tag\">sap bps effects<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/sap+bpc+symptoms\" rel=\"tag\">sap bpc symptoms<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/sap+bpc+fx\" rel=\"tag\">sap bpc fx<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/outlooksoft+effects\" rel=\"tag\">outlooksoft effects<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/sap+cpm+effects\" rel=\"tag\">sap cpm effects<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/sap+bpm+effects\" rel=\"tag\">sap bpm effects<\/a>,<a href=\"http:\/\/del.icio.us\/popular\/sap+bcs+effects\" rel=\"tag\">sap bcs effects<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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.&#160; Business rules framework also allows the business user to configure and customize &hellip; <a href=\"https:\/\/www.sapbpc.sapag.co.in\/?p=35\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-35","post","type-post","status-publish","format-standard","hentry","category-sap-bpc-tutorials"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.sapbpc.sapag.co.in\/index.php?rest_route=\/wp\/v2\/posts\/35","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sapbpc.sapag.co.in\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sapbpc.sapag.co.in\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sapbpc.sapag.co.in\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sapbpc.sapag.co.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=35"}],"version-history":[{"count":0,"href":"https:\/\/www.sapbpc.sapag.co.in\/index.php?rest_route=\/wp\/v2\/posts\/35\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sapbpc.sapag.co.in\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=35"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sapbpc.sapag.co.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=35"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sapbpc.sapag.co.in\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}