What are Cross Validation Rules
Cross Validation Rules are used to restrict the combination between the segments of a particular Chart of Accounts.
As per our Example, we have the following segments Comp, Division, Location, Department, Account.
Now to restrict ABC Company to create accounts with the combination say Cars and Trucks as division we define Cross Validation Rules (As ABC as a company in real time doesn’t deal with Cars and Trucks).
Note: To have better understanding on the Illustrations and Example suggestion is to read my other articles say article on Multi-Org and Flex fields for GL.
Steps to Enable Cross Validation Rules:
Enable the Cross Validation Segment options at our Chart Of Accounts.
System Administrator Responsibility
Navigation -> Setup -> Financials -> Flex fields -> Key -> Segments
If the Chart of Account is created earlier we need to Unfreeze Definition then Enable Cross Validation Segment then again Enable Freeze Definition then finally COMPILE
Next we need to define the Cross Validation Rules
System Administrator Responsibility
Navigation -> Setup -> Financials -> Flex fields -> Key -> Rules
Search for the Chart Of account that you have created.
Note: Here only the Chart Of accounts wherein we have enabled cross validations rules is displayed.
Next would be defining the Rule Name, for one Chart of Account we can define many Cross Validation Rules, Each cross validation rule must have an Include Rule. An include rule is used to determine all the possible code combination between the segment. An include rule can have one or more exclude rules. An exclude rule is used to exclude the combinations from an include rule.
Below is the illustration of cross validation rule between Company and Division this can be set with various other segment combinations as well.
Name: Rule1
Error Message: Invalid Code Combination
Error Segment: Division Segment (Directing the cursor to move to division segment when there is a error)
Best Practices:
1 – Keep the rules high level and simple. If they are too detailed, your chart of accounts may not be optimally defined. For example, it should be relatively easy to write a simple “P&L/Cost Center” rule, which would state that all P&L accounts must be assigned a cost center other than “00000”. If your accounts are created properly, then all your P&L accounts should be ranged between 400000 and 999999 (for example) without any gaps for other types of accounts.
2 – Focus on areas that are “heavy” with manual journal entries and prone to user error. If certain sets of accounts are posted automatically by subledger systems and should not have manual journals, these types of accounts can be ignored, and addressed later if you find people begin posting manually to these accounts.
3 – When writing a rule, consider only two segments at a time. More than two will make the rule confusing. It’s easier to make multiple rules across two segments rather than trying to create rules across 3 segments. These are “AND” conditions. So if attempting to use 3 segments, all 3 must be true at the same time in order for the rule to be effective.
4 – Group Rules logically. Oracle provides for many different rules, each which can have many lines associated to the rule. For example, you may have a “Product Line/Legal Entity” rule whereby certain legal entities cannot be combined with certain product lines. Do not try to combine this rule with a “Cost Center/Product Line” rule which would indicate a product line may be invalid for a give cost center. Group these separately, so the rules are easy to maintain and the error messaging is clear to the end user as to which segment should be corrected. Combining the concepts will make this unclear and confusing.
5 – Every new rule must have a “universal include” row, and then followed by “excludes”. Avoid using “Include” rules in the details. Work on the principle of management by exception. Make a universal include rule, and then enter excludes as exceptions. A universal include will have a range of 0000’s to zzzz’s for each segment. Exclude rows would then exclude low to high ranges across 2 segments. There is no need to fill in 000’s to zzz’ across each segment when writing your exclude rows. Not doing so will make it easier to read the rules.
6 – Make error messaging clear and concise so that users understand the nature of the errors.
7 – Run the cross validations rule violation report after keying in your cross validation rules (in environments that have established code combinations). This report will tell you all existing code combinations that would be invalid based on your new rules. You may determine that the rule itself is invalid and needs correction.
8 – Monitor and adjust rules as needed. Reclassify invalid transactions, then disable bad code combinations. Write new rules to prevent similar transactions from occurring in the future.
Configuring Cross Validations Rule
GL Responsibility >> Financial >> Flexfields >> Rules
1. Select the name and structure of your key flexfield for which you wish to define cross-validation rules. Your list only contains structures with the field Cross-Validate Multiple Segments set to Yes on the Key Flexfield Segments window.
2. Enter a unique name and a description for your cross-validation rule.
3. Enter your error message text for this cross-validation rule.
Your flexfield automatically displays this error message on the message line whenever a new combination of segment values violates your cross-validation rule. You should make your error messages as specific as possible so that your users can correct any errors easily.
4. Enter the name of the segment most likely to have caused this cross-validation rule to fail. Your flexfield leaves the cursor in this segment whenever a new segment combination violates this cross-validation rule to indicate where your user can probably correct the error. If you do not specify an error segment name, your flexfield leaves the cursor in the first segment of the flexfield window following a violation of this rule.
5. If you want to have the rule effective for a limited time, you can enter a start date and/or an end date for the rule. The rule is valid for the time including the From and To dates.
6. Define the cross-validation rule elements that make up your rule
Use this block to define the cross-validation rule elements that make up your cross-validation rule. You define a cross-validation rule element by specifying a value range that includes both a low and high value for each key segment. A cross-validation rule element applies to all segment values included in the value ranges you specify. You identify each cross-validation rule element as either Include or Exclude, where Include includes all values in the specified ranges, and Exclude excludes all values in the specified ranges. Every rule must have at least one Include rule element, since a rule automatically excludes all values unless you specifically include them. Exclude rule elements override Include rule elements.
Suggestion: We recommend that you define one all-encompassing Include rule element and several restricting Exclude rule elements.
Select the type of cross-validation rule element. Valid types are:
Include
|
Your user can enter any segment value combinations that fall in the following range.
|
Exclude
|
Your user cannot enter any segment value combinations that fall in the following range.
|
When you enter the From (low) field, this window automatically displays a window that contains a prompt for each segment in your flexfield structure. You enter both the low and high ends of your value range in this window. After you finish entering your ranges, this zone displays your low segment values in concatenated window in the Low field and displays your high segment values similarly in the High field.
Enter the low end and the high end of your segment combination range. Neither the low nor the high combination has to be a valid key flexfield combination, nor do they need to be made up of valid segment values.
Note that a blank segment value (null value) is considered to fall within a range that has one or both ends specified as a blank. However, if all of your segments require a value, you would not be able to create a combination with a blank segment anyhow.
You may use blank minimum or maximum segment values to create cross-validation rules that can test for blank segments (that are not already required to have a value). For example, if you allow a null value for your last optional segment but not the second-to-last optional segment, you would use a blank minimum or maximum value for the last segment but fill in a value (such as 000 or 999) for both the minimum and maximums for the second-to-last optional segment.
If you want to specify a single combination to include or exclude, enter the same combination in both the Low and High fields.
Disabled rules are ignored when your key flex field validates a combination of segment values. Deleting the rule has the same effect, but you can re-enable a disabled rule.
7. Save your changes.
Find the Accounting Flex field and give the Name and description for your cross validation rule.
Now go to rule elements and select include and exclude code combinations
Include:
Exclude:
Thanks,
Suman Beemisetty
Oracle Fusion Financials Online Training
ReplyDeleteThis is a very nice blog.