• Administering Fast Formulas

Default to Assign Pending Action

This formula type is used to identify an interim choice in case of a suspension.

The following contexts are available:

  • BUSINESS_GROUP_ID ( ENTERPRISE_ID)
  • EFFECTIVE_DATE
  • HR_ASSIGNMENT_ID
  • BENEFIT_RELATION_ID
  • ELIG_PER_ELCTBL_CHC_ID
  • ORGANIZATION_ID

Database Items

Use only the following database items that are available to formulas of this type:

  • Database items based on person’s assignment: HR_ASSIGNMENT_ID AND PERSON_ID

Input Variables

Input variables are available to formulas of this type.

Input variables table

Input Data Type Required Description
BEN_PEN_IV_PRTT_ENRT_RSLT_ID Number N Result ID of the choice that is suspended

Return Variables

The formula can return either:

  • Interim code
  • Interim choice
  • Amount corresponding to the coverage along with an interim electable choice

Please see samples for illustration.

Return variables table

Out Variable Name Data Type Remarks
L_OUTPUT Character

Interim code which can be used arrive at the interim choice.

Possible values are listed below.

CDND : Current - default; new - default

CDNL : Current - default; new - next lower

CDNM : Current - default; new - minimum

CDNN : Current - default; new - nothing

CLND : Current - next lower; new - default

CLNL : Current - next lower; new - next lower

CLNM : Current - next lower; new - minimum

CLNN : Current - next Lower, new - nothing

CMND : Current - minimum; new - apply default

CMNL : Current - minimum; new - next lower

CMNM : Current - minimum; new - minimum

CMNN : Current - minimum, new - nothing

CNND : Current - nothing; new - default

CNNL : Current - nothing; new - next lower

CNNM : Current - nothing; new - minimum

CNNN : Current - nothing; new - nothing

CSND : Current - same; new - default

CSNL : Current - same; new - next lower

CSNM : Current - same; new - minimum

CSNN : Current - same; new – nothing

L_BNFT_AMOUNT NUMBER Benefit amount
L_EPE_ID NUMBER Electable choice

Sample Formula 1:

Formula Name : STU_DEFAULT_TO_ASSIGN_PENDING_ACTION

Formula Type : Default to Assign Pending Action

Sample Formula 2:

FORMULA Name : MMO_INTERIM_RULE1

FORMULA TYPE : Default to Assign Pending Action

Sample Formula 3:

FORMULA NAME : AGIOS_SUPP_EMP_LIFE_INTERIM_LIMIT_FF

DESCRIPTION : Validates the Employee supplemental life increases for Increment without a certification as long as the increase does not exceed the guaranteed issue.

Writing Formula

Writing a formula.

As we are aware, based on the place where it is attached to, the input and the return variables of a formula vary. That is why, different formula types are defined based on the purpose and provision. Few Examples are:

  • Accrual Formula: Determines the leave accruals of a person.
  • Age Calculation Formula: Calculates the age of a Person in derived factors.
  • Rounding Formula: To calculate the Rounded value.

Each and every formula type has its own set of Input Values and Return values. There are around 150 formula types in HR, and their details are huge, so it is not possible for us to discuss all sorts of formulae here, however we will discuss a few types that are important. In case we need to know the specifics of a Particular formula, there are documents available on Oracle support that we can download. As we had decided earlier, we will focus primarily on the language.

Defining a Formula

We will start with defining a formula. There is just one screen to deal with. See Figure 5.1 – Write Formula.

  • Responsibility: Super HRMS Manager
  • Navigation: Total Compensation -> Basic ->Write Formulas

get_context(hr_assignment_id 0)

(Figure 5.1 – Write Formula)

Defining Variables

Variables are the place holders in which we save values for our calculation. Although all the place holders that are used to store values are known as the Variables; there are different types of them.

There are three types of variables available in Fast Formulae.

  • Local variables: These are the most frequently used variables. These variables are defined inside a formula, and they stay valid only within the scope of the formula. We use local variables to store temporary information, which is used later in the program. In the example of swapping values from A to B, X was the temporary variable. Usually the frequently changing information is stored in Local Variable.
  • Global variables: These variables, as the name suggests, has a global scope in comparison to the Local Variables. The Global variables can be accessed by all Formulae within the application, and the value of a global variable cannot be updated with in the Formula. We usually store the slowly changing information in these variables. We use the Global Value screens to create and update Global Variables.
  • Database Items: The third category of the variable type will be the DBIs. As we know, DBIs are the values retrieved by stored queries in the application, which is hidden from the front end.

Using Data Types

Data types define the type of data being stored in the variable. There can be three types of data in Oracle Fast Formulae:

While defining a variable, we must define its data type. If the data type is not added along with the variable, the compiler takes it as a Number.

Using Operators

Operators add meaning to an expression. Let’s take an example of an Expression.

In the example given above, the portion between IF and THEN can be called as an Expression, which looks like this:

Now, the symbols +,-, =, <>, ‘OR’ are called operators. The Operators instruct the compiler about the arithmetic / logical action that needs to be taken on the variables to arrive at a result of the expression.

There are two types of Operators that are used in Formulas

  • Arithmetic Operators: used in arithmetic calculations. Example: +, -, *, / etc.
  • Logical Operators: used in logical calculations. Example: =, <>, <, >, OR, AND etc.

Let’s take some time to look at them individually.

There are few things that we must keep in mind while using Arithmetic operators:

  • The second operand on a division should never be ‘ZERO’.
  • We must not use two big numbers for multiplication, if the resultant is too big, it errors.
  • So is the case with subtraction, if the resultant is a negative number. It errors if the resultant is a big negative number.

Flow of an Expression

In an Expression, the compiler executes the statements from left to right taking the brackets as precedence.

Let’s take an example to understand it better:

In this Expression, there are four different arithmetic calculations to be done. The way Oracle Fast Formula decides the flow is:

  • It goes from Left to Right
  • Calculates the expressions inside the Brackets first.

So, if we implement the rules, we will see, the Fast formula will execute the statement in this flow:

  • ( Result of 1 ) / C
  • ( Result of 3 ) * R
  • (Result of 2) * (Result of 4)
  • Result of 5 is assigned to X

Usually the Expression uses operands of same data type to arrive at a resultant. However, there are a few exceptions like:

In this expression, X will have a numeric value, as DAYS_BETWEEN is a function that returns a number, which is the difference of days between the two dates. The resultant number of the function is then added to the number 9 and then the final result is stored in the Variable X. So what does that show? Even though the operands are of a certain data type, the resultant data type may vary based on the functions.

A statement is a sentence that completes a task in a Program. There can be four types of statements.

Input Statement

  • Assignment statement

Conditional Statement

Return Statement

Let’s take the most famous Formula example in payroll

Now, let’s analyze the Formula.

  • The statement 1 is an Input statement.
  • Statement 2 and 4 are conditional statements.
  • Statement 3 and 5 are assignment statements.
  • And statement 6 is a return Statement.

The input statements are used, to pass the Input values from element into our formula. Each and every element has some input values attached to it, which hold the values. In a formula, if we are using Input Values, we need to write a statement that tells the formula about the different Input values in use.

Like we have used in the example:

Here, the HOURS_WORKED and the HOURLY_RATE are the two Input values from the Elements.

The syntax is:

The FF Compiler takes Number as the default data type. If the INPUT_VALUE is mentioned without any data type, the compiler takes them as a Number. For Text ad Date data types, we must add the variable name along with the Input value. In our example, both the Input Values are of Numeric type.

Assignment Statement

The assignment statement represents assignment of a variable. With this statement, a variable gets updated with a new value.

Variable = expression

The Resultant of the expression on the left hand side is calculated and placed on the variable on the left hand side, which must be a Local Variable, as we know no other types of variable can be updated with in a formula.

A Conditional statement has a condition and a resultant attached to it. The resultant is executed if the condition matches.

Here, if the condition matches, then the statement1 is executed; and if the condition does not match, then the statement2 is executed.

Oracle Fast Formula does not understand “End If”; unlike other programming languages

The Conditions in an IF statement can be Multiple with logical operators like AND / OR. If the entire condition passes, it’s a pass. For an example, we can have an IF Statement like this:

To simplify the above example, we can write it like this.

3. (A=B) AND (C=D)

Here, based on the logical operator settings, we can be sure that the condition passes, if either 3 or 5 is a pass.

If more than one statement is to be executed inside an IF, we can take help of brackets. In case of absence of brackets, the compiler takes the first statement as part of the conditional statements and executes the rest unconditionally.

Take this example:

Here, the brackets ensure both statements get executed when the condition is a pass.

Now, let’s have a look at this:

In this case only the statement ‘X = R ’ is executed only if the condition matches, and statement ‘Y = S ’ is executed irrespective of the condition given above. So what did we conclude? The application takes just one statement after the IF statement as part of the condition, if there are no brackets in it. It makes sense, right?

back to top

Each and every formula type expects a set of resultants from the formula to be fed to the application. So if we have attached a formula at a place in the application, the application expects the resultants in order to decide on the next action. Those resultants are known as the Return Values.

Every formula must have one, and may have more than one return Values. Those return values are given back to the application with the use of Return Statements. Oracle Fast Formula stops executing the formula, when it finds the Return Statement.

In Our Example, the wage was calculated with the arithmetic formulas, and at the end, the calculated wage is returned back to the application by the return statement which looks like this: “RETURN WAGE”. Did we see the variable Wage is not initialized? That is because the formula knows its return type, and hence automatically defines the local variable in that data type.

Using Input values

Input values are place holders to store values for a particular element entry. For an example, if we have an element called “Weekly Wage” and it has an input value as “HOURS_WORKED” then, then we can use the input value to store the number of hours worked by the employee in employee’s element entries.

Later, we can use the Input value in my formula to calculate the wage multiplying the HOURLY_RATE with the HOURS_WORKED. Simple, isn’t it? Input values come handy in FFs, because we can directly use the input value name in the fast formula, and based on the ASSIGNMENT_ID and the Payroll run being evaluated, the Hours Worked will be pulled from the element entries and can be used directly there, without any extra line of code. In the Write fast Formula screen, we have a button for Input values, which lists all the valid Element types and the corresponding Input Values from which we can choose the one we are going to use.

Input values can be used in the FF, only after we define the Inputs with an Input statement. An Input statement looks like this:

Here, the HOURS_WORKED and HOURLY_RATE are the two input values that can be used in the fast formula. Let’s look at few points related to Input Values and their usages.

  • As both these input values in the example, are numbers we did not have to add the data type in the statement, however for any other data type, we must have the data type added in brackets just after the Input value name.
  • We must make sure the Input values are not null for any assignment. In such cases our calculation might go wrong. To avoid such issues, we can use the Default keyword. The statement might look like:

Was Defaulted

We just discussed about the default statement. So when will the default value of 35 be applied over the HOURLY_RATE? It will be defaulted, only when the Input value for the assignment being evaluated for the Payroll run is Null.

We can always check, if the Input value was defaulted or not, by using the “was defaulted” key word in a conditional statement.

The syntax looks like this:

For an example, in a fast formula, we need the assignment_id of the employee being evaluated. In this case, we might default the assignment_id as ‘0’. So whenever the syatem will not find a valid (Not Null) assignment_id it will assign it a value ‘0’. However before using the assignment_id, we might want to check if the data was fetched properly. In this case, we would use Was Defaulted to check if the value was retrieved or was just defaulted. Based on that fact, we can write the next set of statements.

Global Variables

As we know, we store the Global information in Global variables. We store the information that does not change frequently. Let’s see how to configure the Global Values. See Figure 5.2 – Global Values.

get_context(hr_assignment_id 0)

(Figure 5.2 – Global Values)

Using Database Items

Database Items are the hidden queries used by the application to provide fast information in the Fast Formula. The query actually uses a set of values as Contexts, which is passed by the Fast Formula to the DBI. Using the context the query pulls the data from the application tables, using the defined query.

Question, what are the data that are available in DBIs? There are many, mainly the assignment details, Contact details, Input Values, Balances etc.

· For the Input Values we must check the create Database Item flag in Input Value definition screen in elements, in order to create a DBI for the same.

· For DFFs and KFFs, we must run the “Create Descriptive Flex field DB Items” process and “Create Key Flex field DB Items process” respectively, to have the DBIs created.

· For all others the DBI gets created without any added tasks.

There is a button called “Show Items” in the Write Formula Screen. This button opens up a form that lists all the Database Items that are available to the formula type. Now, how does the system identify if a DBI should be available to the formula type or not? It is the context.

Every formula runs with a set of contexts. The contexts are:

Based on the type of formula, the contexts are used. And Most of the DBIs need contexts to provide required results. Because the query in the DBI, needs some inputs and the inputs are given by the Contexts. So if the context is missing, the DBIs will not be able to pull the data. For an example, we will not need payroll related contexts, if we are writing a formula for Benefits. So a Benefits Formula will not have Payroll contexts and eventually will not have the payroll related DBIs. So it is always advised to check the “Show Items” button while writing the formula, to be sure if the DBI is available in there.

There are two types of DBIs.

1. Static Database Items

2. Dynamic Database Items

The static database Items are seeded along with the application. They get created during the time of Implementation. Examples of Static DBIs are:

· PER_LAST_NAME: Stores the last name of the Person.

· PAY_PERIODS_PER_YEAR: Stores the number of Pay periods in a year for a payroll.

· ASG_SALARY_BASIS: Salary basis of an employee.

The Dynamic Database Items, as the name suggests are created dynamically while we create an Element / absence type / DFF etc. The Different types are:

· Flex Field DBIs

o Created only after the Create Descriptive/ Key Flex field DB Items process is run

o It adds the Segment name to the end of the DBI name for uniqueness.

o Example: PEOPLE_<Segment Name>

· Element DBIs

o Created when the Elements are created.

o It adds the Element Name and Input Value name as a prefix for uniqueness.

o Example: <Element Name>_<Input Value Name>_ENTRY_VALUE

· Grade Rates DBIs / Pay Scale DBIs

o Created when a pay scale / grade rate is defined.

o It adds Grade name and the pay scale name to the DBI’s name for uniqueness

· Absence DBIs

o Created when an absence types is created.

o It adds the Absence name as the prefix for uniqueness.

To fetch the exact query that is used in a DBI, we can use the following query:

The query returns the following:

So, if we take an example and run the query for “PTO_ACCRUAL_PLAN_ID”

Definition Text will be: DISTINCT PAP.ACCRUAL_PLAN_ID

TEXT will be:

pay_element_links_f pel

And the Contexts will be:

So, the query will be:

As per our example, the query will look like this:

We will learn more about the tables in Technical essay Section.

Using Aliases

The database item names are big and hence are difficult to remember. It is very difficult to remember each and every data base item, and write the names accordingly, while writing a big fast formula. Here the concept of Alias is very useful. The name itself is self explanatory.

Let’s take an example:

In this above statement the DBI is aliased as BARG_UNIT. Hence forth in the Formula we can easily refer BARG_UNIT and the compiler will understand that the BARG_UNIT means the value returned by the Database Item.

Comments in Fast Formula

Comments are always preferred in coding, and Oracle Fast Formula is no exception. We can add as many comments and white lines in a formula as you want to increase the readability.

A Comment starts with /* and ends with */. Compiler ignores everything in between these two symbols. Comments never impact the performance of a Formula; hence as a standard practice, we should always add the Formula Name, Type, Input Values, Return Types, DBIs if any, flow of the code and also the versions with comments in order to make it more standard and readable. We should also add comments in between the codes to explain the purpose of the statements, in case the statement is complex. We should not put Comments in between Comments as the compiler does not understand the nesting and throws an error.

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Get unifiedRoleAssignment

  • 14 contributors

Namespace: microsoft.graph

Retrieve the properties and relationships of a unifiedRoleAssignment object.

This API is available in the following national cloud deployments .

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet

Permissions

One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions .

For the directory (Microsoft Entra ID) provider

Permission type Permissions (from least to most privileged)
Delegated (work or school account) RoleManagement.Read.Directory, RoleManagement.Read.All, Directory.Read.All, RoleManagement.ReadWrite.Directory, Directory.ReadWrite.All
Delegated (personal Microsoft account) Not supported.
Application RoleManagement.Read.Directory, RoleManagement.Read.All, Directory.Read.All, RoleManagement.ReadWrite.Directory, Directory.ReadWrite.All

In delegated scenarios with work or school accounts, the signed-in user must be assigned a supported Microsoft Entra role or a custom role with one of the following role permissions:

  • microsoft.directory/roleAssignments/standard/read (least privileged)
  • microsoft.directory/roleAssignments/allProperties/read
  • microsoft.directory/roleAssignments/allProperties/allTasks

The least privileged roles supported for this operation are as follows, in the order of least to most privileged:

  • Directory Readers
  • Global Reader
  • Privileged Role Administrator

For the entitlement management provider

Permission type Permissions (from least to most privileged)
Delegated (work or school account) EntitlementManagement.Read.All, EntitlementManagement.ReadWrite.All
Delegated (personal Microsoft account) Not supported.
Application EntitlementManagement.Read.All, EntitlementManagement.ReadWrite.All

HTTP request

Get a role assignment for the directory provider:

Get a role assignment for the entitlement management provider:

Optional query parameters

This method supports th $select and $expand OData query parameters to help customize the response. For general information, see OData query parameters .

Request headers

Name Description
Authorization Bearer {token}. Required. Learn more about .

Request body

Don't supply a request body for this method.

If successful, this method returns a 200 OK response code and the requested unifiedRoleAssignment object in the response body.

Example 1 : Get the details of a role assignment

The following example shows a request.

For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .

The following example shows the response.

Note: The response object shown here might be shortened for readability.

Example 2: Get the details of a role assignment and expand the relationships

The following example shows a request with the $expand query parameter.

Note: The response object shown here might be shortened for readability. All the properties will be returned from an actual call.

Was this page helpful?

Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback .

Submit and view feedback for

Additional resources

Fusion HCM – Managing an Array Type Fast Formula

l_effective_date = GET_CONTEXT(EFFECTIVE_DATE,to_date(‘1951-01-01 00:00:00’)) l_1000_hrs_reached_date = GET_CONTEXT(EFFECTIVE_DATE,to_date(‘1951-01-01 00:00:00’)) l_person_id = GET_CONTEXT(PERSON_ID,0) l_assignment_id = GET_CONTEXT(HR_ASSIGNMENT_ID,0)

l_index = PER_HIST_ASG_ASSIGNMENT_ID.FIRST(-1)

IF ( l_asg_id = l_assignment_id AND l_hist_asg_primary_flag = ‘Y’ AND l_hist_wr_primary_flag = ‘Y’ AND l_hist_assignment_type = ‘E’ ) THEN (  L_LAST_CHANGE_DATE = l_hist_asg_start_date  CHANGE_CONTEXTS(EFFECTIVE_DATE = L_LAST_CHANGE_DATE)  (   l_1000_hrs_reached = PER_ASG_ATTRIBUTE2  )

  IF l_1000_hrs_reached = ‘Y’ THEN    (      l_1000_hrs_reached_date = L_LAST_CHANGE_DATE    )   ELSE    (      l_1000_hrs_reached_date = to_date(‘1951-01-01 00:00:00’)    ) )         l_index = PER_HIST_ASG_ASSIGNMENT_ID.NEXT(l_index, -1) ) RULE_VALUE = TO_CHAR(l_1000_hrs_reached_date)

RETURN RULE_VALUE

Doyensys

Start typing and press Enter to search

  • Install App

Cloud Platform

For appeals, questions and feedback about Oracle Forums, please email [email protected] . Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Oracle has updated its online  Terms of Use  and  Community Guidelines  and introduced a  Community Integrity Policy . These changes document Community specific rules and Oracle’s content moderation practices including use of automated tools, appeals process, and Oracle’s contact details. If you object to any changes, you may request that your account be closed by contacting  [email protected] . Your continued use of Oracle Communities means that you are consenting to the updated terms.

How to Print the log for a Date Value and Number Indexed Array

get_context(hr_assignment_id 0)

I am trying to print a log for a Database Item HRA_EVALUATIONS_FF_END_DATE (Date Value and Number Indexed Array) in the below formula using ESS_LOG_WRITE.

But formula compilation errors with line 55, either function HRA_EVALUATIONS_FF_END_DATE does not exist or the combination of parameter types does not match the statement. I am able to print other date database item values..

/*==============INPUT VALUES DEFAULT BEGINS =====================*/ INPUTS ARE CMP_IV_PLAN_ID (number),            CMP_IV_PERIOD_ID (number),            CMP_IV_COMPONENT_ID (number),            CMP_IV_ITEM_NAME (text),            CMP_IV_ASSIGNMENT_ID (number),            CMP_IV_PLAN_START_DATE (text),            CMP_IV_PLAN_END_DATE (text)

/*=========== INPUT VALUES DEFAULTS ENDS======================*/ /*================ DEFAULT SECTION BEGIN =======================*/

DEFAULT_DATA_VALUE FOR HRA_SECTION_RATING_FF_RATING_LEVEL_CODE IS 'X' DEFAULT_DATA_VALUE FOR HRA_SECTION_RATING_FF_NUMERIC_RATING IS 0 DEFAULT_DATA_VALUE FOR HRA_SECTION_RATING_FF_RATING_LEVEL_CODE IS 'x' DEFAULT_DATA_VALUE FOR HRA_SECTION_RATING_FF_RATING_MODEL_CODE IS 'x' DEFAULT_DATA_VALUE FOR HRA_SECTION_RATING_FF_RATING_TYPE_CODE is 'x' DEFAULT_DATA_VALUE FOR HRA_EVALUATIONS_FF_TEMPLATE_DEFN_ID IS 0 DEFAULT_DATA_VALUE FOR HRA_TMPL_PERIODS_TEMPLATE_DEFN_ID IS 0 DEFAULT_DATA_VALUE FOR HRA_SECTIONS_RATINGS_SECTION_TYPE_CODE IS 'x' DEFAULT_DATA_VALUE FOR HRA_EVALUATIONS_FF_EVALUATION_ID IS 0 DEFAULT_DATA_VALUE FOR HRA_EVALUATIONS_FF_TMPL_PERIOD_ID IS 0 DEFAULT_DATA_VALUE FOR HRA_SECTION_RATING_FF_EVALUATION_ID IS 0 DEFAULT_DATA_VALUE FOR HRA_SECTION_RATING_FF_SECTION_TYPE_CODE IS 'x' DEFAULT_DATA_VALUE FOR HRA_SECTION_RATING_FF_ROLE_TYPE_CODE IS 'x' DEFAULT FOR CMP_IV_ITEM_NAME IS 'XXX' DEFAULT FOR CMP_IV_PLAN_START_DATE IS 'XXX' DEFAULT FOR CMP_IV_PLAN_END_DATE IS 'XXX' DEFAULT FOR CMP_ASSIGNMENT_SALARY_COMPARATIO IS 0 DEFAULT_DATA_VALUE FOR HRA_EVALUATIONS_FF_END_DATE IS '4712/12/31 00:00:00' (date) Default for l_perf_rat is 'X'

/*================ DEFAULT SECTION ENDS =======================*/

L_PL_START_DATE      = TO_DATE(CMP_IV_PLAN_START_DATE,'YYYY/MM/DD') L_PL_END_DATE        = ADD_YEARS(TO_DATE(CMP_IV_PLAN_END_DATE,'YYYY/MM/DD'),-1)

l_assignment_id=GET_CONTEXT(HR_ASSIGNMENT_ID,0) /*To fetch the Performance Rating for an employee*/ i = 1

CHANGE_CONTEXTS(HR_ASSIGNMENT_ID=l_assignment_id)

while HRA_EVALUATIONS_FF_END_DATE.exists(i) loop (      l_evaluation_id = -1 l_evaluation_end_date = to_number(to_char(HRA_EVALUATIONS_FF_END_DATE(i),'YYYYMMDD'))

L_TEMP = ESS_LOG_WRITE('VIVEK_DEBUG1:' +to_char(L_PL_START_DATE,'DD-MM-YYYY'))

L_TEMP = ESS_LOG_WRITE('VIVEK_DEBUG2:' +to_char(L_PL_END_DATE,'DD-MM-YYYY')) L_TEMP = ESS_LOG_WRITE('DEBUG3:' || to_char(l_evaluation_end_date))

IF (TO_CHAR(ADD_YEARS(HRA_EVALUATIONS_FF_END_DATE[i],-1),'DD/MM/YYYY')= TO_CHAR(L_PL_END_DATE,'DD/MM/YYYY')) THEN    (

      l_evaluation_id = HRA_EVALUATIONS_FF_EVALUATION_ID[i]        j=1

WHILE HRA_SECTION_RATING_FF_EVALUATION_ID.exists(j) loop (      /*  l_output =l_output||' '||HRA_SECTION_RATING_FF_SECTION_TYPE_CODE[j] */

     if HRA_SECTION_RATING_FF_EVALUATION_ID[j] = l_evaluation_id then    (                           if HRA_SECTION_RATING_FF_SECTION_TYPE_CODE[j] = 'OS' AND HRA_SECTION_RATING_FF_ROLE_TYPE_CODE[j] = 'MANAGER' THEN                     (                    

    l_perf_rat  = HRA_SECTION_RATING_FF_NUMERIC_RATING[j] /*Assign the performance rating_did to local variable */ L_TEMP = ESS_LOG_WRITE('DEBUG3:' +l_perf_rat)                          EXIT      )                )

    j = j+1

      )      )    i=i+1 )

RETURN l_perf_rat

COMMENTS

  1. GET_CONTEXT(HR_ASSIGNMENT_ID,0) returns incorrect Assignment ID when

    GET_CONTEXT(HR_ASSIGNMENT_ID,0) returns incorrect Assignment ID when employee is on Temp Assignment Content. When employee is on a temporary assignment, he has two assignments one in suspended status and one active. Absence Entry Validation Fast Formula is getting incorrect context and hence validations are failing. Can you please help me get ...

  2. Fusion Global Payroll: Payroll Assignment ID Context Value Is Not

    This note was created for Release 11.13.18.10.. The note has been reviewed and is current for release 11.13.20.07.. Goal. The Payroll Assignment ID context value is not available in the Oracle Payroll Formula, and due to this we are not able to access the database item (DBI) that has the dependency on payroll Assignment ID.

  3. GET_CONTEXT HR_ASSIGNMENT_ID does not get value in Person Changes

    I was trying to get the CONTEXT for HR_ASSIGNMENT_ID and Effective Date, I don't get any value in FF Content (please ensure you mask any confidential information): I was trying to get the Action Code from the value set for that I need to get the CONTEXT HR_ASSIGNMENT_ID.

  4. Fusion Payroll: Fast Formulas Troubleshooting Guide

    Fusion Payroll: Fast Formulas Troubleshooting Guide (Doc ID 1560556.1) Last updated on JANUARY 03, 2024. Applies to: Oracle Fusion Global Payroll - Version 11.1.1.5.1 and later Oracle Fusion Benefits Cloud Service - Version 11.1.5.0.0 and later Oracle Fusion Global Human Resources - Version 11.1.5.0.0 and later

  5. Fusion Global Payroll: How to set Contexts in a Fast Formula

    Click to get started! In this Document. Goal. Solution. My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts. Oracle Fusion Global Payroll Cloud Service - Version 11.1.9.2.0 and later: Fusion Global Payroll: How to set Contexts in a Fast Formula.

  6. Default to Assign Pending Action

    FORMULA TYPE : Default to Assign Pending Action. DESCRIPTION : Validates the Employee supplemental life increases for Increment without a certification as long as the increase does not exceed the guaranteed issue. DEFAULT FOR BEN_PIL_LF_EVT_OCRD_DT is '1951/01/01 00:00:00'(date)

  7. change_contexts(PAYROLL_ASSIGNMENT_ID) is not working

    When I run the 'Recalculate Payroll for Retroactive Changes' process the DBI values and variable l_retro_gh_value return 0 although the parameter values look valid. I have tried the changes suggested in Fusion Global Payroll: Payroll Assignment ID Context Value Is Not Available in Oracle Payroll Formula (Doc ID 2534633.1) but, that didn't help. Q1.

  8. Guide to Oracle HCM

    Oracle Core HR. Payroll Fast Formula. User Functions. Writing Formula. Managing Formula. Summary. Oracle Advanced Benefits ... In this case, we might default the assignment_id as '0'. So whenever the syatem will not find a valid (Not Null) assignment_id it will assign it a value '0'. ... AND fc.context_id = frcu.context_id ORDER BY 6 ...

  9. Fusion HCM

    Home / Fusion / Fusion HCM - Managing an Array Type Fast Formula. Below is a Sample Array Type Fast Formula : DEFAULT_DATA_VALUE FOR PER_HIST_ASG_ASSIGNMENT_ID IS 0. DEFAULT_DATA_VALUE FOR PER_HIST_ASG_ASSIGNMENT_TYPE IS 'x'.

  10. PDF Fast Formula Reference Guide

    Page 4 vestingUnits Number vestingUOM Text carryOverProration Number ceilingProration Number Sample Formula: /***** FORMULA NAME: Absence Accrual Formula

  11. Fusion HCM

    Below is a Sample Formula showing How to Call a Fast Formula from another Formula : DEFAULT FOR ASG_HR_ASG_ID is 0. DEFAULT FOR PAY_EARN_PERIOD_END is '4712/12/31 00:00:00' (date)

  12. Fast Formula Erroring on Database Item HR_Assignment_ID

    Action: Please ensure variables have been assigned to before using them. Review of Database Items does not show one called HR_ASSIGNMENT_ID Cause: When creating the External Function, customer declared the ASSIGNMENT_ID as a context - but they were also declaring the p_assignment_id as a parameter.

  13. Global Assignment

    Step 9 - Reporting. Though we can create ORD (Online Report Designer) and AdHoc report on Global assignment but there is a Standard report available on ORD for Global Assignment. It will show the contact information for the Global Assignee. Note : we can assign Workflow on Global Assignment approval.

  14. Get unifiedRoleAssignment

    mgc role-management directory role-assignments get --unified-role-assignment-id {unifiedRoleAssignment-id} --expand "roleDefinition" For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .

  15. Formula Compile error

    I need to pull the Assignment status type ID from Payroll access to HR formula and use that Assignment status type ID in my Element skip formula to check on conditions of the status. I referred the DOC IDs Doc ID 2020211.1 and Doc ID 2534633.1 in MOS and found the same code as below. But when I use RUN_INCLUDED_PAYROLL_ASGS DBI, am getting ...

  16. Fusion HCM

    Below is a Sample Array Type Fast Formula : DEFAULT_DATA_VALUE FOR PER_HIST_ASG_ASSIGNMENT_ID IS 0 DEFAULT_DATA_VALUE FOR PER_HIST_ASG_ASSIGNMENT_TYPE IS 'x'DEFAULT_DATA_VALUE FOR PER_HIST_ASG_EFFECTIVE_START_DATE IS '1951/01/01 00:00:00' (DATE)DEFAULT_DATA_VALUE FOR PER_HIST_ASG_EFFECTIVE_END_DATE IS '4712/12/31 00:00:00' (DATE)DEFAULT_DATA_VALUE FOR PER_HIST_ASG_PRIMARY_FLAG IS ...

  17. Fusion Absence Management: How to Pull Data For Secondary Assignments

    But by-default it is always pulling for Primary assignment's Work schedule. FF Type : Global Absence Entry Validation. Even though below context was used, then absence was inserted in Advanced mode against secondary assignment, the data pulled was from primary assignment every time: l_hr_ass_id = GET_CONTEXT(HR_ASSIGNMENT_ID,0)

  18. Fusion HCM Extracts: Extract Fails Referencing a Custom Fast Formula

    Name HR_6881_HRPROC_ORA_ERR Token1 ReportUtil.CallReportProc Token2 ORA-20001: Context JOB_ID wasn't set when used at line 32 of formula <FORMULA_NAME>. Details: All database items context values must be set when using the database item. All formula functions context values must be set when calling the function.

  19. Benefits Extract Custom Data Rule Issue

    The seeded Benefit Extract for FSA data is not fetching the Coverage amount, SO I have written a Fast formula to get the amount. But when the extract is run the Value is always 0 and no of the records fetched is decreased. Not all records are coming. I have attached the formula, could anyone review and let me know what is the issue is.

  20. How to Print the log for a Date Value and Number Indexed Array

    Hi All, I am trying to print a log for a Database Item HRA_EVALUATIONS_FF_END_DATE (Date Value and Number Indexed Array) in the below formula using ESS_LOG_WRITE. But formula compilation errors with line 55, either function HRA_EVALUATIONS_FF_END_DATE does not exist or the combination of parameter types does not match the statement.

  21. Fusion UK Payroll

    Context PAYROLL_ASSIGNMENT_ID wasn't set when used at line 170 of formula ORA_HRX_GB_ABS_SUB_AWE. All database items context values must be set when using the database item. All formula function context values must be set when calling the function. Context values can be set within a formula using a CHANGE_CONTEXTS statement.

  22. How to get absence plan accrual balance using GET_ACCRUAL_BALANCE

    We have a requirement which requires using the GET_ACCRUAL_BALANCE formula. Below is a sample Global Absence Accrual formula that we are using for testing; ln_assignment_id = GET_CONTEXT (HR_ASSIGNMENT_ID,0) L_Person_Id = GET_CONTEXT (PERSON_ID,1) L_Eff_Dt = GET_CONTEXT (EFFECTIVE_DATE,'0001/12/31 00:00:00' (date)) L_Accrual_Plan_ID = GET ...

  23. I used the GET_NET_ACCRUAL function, but always I received zero amount

    Summary: I used the GET_NET_ACCRUAL function with the related parameters in the same sequence, but always I received zero amount as a result, for more details, please see my code sample and screenshots below: