Oracle has a flexible data model which allows you to configure someone’s job title in many different ways. Fields that are commonly used include Organization, Job, Position, and Grade fields, some of which have multiple segments of information in their name.
You can easily define how someone’s title should display using the Assignment formula. You can take any part of the assignment details and precisely configure a job title that is meaningful to your employees and managers and combine in any order to display a user-friendly view of a person's role with your organization.
Assignment information is displayed in the Context Header.
The Assignment Fast Formula
Auto setup automatically creates a default Assignment Fast Formula for you and activates this Fast Formula by specifying it in a User Defined Table (UDT). This formula has the name [Object prefix]_COM_BASIC_ASG, eg, XXX_COM_BASIC_ASG.
You can view or change the active Fast Formula in the UDT as follows:
-
Use an HRMS Administrator's responsibility, such as US HRMS Manager. Ensure this is attached to a Business Group into which this product was installed (refer to Installation for more information).
-
Navigate to Other Definitions: Table Values
-
Query back the table XXAS_COM_BASIC_FORMULA
-
Find the Assignment row and view the value, which contains the active Fast Formula name
The basics of the Assignment Formula
The assignment formula's primary function is to construct a job title, but it also can be used to configure other commonly used information, such as work address or years of service.
Formula Inputs
The formula has many input variables, which are documented within the formula text. Query the Fast Formula back in the Write Formula screen and press the Edit button to view the Fast Formula contents. There are many more inputs defined than are actually used in the formula. This is to allow to you quickly make use of many common assignment data fields when tailoring the display to meet your requirements.
If there is particular assignment information that is not delivered as an input, the ASSIGNMENT_ID context can be used to retrieve any segment of assignment information through the use of a Formula Function.
Formula Outputs
The formula returns the following information:
FTE
Calculates FTE based on the following rules:
- If FTE is held in the Assignment Budget Values table, this figure is used
- If Default Working Hours is held against either Position, Organization or Business Group, then FTE is calculated by dividing the Normal Working Hours (held on Assignment) by the Default Working Hours
- If Default Working Hours is not set, FTE is defined as Normal Working Hours / 38
If FTE is calculated to be >1, then it is rounded back to 1. Any of the above rules can be modified to suit your organization’s use of FTE.
Status
Used to add clarity for multiple assignments. By default, this displays text like Primary Job (100%) for a person with a single assignment.
For people with multiple assignments, all secondary assignments will display Secondary Job (x%), with x being determined by FTE.
This behavior is completely configurable. For example, if everyone in your organization has only one assignment, you may choose to display information such as Full Time or Part Time here.
Job_Title
The default job title is constructed using the following precedence rule:
- If Position is set, use Position Name + Organization Name as job title
- If Job is set, use Job Name + Organization Name as job title
- If neither Position nor Job are set, use Organization Name as Job Title
If these rules do not deliver you a sensible job title for your organization, you can modify this logic to use any of the input variables (such as Grade Name) or use the ASSIGNMENT_ID context to retrieve any other information using a Formula Function.
Service
Default behavior converts the length of service to one of four bands: 1-2 years, 2-5 years, 5-10 years, and 10+ years. You can modify this behavior to show different bands or the precise years of service.
Location
A simple display of the same Location Name you see in a worker’s assignment.
Location_Address
A comma-separated user-friendly display of the Work Location Address, with all empty fields hidden.
Fast Formula options
This section gives advice on how to modify this Fast Formula.
Changing the FTE Calculation
Within the default formula, you will see the following logic:
If Budget_FTE was not defaulted Then
(
....
FTE = Budget_FTE
)
Budget_FTE will be set if you hold FTE within Assignment Budget Values. If you do not hold FTE in this field, the Formula then attempts to calculate FTE based on Default Working Hours:
Else (
/* Try to derive FTE; need contractual hours first. Check on position,
organization and business group for FTE hours. */
FTE_Weekly_Hours = 0
If Position_Hours > 0 Then
(FTE_Weekly_Hours = Position_Hours)
Else If Organization_Hours > 0 Then
(FTE_Weekly_Hours = Organization_Hours)
Else If Business_Group_Hours > 0 Then
(FTE_Weekly_Hours = Business_Group_Hours)
If you do not hold default Working Hours against Position, Organization or Business Group, then a figure of 38 is used:
Else
(
/* This will unlikely to ever be hard-coded and will vary contract by contract.
If it's not on the position, org or BG and the FTE budget values are not set,
this is most probably on some DFF so this hard-coded value would need to be
replaced with a function call. */
FTE_Weekly_Hours = 38
)
FTE is then calculated as the Working Hours held against the person’s assignment record (Normal_Hours) divided by the weekly hours previously calculated.
If Normal_Hours > 0 Then
(FTE = round(Normal_Hours / FTE_Weekly_Hours, 2))
The resulting FTE is then rounded down if greater than 1:
/* Avoid over-budget jobs */
If FTE > 1 Then
(FTE = 1)
The final FTE value is then passed back to the calling program as a Fast Formula output.
You can easily change the above formula to calculate FTE in a way that is relevant to your organization.
If you wish to display FTE using this formula calculation, then, at minimum, you should review the default value of 38 working hours per week used in the formula calculations above.
Changing the length of the service display
By default, the length of service is shown as a band. Within the default formula, you will see the following logic:
If Years_Service >= 0 and Years_Service < 2 Then
(Service = '1-2 Years')
Else If Years_Service >= 2 and Years_Service < 5 Then
(Service = '2-5 Years')
Else If Years_Service >= 5 and Years_Service < 10 Then
(Service = '5-10 Years')
Else
(Service = '10+ Years')
You can easily change the above to display different bands of service. If you would like to simply show the exact number of years’ service, just comment out the above section and replace by the code:
Service = Years_Service
Configuring the job title
Within the default formula, you will see the following logic:
/* Set the job title to a combination of position/job and department */
If Position_Name was not defaulted Then
(
Position = Position_Name
Job_Title = Position + ', ' + Department
)
Else If Job_Name was not defaulted Then
(
Job = Job_Name
Job_Title = Job + ', ' + Department
)
Else
(Job_Title = Department)
This default display will show position or job names combined with a person’s organization name. If you have multiple key flexfield segments defined for Position and Job, then all segments will be displayed.
If this default logic does not produce job titles that are meaningful to your users, then use simple logic to pull the relevant fields from your assignment record. For example, to show someone’s job title as a combination of job name and grade, simply replace the above section by:
Job_Title = Job + ', ' + Grade_Name
There are currently no inputs that can be used to retrieve particular segments of the position or job keyflex. Use a formula function such as SUBSTR to perform some string manipulation on these names and return the results to the Job_Title variable for display. Alternatively, you can use a Formula Function to return the segments you require.
Changing the status
By default, the Status data display is used to give an indication of primary vs secondary assignments. When FTE is held, then the percentage FTE is shown for each assignment. If multiple assignments are not used, then the display will simply say “Primary Assignment” for all workers.
The logic that controls this display is as follows:
/* Set the status to primary or secondary based on the primary flag */
If Primary_Flag = 'Y' Then
(Status = 'Primary Job')
Else
(Status = 'Secondary Job')
If Budget_FTE was not defaulted Then
(Status = Status + ' (' + to_char(round(Budget_FTE * 100)) + '%)')
Else If Budget_Percent was not defaulted Then
(Status = Status + ' (' + to_char(round(Budget_Percent)) + '%)')
If all your workers have single assignments, you may like to use this Status field to show something like Employment or Assignment Category (Full Time / Part Time) or some information about their person type, e.g., Employee vs Contractor. You may need to write a Formula Function to retrieve some of this information.
Configuring the display of location and location address
Location and location address are displayed in a straightforward way. This display is controlled by the following logic:
/* Set the location name if set */
If Location_Name was not defaulted Then
(Location = Location_Name)
/* Concatenate the location address. An 'Address_Populated' variable is
used to ensure the separator is only added when necessary. */
Address_Populated = 'N'
If Address_Line_1 was not defaulted Then
(
Location_Address = Address_Line_1
Address_Populated = 'Y'
)
If Address_Line_2 was not defaulted Then
(
If Address_Populated = 'Y' Then
(Location_Address = Location_Address + ', ' + Address_Line_2)
Else (
Location_Address = Address_Line_2
)
)..... Etc
This section should not need modifying if you only use one address style for all employees in the Business Group. However, if you have multiple address styles, you may wish to tweak the display of the location address based on, for example, the Country.