Functions Used in Autocomplete Rules

You can define one variable each using the primary 6 data types as a first step in rule building. Then on the right hand side of the variable equation, change the right hand side operator type to a function.

Click on the initial default name of the first function available to see what other types of transformations are available.These are the available function types.

Function

Usage

Standard

Used for technical transformations.

Global

Used to provide context information that's either, difficult if not impossible to obtain. The HCM suite of applications provides these functions.

Object

Used for authoring business objects using the Configure Business Objects page, different from the Autocomplete Rules Editor.

IF Block

Variable with functions contain part of subsequent IF logic.

The significance of the data type dependent functions is that most of the condition logic (with the help of an IF statement) is contained in the way these functions are setup on their corresponding variables before you author the IF statement portion of the rule logic. For example, if your rule requires you to check whether a user input text begins with "Oracle", most standard programming languages will enable you to directly apply the transformation within the IF statement as given here.

If <user text> begins with 'Oracle' then...

But, in Autocomplete Rules, you need to first declare a Boolean variable to test the "begins with" condition and then use the Boolean variable in your If condition as follows -

def Boolean MyVariable = beignsWith(user text, 'Oracle')
If MyVariable = True then ...

This style of application logic applies to any or all data type dependent functions like "Month Of", "Day Of", and so on. Many functions are very intuitive but transformations involving those that return Boolean values can be counter intuitive from a classical programming style perspective.

Condition Block

Condition Block is used to conditionally default or validate. It inserts into your rule definition an outline of a generic If ... Then ... Else ...statement. You can also use this to conditionally proceed only if a field or an entire object is NOT NULL. You can change or add, or do both to any part of this generic outline.

These are some of the common options along with additional navigational elements specific to the condition block.

  1. Removing the Else Block. In many cases you may not want an Else as part of your condition block. Click the down arrow to the left of the 'IF' clause to remove the entire Condition block or just the 'Else' segment of the condition block, in addition to the usual "Add Next" and "Add Before".

  2. Indented (to the right) down arrows. These arrows appear depending on where you're in the rule logic and allow you to do one of the following -

    • Add Condition: This uses the same conjunction (AND/OR) as already used in the series of conditions.

    • Add Condition Group: This enables you to cluster a set of conditions with the same conjunction inside this cluster. You can add a condition group first, if you're anticipating a complex combination logic and add more condition groups to control the conjunction used within each group and between the groups. When the default condition block is shown, use the indented arrow, add a condition group and then delete the default condition statement part of the original default condition block to proceed. You can add as many conditions to each group or entire condition groups, or both.

    • Change Conjunction: Changing a conjunction changes the conjunction for all within the same group or all conditions without any group.

  3. Remove a condition: This function has an 'x' at the end of the condition. You can't delete a condition when it's the only condition of a block.

  4. Exit Rule. This function is used to exclude some of your existing rules to execute for certain conditions.
  5. Do more than one thing if the condition is met or not. This works similarly to the left most indented down arrow enabling your to build one rule line at a time.