SlideShare a Scribd company logo
Extend and Personalize HCM
Instructor Guide
August 12, 2013
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Disclaimer
This document contains proprietary information and is protected by copyright and
other intellectual property laws. You may copy and print this document solely for
your own use in an Oracle training course. The document may not be modified or
altered in any way. Except where your use constitutes "fair use" under copyright law,
you may not use, share, download, upload, copy, print, display, perform, reproduce,
publish, license, post, transmit, or distribute this document in whole or in part without
the express authorization of Oracle.
The information contained in this document is subject to change without notice. If
you find any problems in the document, please report them in writing to: Oracle
University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This
document is not warranted to be error-free.
Restricted Rights Notice
If this documentation is delivered to the United States Government or anyone using
the documentation on behalf of the United States Government, the following notice
is applicable:
U.S. GOVERNMENT RIGHTS
The U.S. Government’s rights to use, modify, reproduce, release, perform, display,
or disclose these training materials are restricted by the terms of the applicable
Oracle license agreement and/or the applicable U.S. Government contract.
Trademark Notice
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other
names may be trademarks of their respective owners.
i
CONTENTS
Lesson Objectives ..........................................................................2
Extensibility and Personalization Overview....................................3
Terminology ...................................................................................4
Instructor Note: Steps for Personalizations ...................................5
Steps for Personalizations..............................................................6
Sandbox Manager...........................................................................7
Instructor Note: Demo Timing ..................................................................... 8
Demonstration: Creating a Sandbox ............................................................. 9
Types of Sandboxes ................................................................................. 10
Sandbox Guidelines .................................................................................. 11
Single Sandbox, Multiple Users .................................................................. 12
Single Sandbox Conflicts ........................................................................... 13
Multiple Sandbox, Multiple Users ................................................................ 14
Setting Up Sandboxes............................................................................... 15
Instructor Note: Activity Timing ................................................................. 16
Activity 1 Introduction: Create a Sandbox ................................................... 17
Activity 1: Create a Sandbox ..................................................................... 18
Review Question 1.................................................................................... 19
Review Question 2.................................................................................... 20
Review Question 3.................................................................................... 21
All Questions and Answers......................................................................... 22
Instructor Note: Steps for Personalizations - Step 1...................................... 23
Customizations.............................................................................24
Customization Layers................................................................................ 25
Editing Pages........................................................................................... 26
Instructor Note: Demo Timing ................................................................... 27
Demonstration: Update the Biographical Information Dialog Box.................... 28
Global Page Template ............................................................................... 31
Global Page Components........................................................................... 32
Instructor Note: Demo Timing ................................................................... 33
Demonstration: Personalize the Human Resources Dashboard ....................... 34
Personalizations ....................................................................................... 38
Instructor Note: Steps for Personalizations - Step 2...................................... 39
Managing Customizations.......................................................................... 40
Rolling Back, Downloading, and Uploading................................................... 42
Page Composer Migration.......................................................................... 43
Page Composer Migration Steps............................................................... 44
Instructor Note: Steps for Personalizations - Step 3...................................... 45
Instructor Note: Activity Timing ................................................................. 46
Activity 2 Introduction: Update a String on Portrait Employment Record ......... 47
Activity 2: Update a String ........................................................................ 48
Review Question 1.................................................................................... 50
Review Question 2.................................................................................... 51
Review Question 3.................................................................................... 52
All Questions and Answers......................................................................... 53
Flexfield Concepts ........................................................................54
Value Sets............................................................................................... 58
Key Flexfields .......................................................................................... 60
Tips for Managing Key Flexfields ................................................................ 63
Extensible Flexfields ................................................................................. 64
ii
Extensible Flexfield Example...................................................................... 66
Descriptive Flexfields ................................................................................ 68
Deploying a Flexfield ................................................................................ 70
Instructor Note: Demo Timing ................................................................... 71
Demonstration: Updating a Descriptive Flexfield .......................................... 72
Flexfield Implementation Flow.................................................................... 77
Flexfield Reference Resources.................................................................... 79
Instructor Note: Activity Timing ................................................................. 80
Activities Introduction: Update a Descriptive Flexfield ................................... 81
Activity 3: View the Flexfield...................................................................... 82
Activity 4: Update a Descriptive Flexfield..................................................... 84
Activity 5: View Flexfield Changes .............................................................. 86
Publishing Sandboxes ..................................................................87
Instructor Note: Steps for Personalizations - Step 4 ....................88
Flexfield Migration .......................................................................89
Flexfield Migration Steps ........................................................................... 90
Customization Set Migration ........................................................91
Instructor Note: Steps for Personalizations - Step 5 ....................92
Instructor Note: Activity Timing...................................................93
Activity 6 Introduction: Exit a Sandbox ........................................94
Activity 6: Exit a Sandbox ............................................................95
Fast Formulas...............................................................................96
Fast Formula Usages ....................................................................97
Instructor Note: Fast Formula Types........................................................... 98
Uses of Formulas in Payroll.......................................................................102
Uses of Formulas in Benefits.....................................................................103
Uses of Formulas in Absence ....................................................................104
Uses of Formulas in Compensation ............................................................105
Uses of Formulas with Validation...............................................................106
Creating Fast Formulas ..............................................................107
Instructor Note: Ways to Create a Fast Formula ........................108
Ways to Create Fast Formulas....................................................109
Instructor Note: Demo Timing....................................................110
Demonstration: Create a Compensation Default Fast Formula ...111
Fast Formula Components..........................................................114
Variables................................................................................................115
Assignment Statements ...........................................................................116
Return Statements ..................................................................................117
Input Statements ....................................................................................118
Expressions ............................................................................................119
Operators...............................................................................................120
Conditions..............................................................................................121
Comments..............................................................................................122
Instructor Note: Database Items...............................................................123
Database Items ......................................................................................124
Default Statements .................................................................................125
Global Values..........................................................................................126
Alias Statements.....................................................................................127
iii
Instructor Note: Functions........................................................................128
Functions ...............................................................................................129
Fast Formula Validation .............................................................130
Formula Structure ......................................................................131
Formula Example .......................................................................132
Writing Tips................................................................................133
Troubleshooting Tips..................................................................134
Instructor Note: Formula Logging..............................................................135
Payroll Process Configuration....................................................................136
Compilation Errors...................................................................................137
Execution Errors......................................................................................139
Performance Tips .......................................................................141
New Features .............................................................................142
Simple Array Structures ...........................................................................143
Formula Looping .....................................................................................145
Instructor Note: Calling a Formula from a Formula ......................................146
Calling a Formula from a Formula..............................................................147
Formula Context Setting ..........................................................................149
Working Storage Area..............................................................................150
Instructor Note: Activity Timing.................................................151
Activities Introduction: Create a Fast Formula ...........................152
Activity 7: Create a Fast Formula ...............................................153
Activity 8: Submit the Evaluate Scheduled Event Participation Process
...................................................................................................155
Review Question 1 .....................................................................157
Review Question 2 .....................................................................158
Review Question 3 .....................................................................159
All Questions and Answers .........................................................160
Lesson Highlights.......................................................................161
26 extend and personalize
0 Lesson Objectives
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1
Extend and Personalize HCM
0 Lesson Objectives
2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Lesson Objectives
After completing this lesson, you should be able to:
 Create a sandbox.
 Customize a page using the Page Composer.
 Personalize a dashboard.
 Manage fast formulas.
0 Extensibility and Personalization Overview
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 3
Extensibility and Personalization Overview
All customizations and extensions should be done in a testing environment. Typically,
this environment contains one or more Oracle Fusion Applications that will then be
moved to a production environment, once all customizations and extensions are
complete and tested.
0 Terminology
4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Terminology
Extensibility is the range of additions, configurations, and changes to an application
from its base set of features.
Note: BI Composer is discussed in a later lesson.
0 Instructor Note: Steps for Personalizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 5
Instructor Note: Steps for Personalizations
Put these steps on the whiteboard. Check off each step as we review the concepts.
1. Create the sandbox in the test environment.
2. Make changes in the sandbox.
3. When satisfied with personalizations download the customizations file.
IMPORTANT: This step needs to be completed before you publish
customizations to the sandbox or you will lose all the changes for migration.
4. Publish changes to the test environment.
5. Import downloaded file to the production environment.
.
0 Steps for Personalizations
6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Steps for Personalizations
The recommended steps for personalizing your environment are:
1. Create the sandbox in the test environment.
2. Make changes in the sandbox.
3. When satisfied with personalizations download the customizations file.
IMPORTANT: This step needs to be completed before you publish
customizations to the sandbox or you will lose all the changes for migration.
4. Publish changes to the test environment.
5. Import downloaded file to the production environment.
.
0 Sandbox Manager
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 7
Sandbox Manager
The sandbox manager is a tool for managing the different types of customization
changes that can be applied to an application. The different types of sandboxes are:
 Metadata - The metadata sandbox supports making changes to the application's
metadata stored in the MDS.
 Security - The security-enabled sandbox supports making data security
changes.
 Flexfield - The flexfield sandbox is not created in the sandbox manager. Use the
flexfield pages to make changes to flexfields and deploy the flexfield to the
sandbox. The flexfield deployment process manages the creation of the
sandbox.
Once you are satisfied with the changes in the sandbox and want to commit the
changes, you can publish to the mainline. Flexfield sandboxes are for testing only and
cannot be published.
0 Sandbox Manager
8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Instructor Note: Demo Timing
Approximate Demonstration Timing: 5 minutes
.
0 Sandbox Manager
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 9
Demonstration: Creating a Sandbox
Demonstration Scope
In this demonstration, you will create a sandbox.
Demonstration Steps
Sign in as hcm_impl.
Start Here
Home work area
1. In the global area Administration menu, click Manage Sandboxes.
Location: Manage Sandboxes page
2. Click the New icon.
Location: Create Sandbox page
Information
Replace XX with your initials.
3. In the Sandbox Name field, enter XX_Test_Sandbox.
4. Click Save and Close.
5. At the Confirmation message, click OK.
Location: Manage Sandboxes page
6. Highlight the XX_Test_Sandbox row, and click Set as Active.
0 Sandbox Manager
10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Types of Sandboxes
There are two types of sandboxes:
 Sandboxes intended for migration. These sandboxes will be merged back to the
mainline code.
 Sandboxes intended for testing only. These sandboxes will not be published and
therefore produce no concurrent conflicts between sandboxes. You can have
many testing sandboxes at the same time.
0 Sandbox Manager
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 11
Sandbox Guidelines
Use a sandbox to isolate the changes from the mainline for testing and validating. After
you are satisfied with the changes, you can publish the changes back to the mainline.
Also, administrators can create sandboxes for testing purposes only, and not publish
them to the mainline.
There are guidelines for users when working in a sandbox. There are specific
guidelines for:
 Single sandbox with multiple users
 Multiple sandbox with multiple users
IMPORTANT! Even though you can use a single sandbox with multiple users, from a
version control and configuration management perspective, it is best not to share the
same sandbox. Best practice is to create a separate sandbox for each product, as well
as user ID.
0 Sandbox Manager
12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Single Sandbox, Multiple Users
Conflicts within a sandbox can arise when multiple users are customizing an application
using the same sandbox at the same time, because more than one user may be
attempting to customize the same artifact, or performing a customization task that
indirectly affects other shared files. To reduce the risks of conflicts, you should follow
these usage guidelines if you plan to use a single sandbox:
 Multiple concurrent users in the same sandbox should operate only on different
and unrelated objects.
 Be aware that if both modifications involve changes to translatable strings, then
saving changes to different objects around the same time may still cause a
conflict in the resource bundle that stores the translatable strings.
 Users in the same sandbox will see the changes created by one another.
0 Sandbox Manager
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 13
Single Sandbox Conflicts
When multiple users can customize an application using sandboxes, there are two
types of concurrent conflicts:
 Conflicts within a sandbox: Users overwriting changes created by other users,
either directly by changing the same artifact, or indirectly by affecting files that
are shared between the artifacts.
 Conflicts between sandboxes (intended for publishing only): Multiple sandboxes
with the same customized artifact publishing to the mainline.
When you are using Oracle Composer, although you are not required to, you should
use a sandbox. Oracle Composer provides concurrent warning messages when there is
a potential customization conflict with another user. For Oracle Composer, these
warning messages help prevent conflicts.
Conflicts between sandboxes can arise when there is more than one sandbox intended
for publishing in use. If two sandboxes contain customization changes to the same
artifact and both are being published, the sandbox that is being published last is given
an option (by the sandbox manager) to overwrite the changes for that artifact from the
sandbox that was published first. If the user working in the second sandbox decides to
force-publish the second sandbox, it will overwrite the changes published by the first
sandbox.
If there is a concurrent change made in the mainline code after the sandbox was
created and the user attempts to publish that sandbox, such conflicts are detected at
publish time and errors are raised.
0 Sandbox Manager
14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Multiple Sandbox, Multiple Users
If you need to have multiple users working in multiple sandboxes, follow both the
guidelines one sandbox with multiple users, and these usage guidelines:
 There can be any number testing sandboxes operating concurrently. That is,
multiple users can use multiple sandboxes concurrently for testing if these
sandboxes will never be published. Sandboxes that are used for testing only, and
that are not published, cause no conflicts with each other. Be aware, however,
that all modifications will be lost when the sandboxes are destroyed.
 For sandboxes that are not for testing and that will be published, you can have
multiple concurrent sandboxes only if they operate on mutually exclusive
artifacts. For example, you can have one sandbox that contains a page that is
being customized to add a task flow, and another sandbox that contains a
different page from a different application.
 If an artifact is updated in both the mainline and in the sandbox (or two different
sandboxes), when the sandbox is published, such conflicts are detected and an
error is raised. At this point, administrators should cancel the publishing of the
sandbox to avoid overwriting previous changes.
IMPORTANT! For a sandbox that contains ADF Business Components customizations,
you should log out and log back in again after switching in or out of this sandbox to
avoid any inconsistencies between the runtime caches and the ADF Business
Components definitions.
0 Sandbox Manager
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 15
Setting Up Sandboxes
When you create a sandbox, the currently available metadata is gathered into a
sandbox session.
 For non-flexfield sandboxes, you can access the sandbox manager by
selecting the Manage Sandboxes menu item from the Administration menu in the
global area of Oracle Fusion Applications.
 For flexfields, on the flexfield page select the Deploy Flexfield to Sandbox menu
item to deploy the customizations to a flexfield sandbox. Flexfield changes are
stored in flexfield metadata in the mainline database and are only available to
users when the flexfield is deployed. Thus for flexfields, the remaining tasks do
not apply.
Designate a sandbox to be the active sandbox. Only one sandbox can be active at a
time. The active sandbox is the context for all changes.
A sandbox can be exported as a file for transporting, sharing, and other usages where
packaging it as a file is required. A sandbox that is exported as a file can be imported.
After you are satisfied with the changes, publish the sandbox, or deploy the flexfield,
and the changes will be merged into the mainline and the sandbox archived.
Note: Any data changes made in a sandbox are reflected in the real environment. The
sandbox will only contain the personalization metadata and not a separate copy of the
data.
Recommended Resources:
 Oracle Fusion Applications Extensibility Guide, Using the Sandbox Manager
(http://docs.oracle.com/cd/E15586_01/fusionapps.1111/e16691/ext_lifecycle.htm
#OAEXT160)
0 Sandbox Manager
16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Instructor Note: Activity Timing
Approximate Activity Timing: 5 minutes
.
Note: There is no scroll bar when you are looking for your sandbox, so you can only
see the top 5 sandboxes.
0 Sandbox Manager
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 17
Activity 1 Introduction: Create a Sandbox
Background
We will be customizing some page attributes. Following best practices, we will create a
sandbox to test the customizations before adding them to the mainline.
Requirements
 Replace XX with your initials.
 You must have access to Oracle Fusion Application InFusion database or a
comparable training or test instance at your site, on which to complete this
practice.
Activity Scope
1. Create a sandbox, XX_Testing_Sandbox.
2. Set the sandbox as active.
IMPORTANT! The classroom workstations are set up to replicate a real business
environment. Therefore, everyone is completing this course in a shared database; any
changes that you make could affect the entire class. Please do not make any changes
in the database unless instructed to do so in an activity or by the instructor.
0 Sandbox Manager
18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Activity 1: Create a Sandbox
In this activity, go to the Manage Sandboxes page to create a sandbox for testing
customizations.
Sign in as hcm_impl1 or hcm_impl2
Start Here
Home work area.
1. In the global area Administration menu, click Manage Sandboxes.
Location: Manage Sandboxes page
2. Click the New icon.
Location: Create Sandbox page
3. In the Sandbox Name field, enter XX_Testing_Sandbox.
4. Click Save and Close.
5. At the Confirmation message, click OK.
Location: Manage Sandboxes page
6. Highlight the XX_Testing_Sandbox row, and click Set as Active.
0 Sandbox Manager
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 19
Review Question 1
The fastest way to create customizations is to have multiple users update multiple
sandboxes at the same time so the changes can be updated quicker.
1. True
2. False
0 Sandbox Manager
20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Review Question 2
You can create multiple sandboxes, but only one can be active at a time.
1. True
2. False
0 Sandbox Manager
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 21
Review Question 3
Which is a type of sandbox?
1. Primary
2. Metadata
3. Secondary
4. Composer
0 Sandbox Manager
22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
All Questions and Answers
The fastest way to create customizations is to have multiple users update
multiple sandboxes at the same time so the changes can be updated quicker.
1. True
2. False
2. False. Conflicts between sandboxes can arise when there is more than one sandbox
intended for publishing in use. If two sandboxes contain customization changes to the
same artifact and both are being published, the sandbox that is being published last is
given an option (by the sandbox manager) to overwrite the changes for that artifact from
the sandbox that was published first.
You can create multiple sandboxes, but only one can be active at a time.
1. True
2. False
1. True
Which is a type of sandbox?
1. Primary
2. Metadata
3. Secondary
4. Composer
2. Metadata. The different types of sandboxes are:
 Metadata - The metadata sandbox supports making changes to the application's
metadata stored in the MDS.
 Security - The security-enabled sandbox supports making data security changes.
 Flexfield - The flexfield sandbox is not created in the sandbox manager. Use the
flexfield pages to make changes to flexfields and deploy the flexfield to the
sandbox. The flexfield deployment process manages the creation of the sandbox.
0 Sandbox Manager
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 23
Instructor Note: Steps for Personalizations - Step 1
Put these steps on the whiteboard. Check off each step as we review the concepts.
1. Create the sandbox in the test environment.
2. Make changes in the sandbox.
3. When satisfied with personalizations download the customizations file.
IMPORTANT: This step needs to be completed before you publish
customizations to the sandbox or you will lose all the changes for migration.
4. Publish changes to the test environment.
5. Import downloaded file to the production environment. .
Check off the first step on the board work.
0 Customizations
24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Customizations
You can customize dashboards and some work areas, for all or some users based on a
selected customization layer, for example, only for users in a specific country. When
you select to customize a page from the Administration menu in the global area, you
invoke Page Composer, which enables the customization. The Administration menu is
only available if you have appropriate roles, such as Application Implementation
Consultant or Human Capital Management Application Administrator.
From the same menu, you can also:
 Customize the global area.
 Manage customizations by accessing a list of components in the current page
and details about the layers in which each component is customized.
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 25
Customization Layers
Oracle Fusion applications contain built-in customization layers that allow you to make
customizations that affect only certain instances of an application. The exact
customization layers available for an application depend on that application family.
Customization layers within HCM include:
 Site - Customizations made in the Site layer affect users all users.
 Country - This layer is used to create customizations for all users of a specific
country.
 Organization - Customizations made for a particular organization. (Legal Entity,
Business Unit)
Before you create customizations, you will need to select the layer to which you want
your customizations to be applied. Customization layers are only invoked for user
interface customizations made through the page composer.
IMPORTANT! It is recommended to use the Site layer for all your customizations.
0 Customizations
26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Editing Pages
You can use Page Composer to perform basic editorial tasks, such as:
 Add components to a page
 Change the layout of a page
 Move components on a page
 Show and hide components on a page
 Remove components on a page
 Customize a page title
 Customize a tasklist menu
 Customize attributes for a flexfield on a page
 Customize popup content
Components, such as task flows, portlets, documents, and layout components, carry
with them a set of configurable properties that control the appearance and behavior of a
particular component instance.
To edit component properties:
1. In Design view, click the Edit icon in the component header.
2. Click the appropriate tab in the Component Properties dialog.
3. Edit the properties.
4. Click Apply to save your changes, then click OK to save your changes and close
the Component Properties dialog.
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 27
Instructor Note: Demo Timing
Approximate Demonstration Timing: 15 minutes
.
Note: While teaching, you may have navigated away from the sandbox. If you have,
complete steps 1 - 4 in the demonstration. If you are still in the sandbox, ignore these
steps.
0 Customizations
28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Demonstration: Update the Biographical Information
Dialog Box
Demonstration Scope
In this demonstration, you will customize the Manage Persons page, Biographical
Information region. You do not want to view the Region of Birth field for the site, since
it is not used within your organization.
Demonstration Steps
Sign in as hcm_impl.
Start Here
Home work area
IMPORTANT! Complete steps 1 - 4 only if you are not in your sandbox.
Information
Ensure you are in the sandbox by viewing the top of the page. You will see your
sandbox name beside Session Sandbox.
In a Sandbox
Not in a Sandbox
1. Click the Administration menu.
2. Click Manage Sandboxes menu item.
Information
When selecting a sandbox, click in the row, such as in the Description column
for that sandbox, do not click on the sandbox name link.
3. Select XX_Test_Sandbox.
4. Click Set as Active.
5. Click the Navigator menu.
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 29
6. Click the Person Management menu item.
Location: Search Person page
7. In the Person Number field, enter 1010.
8. Click Search.
9. In the Name field, click Srinivas, Aric hyperlink.
Location: Manage Person page
10.In the global area Administration menu, click Customize Person Management
Pages.
Location: Customize Person Management Pages window
11.In the Site row, select Edit.
12.Click OK.
Location: Editing Person Management page
13.In the Biographical Information region, on the Person Management page,
click the Region of Birth field.
14.At the Confirm Task Flow Edit window, click Edit.
15.On the Toolbar, click Edit.
Location: Component Properties: Region of Birth window
16.In the Show Component field, click the Edit icon, select Expression Builder.
17.In the Type a value or expression text box, replace the text and enter false.
18.Click OK.
Location: Component Properties: Region of Birth dialog box
19.Click OK.
Location: Editing Person Management page, Manage Customizations
region
0 Customizations
30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
20.Click Close.
Location: Manage Person page
Information
The Region of Birth field, in the Biological Information region, should not be
displayed.
At this point, you should have customized the Manage Persons page.
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 31
Global Page Template
Use the Page Composer to edit the UI Shell template. For example, you might want to
edit the links available in the global area (such as removing the Tags link from the
header area) or add company contact information to the footer.
To open the UI Shell Template in Page Composer, navigate to the Administration menu,
click Customize Global Page template.
0 Customizations
32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Global Page Components
You can add, edit, or delete components on the global template. Use the component
catalog; select ADF Faces Components, to display the list of available components.
 Box - A box in which content can flow vertically or horizontally
 HTML Markup - Raw HTML and JavaScript
 Hyperlink - Link to a page or a website
 Image - An image with a hyperlink
 Movable Box - A box in which content can flow vertically or horizontally. It also
provides customization options such as move, expand or collapse, and resize.
 Text - Formatted text
 Web page - Includes another web page
Note: Editable components display a blue outline when you place your cursor over
them.
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 33
Instructor Note: Demo Timing
Approximate Demonstration Timing: 15 minutes
.
Note: While teaching, you may have navigated away from the sandbox. If you have,
complete steps 1 - 4 in the demonstration. If you are still in the sandbox, ignore these
steps.
0 Customizations
34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Demonstration: Personalize the Human Resources
Dashboard
Demonstration Scope
In this demonstration, you will personalize the Human Resources
dashboard for Curtis Feitty.
Demonstration Steps
Sign in as curtis.feitty.
Start Here
Home work area
IMPORTANT! Complete steps 1 - 4 only if you are not in your sandbox.
1. Click the Administration menu.
2. Click Manage Sandboxes menu item.
Information
When selecting a sandbox, click in the row, such as in the Description
column for that sandbox, do not click on the sandbox name link.
3. Select XX_Test_Sandbox.
4. Click Set as Active.
Information
Ensure you are in the sandbox by viewing the top of the page. You will see
your sandbox name beside Session Sandbox.
5. Click the Human Resources tab.
6. On the toolbar, click the Administration menu.
7. Select Customize HR Dashboard Pages.
Information
Add a new graphic to the dashboard.
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 35
8. In the first column, click Add Content.
Location: Add Content window
9. Click Reports and Analytics.
10.Click AtkRPSoapConn.
11.Click Shared Folders.
12.Click HCM Demo Content.
13.For Headcount by Office Location, click Add.
14.Click Close to dismiss the Add Content window.
Information
View the new graphic at the top of the page.
15.Click Change Layout.
16.Click the Two columns below wide area layout.
Information
View the change in the page layout.
17.In the top region, click Add Content.
Location: Add Content window
Information
Add a hyperlink to a website that has a time zone convertor, so you can easily
see what time it is for your direct reports in other countries.
18.Click Up icon, select Top.
19.Click Components.
20.For Hyperlink, click Add.
21.Click Close.
0 Customizations
36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
22.Hover over the new hyperlink to display its toolbar and click Edit.
Location: Component Properties: Hyperlink dialog
23.In Destination field, enter
http://www.timeanddate.com/worldclock/converter.html.
Information
You will add _blank in the Target Frame to open the link in another tab,
24.In the Target Frame field, enter _blank.
25.For the Text field, click the Edit icon, select Expression Builder.
26.In the Type of value or expression text box, replace the default text with Time
Zone Converter.
27.Click OK.
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 37
28.Click OK.
29.Click the Time Zone Convertor hyperlink you just added to test it.
30.In the Editing: Human Resources section, click Save.
31.Click Close.
In this demo, you should have customized the Human Resources dashboard.
0 Customizations
38 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Personalizations
Users can customize dashboard pages, which are visible only to the user who made
them.
Personalization tasks are available only in Design Edit mode, in the Page Composer -
Personalization menu. They include:
 Change the local area layout. For example, change a two-column layout to a
three-column layout. In all, eight layouts are available for selection.
 Add, rename, or remove subtabs. You cannot rename or remove predefined tabs
or home tabs.
 Expand or collapse the dashboard regional pane. You can do this by moving the
page splitter location.
 Add or remove panel boxes from the dashboard local area.
 Add Resource Library content to the dashboard panel.
 Edit the dashboard panel box properties: show or hide a box, reorder child
regions, or change the display and style options.
 Add, remove, and edit dashboard ADF components: regions, hyperlinks, images,
text boxes, movable boxes, and Web pages.
Recommended Resources:
 Language Expressions
(http://docs.oracle.com/cd/E25054_01/webcenter.1111/e10149/wcsugappb.htm)
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 39
Instructor Note: Steps for Personalizations - Step 2
Put these steps on the whiteboard. Check off each step as we review the concepts.
1. Create the sandbox in the test environment.
2. Make changes in the sandbox.
3. When satisfied with personalizations download the customizations file.
IMPORTANT: This step needs to be completed before you publish
customizations to the sandbox or you will lose all the changes for migration.
4. Publish changes to the test environment.
5. Import downloaded file to the production environment . .
Check off the second step on the board work.
0 Customizations
40 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Managing Customizations
You use the Manage Customizations dialog to view and diagnose runtime
customizations that have been made to application pages. By default, the Manage
Customizations dialog displays the customizations that have been performed by the
logged-in user. Administrators can optionally see the customizations made by other
users.
To view customizations:
1. Go to the page for which you wish to view customizations.
2. From the Administration menu, choose Manage Customizations.
3. After you are in the Manage Customizations dialog, you can change the page for
which you are viewing customizations using the Search field.
4. From the Layer Name dropdown list for the Current Context column, select the
customization layer for which you want to see the customizations as the user (or
users) see it.
5. If you have administrator privileges and you want to see the customizations for a
user other than yourself, then select Select User from the Layer Name dropdown
list for the All Layers column, and select the user. You can select multiple users
by repeating this step.
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 41
0 Customizations
42 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Rolling Back, Downloading, and Uploading
Rolling Back
To roll back the customizations for a specific page, use the Manage Customizations
dialog. You are rolling back only the customizations for the page, you are not rolling
back the other customizations made at the label's save point.
To promote (rollback) customizations to the tip:
1. Go to the page for which you wish to view customizations.
2. From the Administration menu, select Customize page_name Pages to open the
page in Page Composer.
3. In the tool bar, click Manage Customizations.
4. To promote a customization to the tip, click Promote for the corresponding
artifact.
5. In the Promote Documents dialog, select the label that you want to promote to
the tip and click OK.
Downloading and Uploading
Use the Manage Customizations dialog to download and upload customization files.
You may need to download or upload a customization file for the following reasons:
 You need to diagnose issues seen in the test environment.
 You need to send files to Oracle Support Services for further diagnosing.
.
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 43
Page Composer Migration
Once you are satisfied with all your customizations, you need to migrate the metadata
from the test to the production environment.
It is recommended to use a single sandbox for all customizations that you intend to
publish and migrate. Using a single sandbox prevents any possible collisions that are
likely to occur when multiple sandboxes are used that share common files on the back
end.
IMPORTANT! Ensure the source and target environments are at the same patch level.
This means that the patch levels must be the same at the time when you create you
sandbox in your test environment and when you publish the sandbox in production.
IMPORTANT! Ensure you do not publish the sandbox in your test environment before
downloading the customization file for migration. Once you publish a sandbox, it can no
longer be used for migration purposes and it is not possible to recover from this action.
0 Customizations
44 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Page Composer Migration Steps
The following steps explain how to migrate all customizations from a sandbox to the
production environment:
1. In the sandbox, select Manage Sandboxes from the Administration menu.
2. Download the unpublished sandbox in which your customizations have been
saved.
3. Save the file to your local drive.
4. Publish the sandbox.
5. Log into the production environment, select Manage Sandboxes from the
Administration menu.
6. Import the sandbox file you just downloaded.
7. Set this sandbox as active, and validate the migration was successful.
8. Publish the sandbox to the production environment.
9. Verify all changes were applied in the production environment.
Related Resource: Guidance for Managing Customizations in Oracle Cloud Application
Services: Oracle Composer Migration (ID 1510578.1)
(https://mosemp.us.oracle.com/epmos/faces/ui/km/DocumentDisplay.jspx?id=1510578.
1)
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 45
Instructor Note: Steps for Personalizations - Step 3
Put these steps on the whiteboard. Check off each step as we review the concepts.
1. Create the sandbox in the test environment.
2. Make changes in the sandbox.
3. When satisfied with personalizations download the customizations file.
IMPORTANT: This step needs to be completed before you publish
customizations to the sandbox or you will lose all the changes for migration.
4. Publish changes to the test environment.
5. Import downloaded file to the production environment. .
Check off the third step on the board work.
0 Customizations
46 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Instructor Note: Activity Timing
Approximate Activity Timing: 15 minutes
.
Note: Use a scrolling mouse, clicking with the mouse can lead to inadvertent
personalizations.
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 47
Activity 2 Introduction: Update a String on Portrait
Employment Record
Background
You want to change the Grade string on the Portrait Employment card. This string will
change from Grade to Rank.
Requirements
 Replace XX with your initials.
 You must have access to Oracle Fusion Application InFusion database or a
comparable training or test instance at your site, on which to complete this
practice.
Activity Scope
1. Access the Person Gallery for Curtis to update his Employment card.
2. Customize the Grade string.
3. Review the changes.
IMPORTANT! The classroom workstations are set up to replicate a real business
environment. Therefore, everyone is completing this course in a shared database; any
changes that you make could affect the entire class. Please do not make any changes
in the database unless instructed to do so in an activity or by the instructor.
0 Customizations
48 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Activity 2: Update a String
In this activity, go to the Employment page of the Person Gallery to customize a
string.
Sign in as robert.jackman or linda.swift.
Start Here
Home work area
IMPORTANT! Complete steps 1 - 4 only if you are not in your sandbox.
1. Click the Administration menu.
2. Click Manage Sandboxes menu item.
Information
When selecting a sandbox, click in the row, such as in the Description
column for that sandbox, do not click on the sandbox name link.
3. Select XX_Test_Sandbox.
4. Click Set to Active.
Information
Ensure you are in the sandbox by viewing the top of the page. You will
see your sandbox name beside Session Sandbox.
5. Click the Navigator menu.
6. Click the Person Gallery menu item.
Location: Person Gallery page
7. Click the My Portrait tab.
8. In the top region with icons, scroll to Compensation and c lick Compensation.
9. Click the Administration menu.
10.Click the Customize Person Gallery Pages menu item.
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 49
Location: Customize Person Gallery Pages window
11.In the Site row, click Edit.
12.Click OK.
Location: Person Gallery page
13.Select the Grade field.
Locations: Confirm Task Flow Edit window
14.Click Edit.
Location: Person Gallery page
Information
The Grade attribute should be highlighted in the hierarchy.
15.Click the Edit icon.
Location: Component Properties: Grade window
16.On the Label field, select Select Text Resource.
Location: Select Text Resource: Grade (Level) window
17.In the Key field, enter Rank.
18.In the Display Value field, enter Rank.
19.Click OK.
Location: Component Properties: Grade window
20.Click OK.
Location: Person Gallery page
21.View the string has changed to Rank.
22.Click Close.
At this point, you should have customized a field in an employee's portrait.
0 Customizations
50 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Review Question 1
Personalizations are customizations that apply to all users.
1. True
2. False
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 51
Review Question 2
All customizations are applied to the entire site, so all users see the changes.
1. True
2. False
0 Customizations
52 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Review Question 3
Which statement is false about managing customizations?
1. Use the Manage Customizations dialog to view and diagnose runtime
customizations made by you or other users.
2. You may need to download or upload a customization to diagnose issues seen in
the test environment.
3. When you rollback customizations, you must rollback the entire file.
0 Customizations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 53
All Questions and Answers
Personalizations are customizations that apply to all users.
1. True
2. False
2. False. Personalizations apply only to the user making them.
All customizations are applied to the entire site, so all users see the changes.
1. True
2. False
2. False. Customizations can be completed at the site, enterprise, or user level.
Which statement is false about managing customizations?
1. Use the Manage Customizations dialog to view and diagnose runtime
customizations made by you or other users.
2. You may need to download or upload a customization to diagnose issues seen in
the test environment.
3. When you rollback customizations, you must rollback the entire file.
3. When you rollback customizations, you must rollback the entire file. You can rollback
customizations for a specific page, not all customizations.
0 Flexfield Concepts
54 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Flexfield Concepts
A flexfield:
 Provides a means to customize applications features without programming
 Extends a business object with additional data fields to capture enterprise
information
 Consists of segments representing different data or values
 Stores data in database table columns, one for each segment
 Displays to end users as attributes of information
 Encapsulates all of the pieces of information related to a specific purpose
The available types of flexfields are:
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 55
A single flexfield can capture multiple attributes, which you can display in the user
interface as fields. Of the subset of business objects that are defined to include a
flexfield, some can accommodate descriptive flexfields and others accommodate
extensible flexfields, at the discretion of application development.
Flexfield attributes are available across the deployment, such as in Web Services,
Oracle Business Intelligence, desktop integration with Application Development
Framework, and Oracle Fusion Search. Any UI page presenting the business object
includes the flexfields that extend the business object. Oracle Business Intelligence
reports include flexfield attributes.
Flexfield segments:
 Represent attributes of entities (business objects)
 Can appear:
0 Flexfield Concepts
56 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
- Based on a structure or context
- Globally wherever the flexfield is implemented
 Can be made available to an application as groups of attributes called contexts
 Can be assigned a value set that determines which values are valid for the
segment
Flexfield structure is:
 Only relevant to key flexfields
 A specific configuration of key flexfield segments
 Composed of one or more instances, each of which contains the same number
and order of segments, but differs in the allowable values or value sets attached
to the segments.
Flexfield context is:
 Only relevant to descriptive and extensible flexfields
 A grouping of attributes that make segments available to an application
 A set of context-sensitive segments that store a particular type of related
information
- Descriptive flexfield segments can be context-sensitive
- Extensible flexfield segments must be context-sensitive
 A way of reusing the same database column for a similar or different segment
based on different needs
Flexfield category is:
 Only relevant in extensible flexfields
 A grouping of contexts
 A hierarchy of categories
Flexfield usage is:
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 57
 Set when the flexfield is registered
 Specifies the application and table the flexfield is associated with
0 Flexfield Concepts
58 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Value Sets
A value set is:
 Specific to your enterprise
 A set of valid values assigned to a flexfield segment, or other entity outside of
flexfields
 The basis of validation for a value entered into a flexfield segment by an end
user
 Defined before configuring the flexfield, because you assign value sets to each
segment as you configure a flexfield
The types of validation are:
 Format only, where end users enter data rather than selecting values from a list
 Independent, where the list of values consists of valid values you specify
 Dependent, where a valid value in a list of values derives from the independent
value of another segment
 Subset, where the list of values is a subset of the values in an existing
independent value set
 Table, where the values derive from a column in an application table, which can
optionally be limited by a WHERE clause
You can apply data security to Independent, dependent, or table-validated value sets
for every usage of it in any flexfield. Oracle Fusion data security enforces value set
security. Based on the roles provisioned to users, data security policies determine which
values of a flexfield segment end users can view or modify.
A value set's usage:
 Specifies the segment where the value set is assigned
 Indicates which flexfields use a shared value set
Value sets can be used outside flexfields, such as:
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 59
 Building tree structures, if the value set is independent
If your application has more than one language installed, or there is any possibility that
you might install one or more additional languages for your
application in the future, select Translatable. This does not require you to provide
translated values now, but you cannot change this option if you decide
to provide them later.
Note: You can use common or standard lookups for value sets. You have to use
common lookups with Benefits User Defined Criteria.
0 Flexfield Concepts
60 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Key Flexfields
A key flexfield:
 Provides a means of capturing a key, such as a part number, a job code, or an
account code that represents an entity in your application
 Consists of one or more segments, where each segment can have a meaning
 Is not optional and must be configured to ensure that your applications operate
correctly
 Is provided by applications development, and is configured and maintained with
the Manage Key Flexfields task
 Has one corresponding combinations table containing the complete codes, or
combinations of segment values that makes up the codes
 Can be used in different ways on different pages:
- Combination maintenance page, which is where users maintain individual
combinations directly
- Foreign key page, which is where users manipulate rows containing code
combination IDs (CCID)
- Partial usage page, which is where users may be presented with only parts of
the configuration based on a product's transaction table
A key flexfield structure:
 Defines the following segment options:
- What segments to include
- Number of segment
- Segment sequence
- Segment labels where applicable, for example natural account and primary
balancing in general ledger.
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 61
- Value sets
 Sets the maximum number of segments allowed in your key flexfield
combinations table.
 Allows one or more alternate structure instances which can have different value
sets.
 Includes a delimiter to visually separate segment values when the key flexfield is
displayed as a string of concatenated segments in users interfaces or reports.
All key flexfield structure instances:
 Contain:
- The same set of segments
- The same arrangement of segments
- The same properties at the segment and structure levels
 May differ in whether dynamic combination creation is allowed, which means a
new valid combination is inserted into a combinations table from a page other
than the combination maintenance page
Key flexfield segment instances in a key flexfield structure instance may differ in the
following aspects:
 Value set
 Default type and default value
 Tree code defining a hierarchical relationship to other segment values of a key
flexfield registered with a tree structure
 Whether the segment is any of the following
- Required
- Displayed
- Enabled for business intelligence
- Optional or required as a query criterion in a key flexfield combination search
The predefined key flexfields are:
0 Flexfield Concepts
62 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
 Account Alias Flexfield
 Accounting Flexfield
 Asset Key Flexfield
 Budgeting Flexfield
 Category Flexfield
 Cost Allocation Flexfield
 Item Categories
 Location Flexfield
 Locator Flexfield
 People Group Flexfield
 Valuation Unit Flexfield
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 63
Tips for Managing Key Flexfields
 When you configure a key flexfield, you define metadata about the key flexfield,
such as how many segments are in a structure, how many structures the flexfield
uses, what value sets each segment uses, and so on. For example, you could
use one group of value sets for the US and another for France.
 Be sure to add segments in the order that your key requires. Once deployed, the
order cannot be changed.
 If you change the configuration of a key flexfield, such as the delimiter, the
change affects the previously stored key flexfields with that structure.
 Enable segments to indicate that they are in use and display in runtime.
 Do not change the number, order, and maximum length of segments once you
have acquired flexfield data.
 To protect the integrity of your data, disable a segment if you have already used
it to enter data.
 You can dynamically create new account code combinations when entering data
by enabling dynamic insertion in the Key Flexfield Instance page. At any time,
enable or disable allowing dynamic combination creation. Define cross validation
rules to prevent incorrect account combinations from being created by dynamic
combination creation.
 View flexfields placement on the user interface pages by navigating to
Administration, Highlight Flexfields.
0 Flexfield Concepts
64 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Extensible Flexfields
Extensible flexfields are like descriptive flexfields, with some additional features.
 You can add as many context-sensitive segments to the flexfield as you need.
You are not dependent on the number of segments predefined and registered for
the flexfield.
 You can configure a one-to-many relationship between the entity and its
extended attribute rows.
- A product business object row can be extended to have multiple contexts.
- A product business object row can have multiple occurrences of the same
context.
 You can configure contexts in groups so the attributes in the context always
appear together in the user interface.
 You can use existing hierarchical categories so that entities inherit the contexts
that are configured for their parents. Contexts are reusable throughout
categories.
An extensible flexfield context:
 Can be defined as single row, the same as descriptive flexfields contexts
 Can be defined as multi row so multiple sets of values can be associated with the
same product business object row
 Can be set for translatable free form text values
 Are reusable throughout extensible flexfield categories
An extensible flexfield category:
 Provides a means of organizing related data in associated contexts
 Can serve to associate any combination of contexts
 Can be in a hierarchy that logically organizes sets of categories that support
inheritance of contexts
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 65
An extensible flexfield page:
 Combines contexts into a group that is presented together in the application user
interface
 Corresponds to one extensible flexfield category, with a separate region of the
page for each associated context
0 Flexfield Concepts
66 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Extensible Flexfield Example
You can specify whether end users can enter one set of data, or multiple sets of data,
for a context.
For example, if you have a job positions entity that stores information about different
positions in your organization, you can configure additional contexts that store a list of
requirements for that position.
To start with, the job positions entity includes fields for the following attributes:
 Position ID
 Position code
 Description
 Department
 Location
 Hiring status
 Whether the job is permanent or temporary
 Whether the job is full time or part time
When users create a job in the job positions category, they see the additional attributes.
When users define job position requirements, they select the education level,
credentials, and travel required by the position.
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 67
0 Flexfield Concepts
68 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Descriptive Flexfields
A descriptive flexfield:
 Is optional
 Provides a way to add custom attributes to entities and define validation and
display properties for custom attributes
 Is enabled for all business entities
 Consists of segments that are made available to end users as individual fields in
the application user interface
Descriptive flexfield segments:
 Correspond to custom attributes of entities
 Are generally standalone and need not be related or treated together with other
segments as a combination
 Are of three types:
- Global segment, which is always available
- Context segment, which determines the context-sensitive segments that are
displayed
- Context-sensitive segment, which is displayed depending on the value of the
context segment
Context segments:
 Need not be assigned a value set
 If assigned a value set, can only use table validated or independent value sets
- The data type must be character
- The maximum length of the values being stored must not be larger than
column length of the context.
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 69
Applications development determines the number of segments available for configuring.
During implementation you determine which attributes to add using the available
segments, and the context values and the combination of attributes in each context. The
same segment can be used for different attributes, such as Height in Context1 and
Color in Context2.
For each global and context-sensitive segment, you configure the values allowed for the
segment and how the values that are entered by end users should be validated,
including interdependent validation among the segments.
0 Flexfield Concepts
70 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Deploying a Flexfield
A flexfield can be deployed to a sandbox or directly to the production environment.
Deploy a Flexfield to a Sandbox
If you want to test the flexfield configuration before deploying it to the production
environment, you can deploy the flexfield to a sandbox. To deploy a flexfield to a
sandbox, select the Actions menu, and the Deploy Flexfield to Sandbox menu item.
With flexfields, you do not need to create a sandbox, as the deployment process
manages flexfield sandbox creation. Each flexfield has its own sandbox. You must log
out and log back into the application to see the updated flexfield configurations. Once
you are satisfied with the changes, deploy the flexfield to the production environment.
Deploy a Flexfield to the Production Environment
To deploy to the production environment, click the Deploy Flexfield button. If a sandbox
exists for the flexfield, it is automatically deleted after it successfully deploys. You must
log out and log back into the application to see the updated flexfield configurations.
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 71
Instructor Note: Demo Timing
Approximate Demonstration Timing: 30 minutes
.
0 Flexfield Concepts
72 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Demonstration: Updating a Descriptive Flexfield
Demonstration Background
You are required to create an additional job-related field.
Demonstration Scope
 Create a standard lookup
 Create a value set that uses the standard lookup
 Create a descriptive flexfield that uses the value set
Demonstration Steps
Sign in as hcm_impl.
Start Here
Home work area
Create a standard lookup.
1. Click the Administration menu.
2. Click the Setup and Maintenance menu item.
Location: Overview page
3. Click the Implementation Projects tab.
4. Click the XX Workforce Deployment hyperlink.
Location: Implementation Project: XX Workforce Deployment page
5. Expand the Workforce Deployment task list.
6. Expand the Define Common Applications Configuration for Human Capital
Management task list.
7. Expand the Maintain Common Reference Objects task list.
8. Expand the Define Lookups task list.
9. For the Manage Standard Lookups task, click Go to Task.
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 73
Location: Manage Standard Lookups page
10.On the Search Results section toolbar, click the New icon.
Information
Replace XX with your initials.
11.In the Lookup Type field, enter XX_HR_JOB_OU.
12.In the Meaning field, enter XX_Job Type.
13.In the Description field, enter Job Type.
14.In the Module field, search for and select the Application Common user
module.
15.Click Save.
16.In the XX_HR_JOB_OU: Lookup Codes table, click the New icon.
17.In the Lookup Code field, enter CON.
18.In the Display Sequence field, enter 1.
19.In the Meaning field, enter Consultant.
20.In the XX_HR_JOB_OU: Lookup Codes table, click the New icon button.
21.In the Lookup Code field, enter SRCON.
22.In the Display Sequence field, enter 2.
23.In the Meaning field, enter Senior Consultant.
24.Click Save and Close.
Location: Setup and Maintenance work area
Information:
Now, create a value set that uses the XX_HR_JOB_OU standard lookup that
you created.
25.Expand the Define Flexfields task list.
0 Flexfield Concepts
74 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
26.In the Manage Value Sets task row, click Go to Task.
Location: Manage Value Sets page
27.In the Search Results section, click Create.
Location: Create Value Sets page.
28.In the Value Set Code field, enter XX_HR_JOB_OU_VAL_SET.
29.In the Description field, enter XX_Job Value Set.
30.In the Module field, search for and select the Oracle Middleware
Extensions for Applications user module.
31.In the Validation Type field, select Table.
32.In the Value Data Type field, select Character.
33.In the FROM Clause field, enter the table that contains the lookups,
"FND_LOOKUPS".
34.In the Value Column Name field, enter the attribute name that holds the
description of the lookup values, MEANING.
35.In the ID Column Name field, enter the code that will be stored in the database,
LOOKUP_CODE.
36.In the Start Date Column Name and End Date Column Name fields, enter
TO_DATE(NULL).
37.In the WHERE Clause field, enter
FND_LOOKUPS.LOOKUP_TYPE='XX_HR_JOB_OU'.
38.Click Save and Close.
Location: Manage Value Sets page
39.Click Done.
Location: Setup and Maintenance work area
Information
Now, create a descriptive flexfield that uses the XX_HR_JOB_OU standard
lookup you created.
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 75
40.In the Manage Descriptive Flexfields task row, click Go to Task.
Location: Manage Descriptive Flexfields page
41.In the Search section Name field, enter JOB.
42.Click Search.
43.In the Search Results section, select the Job Attributes row.
44.On the toolbar, click Edit.
Location: Edit Descriptive Flexfield Job Attributes page
Information
You must create a Global Segments object that always appears in the
descriptive flexfield region.
45.On the Global Segments section toolbar, click Create.
Location: Create Segment page
46.In the Name field, enter XX_Job Type.
47.In the Code field, enter XX_JOB_TYPE_OU.
48.In the Description field, enter Determines the job type.
49.In the Column Assignment section Data Type field, select Character.
50.Accept the default in the Table Column field.
51.In the Value Set field, search for and select XX_HR_JOB_OU_VAL_SET.
52.In the Display Properties section Prompt field, enter XX_Job Type.
53.In the Display Type field, select Drop-down List.
54.In the Display Size field, enter 40.
55.In the Display Height field, enter 1
.
56.Enable the flexfield to be used in reports by selecting the BI Enabled option.
57.Click Save and Close.
0 Flexfield Concepts
76 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Location: Edit Descriptive Flexfield: Job Attribute page
58.Click Save and Close.
Location: Manage Descriptive Flexfields page
59.In the Search Results field, select PER_JOBS_DFF.
60.Click Deploy Flexfield.
Location: Confirmation dialog box
61.When the process bar is complete, click OK.
Location: Manage Descriptive Flexfields page
Information
Confirm that the flexfield appears on the Job Task.
62.Click Done.
Location: Setup and Maintenance work area
63.In the Search: Tasks pane, Name field, enter Manage Job.
64.Click Search.
65.For the Manage Job task, click Go to Task.
Location: Manage Jobs page
66.In the Search section Name field, enter Consultant.
67.Click Search.
68.In the Search Results region, select the Consultant hyperlink.
Location: Job Details tab
69.In the Job Description section, verify that the XX_Job Type descriptive flexfield
appears.
70.Click Done.
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 77
Flexfield Implementation Flow
Managing flexfields involves, registering, planning, configuring, and deploying flexfields.
Applications developers develop and register flexfields. Administrators and
implementers configure flexfields and optionally customize their appearance in the
user interface.
The two types of deployment are for:
 A sandbox-enabled flexfield for testing flexfield behavior in a sandbox MDS
repository that is only accessible to the administrator who activates and accesses
it, not to users generally
0 Flexfield Concepts
78 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
 A mainline-enabled flexfield for applying the flexfield definition to the mainline
MDS repository where it is available to end users
After deploying the flexfield to the mainline, you can customize the page where the
flexfield segments appear.
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 79
Flexfield Reference Resources
Related Resources:
Oracle Fusion Applications Common Implementation Guide
Oracle Fusion Applications Extensibility Guide
Oracle Fusion Applications Developer's Guide
Guidance for Managing Customizations in Oracle Cloud Application Services: Flexfield
Migration (Document 1510288.1)
To view flexfields in the Oracle Enterprise Repository, see
https://fusionappsoer.oracle.com/oer (https://fusionappsoer.oracle.com/oer/)
0 Flexfield Concepts
80 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Instructor Note: Activity Timing
Approximate Activity Timing: 20 minutes
.
Note: Since we did not get a chance to stress test this environment, I do not know if all
users deploying the flexfield at once will cause errors, so it is best to stagger the Deploy
Flexfield process. This is in Step 20 in Activity 4,
IMPORTANT: Some testers found that they could not see their flexfield in Activity 5,
until they signed out of the sandbox. In case this issue arises, have the tester sign out
of the sandbox and then re-navigate to the Manage Employment page for Aric Srinivas.
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 81
Activities Introduction: Update a Descriptive Flexfield
Background
Add a global segment to the Assignment Attributes (PER_ASG_DF) descriptive flexfield
to enter the company that an employee came from if the company was bought by the
parent organization. This new value will be needed in reports. You will update and
deploy this flexfield to add values to this descriptive flexfields.
Requirements
 Replace XX with your initials.
 You must have access to Oracle Fusion Application InFusion database or a
comparable training or test instance at your site, on which to complete this
practice.
Activity Scope
1. Update the PER_ASG_DF flexfield.
2. Deploy the flexfield.
3. View the results of the changes.
IMPORTANT! The classroom workstations are set up to replicate a real business
environment. Therefore, everyone is completing this course in a shared database; any
changes that you make could affect the entire class. Please do not make any changes
in the database unless instructed to do so in an activity or by the instructor.
0 Flexfield Concepts
82 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Activity 3: View the Flexfield
In this activity, go to the Manage Employment page to view the Assignment
Attributes flexfield.
Sign in as hcm_impl1 or hcm_impl2.
Start Here
Home work area
1. Click the Navigator menu.
2. Click the Person Management menu item.
Location: Search Person page
3. In the Person Number field, enter 1010.
4. Click Search.
5. In the Name field, click the Srinivas, Aric hyperlink.
Location: Manage Person page
6. In the Tasks pane, under Personal and Employment, click Manage
Employment.
7. On the toolbar, click the Administration menu.
8. Click Highlight Flexfields.
9. Hover over the i icon for each descriptive flexfield.
10.View the Assignment Attributes descriptive flexfield.
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 83
11.Click Done.
12.At the Warning, click Yes.
At this point, you should view the Assignment Attributes flexfield on the Manage
Employment page.
0 Flexfield Concepts
84 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Activity 4: Update a Descriptive Flexfield
In this activity, go to the Manage Descriptive Flexfields page to update contexts and
segments for the PER_ASG_DF flexfield.
Sign in as hcm_impl1 or hcm_impl2.
Start Here
Home work area
1. Click the Administration menu.
2. Click the Setup and Maintenance menu item.
Location: Overview page
3. Click the Implementation Projects tab.
4. Click the XX Workforce Deployment hyperlink.
Location: Implementation Project: XX Workforce Deployment page
5. Expand the Workforce Deployment task list.
6. Expand the Define Common Applications Configuration for Human Capital
Management task list.
7. Expand the Maintain Common Reference Objects task list.
8. Expand the Define Flexfields task list.
9. For the Manage Descriptive Flexfields task, click Go to Task.
Location: Manage Descriptive Flexfields page
10.In the Flexfield Code field, enter PER_ASG_DF
11.Click Search
12.In the Search Results table, click Edit.
Location: Edit Descriptive Flexfield: Assignment Attributes page
0 Flexfield Concepts
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 85
13.In the Global Segments section, click Create.
Location: Create Segment page
14.In the Name field, enter XX_Bridged Organization.
15.In the Data Type field, select Character.
16.In the Value Set field, search for and select HRX_AE_60_CHAR.
17.Click OK to dismiss the Search and Select window.
Information
In order to use this value in reports select BI enabled.
18.Select BI Enabled.
19.Click Save and Close.
Location: Edit Descriptive Flexfield: Assignment Attributes page
20.Click Save and Close.
Location: Manage Descriptive Flexfields page
21.Click Deploy Flexfield.
22.At the Confirmation message, click OK.
23.Click Done.
At this point, you should have updated a flexfield.
0 Flexfield Concepts
86 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Activity 5: View Flexfield Changes
In this activity, go to the Manage Employment page to view the changes to the
flexfield.
Sign in as hcm_impl1 or hcm_impl2.
Start Here
Home work area
1. Click the Navigator menu.
2. Click the Person Management menu item.
Location: Search Person page
3. In the Person Number field, enter 1010.
4. Click Search.
5. In the Name field, click the Srinivas, Aric hyperlink.
Location: Manage Person page
6. In the Tasks pane, under Personal and Employment, click Manage
Employment.
7. On the toolbar, click the Administration menu.
8. View the XX_Bridged Organization descriptive flexfield.
At this point, you should view the flexfield on the Manage Employment page.
0 Publishing Sandboxes
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 87
Publishing Sandboxes
To publish a sandbox:
1. Make the customization changes to the application by going to the various
customization environments.
2. Test or validate the changes in runtime using test or production systems and any
combination of validation setups.
3. After you are satisfied with the changes, publish the sandbox to the mainline.
Sandboxes should not exist for lengthy periods of time before publishing. It is
recommended that a sandbox is published once a week.
0 Instructor Note: Steps for Personalizations - Step 4
88 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Instructor Note: Steps for Personalizations - Step 4
Put these steps on the whiteboard. Check off each step as we review the concepts.
1. Create the sandbox in the test environment.
2. Make changes in the sandbox.
3. When satisfied with personalizations download the customizations file.
IMPORTANT: This step needs to be completed before you publish
customizations to the sandbox or you will lose all the changes for migration
4. Publish changes to the test environment.
5. Import downloaded file to the production environment. .
Check off the fourth step on the board work.
0 Flexfield Migration
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 89
Flexfield Migration
Once you are satisfied with all your key, extensible, and descriptive flexfield changes,
you need to migrate these customizations from the test to the production environment.
Special considerations for flexfield migration are listed:
 To avoid synchronization issues, migrate flexfield customizations prior to
migrating page and BI customizations..
 Only flexfields with a deployment status of Deployed or Deployed to Sandbox are
eligible for migration.
 The import process to the target environment automatically submits affected
flexfields for redeployment.
IMPORTANT! Ensure the source and target environments are at the same patch level.
This means that the patch levels must be the same at the time when you create you
sandbox in your test environment and when you publish the sandbox in production.
Note: BI migrations are discussed in a later lesson.
0 Flexfield Migration
90 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Flexfield Migration Steps
These are the steps to migrate your customizations for flexfields:
1. Sign into the test environment.
2. From the Setup and Maintenance work area, search for the Manage
Configuration Packages task.
3. Select the Manage Configuration Packages task.
4. Select your implementation project.
5. Select the flexfield logical business objects (LBOs) you want to export.
6. Submit the export now or schedule for a later time.
7. Track the progress of the task on the Manage Export and Import Processes
page.
8. Once the process is complete, download the configuration package to your local
drive.
9. Sign into your target environment.
10.From the Setup and Maintenance work area, search for the Manage
Configuration Packages task.
11.Search for the configuration package you just saved.
12.Launch the upload process by submitting the saved configuration package.
13.Track the progress of the task on the Manage Export and Import Processes
page.
14.After the process has complete, review the audit and error reports.
Note: See the FSM Overview lesson to learn about exporting and importing
configuration packages.
Related Resource: Guidance for Managing Customizations in Oracle Cloud Application
Services: Flexfield Migration (Document 1510288.1)
(https://mosemp.us.oracle.com/epmos/faces/ui/km/DocumentDisplay.jspx?id=1510288.
1)
0 Customization Set Migration
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 91
Customization Set Migration
The Customization Set Migration is to be used to move customizations from one
environment to another. It is not a tool for backing up and restoring customizations in
the same environment. The customization set includes only the customizations and
extensions that you make using the following tools and features:
 Page Composer
 Tasks and dialogs for configuring descriptive and extensible flexfields and value
sets
 Manage Menu Customizations task
 Manage Oracle Social Network Objects task
 Manage Standard Lookups task
 Manage Common Lookups task
 Data security policies created or customized using Oracle Authorization Policy
Manager
Personalizations are not included.
You can access the Customization Set Migration dialog by navigating to the Navigation
menu, Customization Set Migration menu item under the Tools work area.
Related Resources: Using Customization Set Migration to Move Customizations
0 Instructor Note: Steps for Personalizations - Step 5
92 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Instructor Note: Steps for Personalizations - Step 5
Put these steps on the whiteboard. Check off each step as we review the concepts.
1. Create the sandbox in the test environment.
2. Make changes in the sandbox.
3. When satisfied with personalizations download the customizations file.
IMPORTANT: This step needs to be completed before you publish
customizations to the sandbox or you will lose all the changes for migration.
4. Publish changes to the test environment.
5. Import downloaded file to the production environment. .
Check off the fifth step on the board work.
0 Instructor Note: Activity Timing
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 93
Instructor Note: Activity Timing
Approximate Activity Timing: 2 minutes
.
Note: You, the instructor, will need to exit the sandbox you are using to demo the
application. Follow the same steps in the activity to exit your sandbox.
0 Activity 6 Introduction: Exit a Sandbox
94 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Activity 6 Introduction: Exit a Sandbox
Background
We have completed all customizations. At this time, we will exit the sandbox.
Requirements
 Replace XX with your initials or your terminal number as indicated by your
instructor.
 You must have access to Oracle Fusion Application InFusion database or a
comparable training or test instance at your site, on which to complete this
practice.
Activity Scope
Exit sandbox, XX_Testing_Sandbox.
IMPORTANT! The classroom workstations are set up to replicate a real business
environment. Therefore, everyone is completing this course in a shared database; any
changes that you make could affect the entire class. Please do not make any changes
in the database unless instructed to do so in an activity or by the instructor.
0 Activity 6: Exit a Sandbox
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 95
Activity 6: Exit a Sandbox
In this activity, go to the Manage Sandboxes page to create a sandbox for testing
customizations.
Sign in as hcm_impl1 or hcm_impl2
Start Here
Home work area.
1. In the global area, hover over Session Sandbox:
ApplCoreLongSB_XX_Testing_Sandbox.
2. Click Exit Sandbox.
Location: Exit Sandbox dialog
3. Click Yes.
At this point, you should have exited the sandbox.
0 Fast Formulas
96 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Fast Formulas
Formulas are generic expressions of calculations or comparisons that you want to
repeat with different input variables.
You can use formulas to:
 Calculate payrolls
 Define the rules for paid time off accrual plans
 Define custom calculations for benefits administration
 Validate element input values or user-defined tables
 Edit the rules for object group population for elements or people
 Calculate absence duration
 Calculate compensation defaults
0 Fast Formula Usages
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 97
Fast Formula Usages
There are over a hundred of formula types. They are used for:
 Payroll
 Benefits
 Absence
 Compensation
 Validation
The formula type determines:
 How the formula can be used
 What contexts are automatically available to the formula
 Which rules about inputs and outputs apply
Formula contexts, based on formula type, are specific information that are available
while the formula is processing.
0 Fast Formula Usages
98 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Instructor Note: Fast Formula Types
Below are lists of formulas types by area that uses them.
Compensation
 Compensation Currency Selection
 Compensation Default and Override
 Compensation End Date
 Compensation Hierarchy Determination
 Compensation Person Selection
 Compensation Start Date
 Total Compensation Item
Absence Management
 Accrual
 Accrual Carryover
 Accrual Ineligibility
Benefits
 Payment Must Be Received
 Action Type Due Date
 Age Calculation
 Age Determination Date
 Automatic Enrollment Method
 Beneficiary Certification Required
 Break In Service
 Break In Service Value
 Certification Allow Reimbursement
 Change Dependent Coverage
 Compensation Calculation
 Compensation Determination Date
 Compensation Object Selection
 Contribution Non-discriminatory
 Coverage Amount Calculation
 Coverage Amount Limit
 Coverage Lower Limit
 Coverage Non-discriminatory
 Coverage Sequence Limit
 Coverage Upper Limit
 Deduction Schedule
0 Fast Formula Usages
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 99
 Default Enrollment
 Default to Assign Pending Action
 Dependent Certification Required
 Dependent Coverage End Date
 Dependent Coverage Start Date
 Dependent Eligibility
 Election Value Range Rule
 Element Type and Input Value Determination
 Eligibility Access Calculation Rule
 Enrollment Certification Required
 Enrollment Coverage Start Date
 Enrollment End
 Enrollment Opportunity
 Enrollment Period End Date
 Enrollment Period Start Date
 Evaluate Life Event
 Extra Input
 Family Member Determination
 Hours Worked Calculation
 Hours Worked Determination Date
 Inspection Required
 Length of Service Calculation
 Length of Service Date to Use
 Length of Service Determination Date
 Life Event Reason Timeliness
 Mandatory Determination
 Matching Amount Calculation
 Maximum Coverage Amount Calculation
 Maximum Period of Enrollment
 Maximum Period of Enrollment Determination Date
 Maximum Period of Enrollment Value and UOM
 Maximum Waiting Period Date to Use
 Maximum Waiting Period to Participate
 Minimum Coverage Amount Calculation
 Partial Month Effective Date Determination
 Partial Month Proration Method
 Partial Month Proration Rule
 Partial Year Coverage Restriction
 Participation Eligibility End Date
 Participation Eligibility Start Date
 Participation and Rate Eligibility
 Payment Schedule
 Period to Date Amount Calculation
 Person Change Causes Life Event
 Person Selection
 Postelection Edit
0 Fast Formula Usages
100 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
 Preferential Rate Calculation
 Prorate Annual Election Value
 Range of Scheduled Hours
 Rate End Date
 Rate Lower Limit
 Rate Periodization
 Rate Start Date
 Rate Upper Limit
 Rate Value Calculation
 Related Person Change Causes Life Event
 Required Period of Enrollment
 Rounding
 Unsuspend Date to Use
 Variable Rate Add On Calculation
 Vested Value
 Waiting Period Value and UOM
Payroll
 Auto Indirect
An autoindirect rule creates a simple relationship between one element
and another target element. Multiple autoindirect rules, thus multiple
targets, can be defined for one element. For example, this is used when a
calculation starts with an initial element that must generate multiple
elements (values, exemptions, rebates).
Autoindirect rules are most commonly used with deduction elements. The
generation of the indirect values are dynamic, using a fast formula. This
lets you define deduction processing for multiple criteria; such as
deductible amount, exemptions to reduce the deductible amount, and a
deductible amount used to perform the deduction calcuation. The fast
formula is used in order to trigger these various calcuations of the same
element but using different referenced values.
 Balance adjustment
 Calculation method
 Calculation type
 Calculation utility
 Deduction components group
 Element input validation
 Element skip
 Extract advanced condition
 Extract criteria
 Extract record
 Extract rule
0 Fast Formula Usages
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 101
 Legislative check
 Net to gross
 Oracle payroll
 Payroll access to HR
 Payroll relationship group
 Payroll run proration
 Rate conversion
 User table validation
 Work relationship group
NOTE! The element template creates formulas of Oracle Payroll and Payroll Run
Proration formula type.
0 Fast Formula Usages
102 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Uses of Formulas in Payroll
 Calculate element run results
 Specify the rules for skipping an element during payroll processing
 Perform legislative checks during the payroll run
 Prorate payroll results
0 Fast Formula Usages
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 103
Uses of Formulas in Benefits
There are over 100 formula types used in benefits for:
 Eligibility determination
 Post-election edits
 Service calculations
 Coverage amount limits
Related Resources
Benefits Fast Formula Reference Guide for Oracle Fusion Benefits (Document
1456985.1)
(https://support.oracle.com/epmos/faces/ui/km/SearchDocDisplay.jspx?returnToSrId=&_
afrLoop=434137406329375&srnum=&type=DOCUMENT&id=1456985.1&displayIndex=
1&_afrWindowMode=0&_adf.ctrl-state=bq2w99tof_69)
0 Fast Formula Usages
104 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Uses of Formulas in Absence
Specify the rules for paid time off (PTO) accrual plans:
 Accrual terms
 Carryover rules
 Ineligibility criteria
0 Fast Formula Usages
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 105
Uses of Formulas in Compensation
 Specify compensation worksheet defaults.
 Refresh (process) only specific employees.
 Create unique hierarchy for compensation.
0 Fast Formula Usages
106 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Uses of Formulas with Validation
 Check that element entry values are valid for an assignment.
 Check entries to a user-defined table.
0 Creating Fast Formulas
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 107
Creating Fast Formulas
Fast formulas can be defined at the legislation level or global level. The formulas that
are defined globally do not have a legislative data group assigned to them. They can be
used by any legislation. If a formula is applicable to only one legislation, the legislative
data group is entered when creating it.
An example of a global formula is CALC_ARREAR. It is a global formula that calculates
arrears.
0 Instructor Note: Ways to Create a Fast Formula
108 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Instructor Note: Ways to Create a Fast Formula
There are two worked examples explaining how to create formulas using these
two different editor types in nonembedded help.
 Writing a Formula using Expression Editor: Worked Example
 Writing a Formula Using Formula Text: Worked Example
Object groups are used to define subsets of people or elements for payroll
processing or reporting. They can either be dynamic, meaning that criteria within
formulas determine the objects selected, or static, meaning that you select each
object. The objects are either people or elements. There are two people group
types: Payroll Relationship Group and Work Relationship Group. Element groups
are always static, so there is no option for an element group in the fast formula
types. Deduction Component Groups are read only and automatically generated.
There are no examples of a formula used with object groups. These are the only
formulas that use the expression editor.
 When showing the different editors, create a payroll relationship group
formula to show the Expression editor. Then you can use it when
discussing object groups. Database Item Name is PER_EXT_JOB_CODE
 Operand is Equal
 Literal Value is MANAGER
Remember to compile your formula and save it.
0 Ways to Create Fast Formulas
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 109
Ways to Create Fast Formulas
Fast formula has two types of editors for creating formulas: text and expression. The
type of formula you create will determine the formula editor type. Most formulas are
created using the text editor type. The other editor type is Expression. It uses an
expression builder to create a formula. You enter values in the fields given. To add
conditional or relational logic enter a new row and add the condition such as, AND, OR,
greater than or less than.
The expression editor is used with the following formula types:
 Deduction components group
 Payroll relationship group
 Work relationship group
These formula types are used when creating dynamic object groups. Object groups are
used to define subsets of people or elements for processing or reporting.
0 Instructor Note: Demo Timing
110 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Instructor Note: Demo Timing
Approximate Demonstration Timing: 10 minutes
.
0 Demonstration: Create a Compensation Default Fast Formula
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 111
Demonstration: Create a Compensation Default Fast
Formula
In this demonstration, you will go to the Manage Fast Formulas page to create a
compensation default and override formula.
Sign in as hcm_impl.
Start Here
Home work area, Welcome tab
1. Click the Administration menu.
2. Click the Setup and Maintenance menu.
Location: Overview page
3. Click the Implementation Projects tab.
4. Click XX Workforce Deployment..
Location: Implementation Project: XX Workforce Deployment page
5. Expand the Workforce Deployment task list.
6. Expand the Define Elements, Balances, and Formulas task list.
7. For the Manage Fast Formulas task, click Go to Task.
Location: Manage Fast Formulas page
8. Click the Create icon.
Location: Create Fast Formula window
Information
Replace XX with your initials.
0 Demonstration: Create a Compensation Default Fast Formula
112 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
9. In the Formula Name field, enter XX_Compensation Default.
10.In the Type field, select Compensation Default and Override.
11.In the Description field, enter Default Compensation.
12.In the Legislative Data Group field, select US LDG.
13.In the Effective Start Date field, enter 01/01/2012.
14.Click Continue.
Location: Create Fast Formula: XX_Compensation Default page
15.Enter the following formula details in the Formula Text area:
/* Initialize DBIs to be used */
DEFAULT FOR CMP_ASSIGNMENT_SALARY_AMOUNT IS 0
/*Initialize variables */
VALUE = '0'
/* Get value from DBI and assign it to return variable */
VALUE = TO_CHAR(CMP_ASSIGNMENT_SALARY_AMOUNT)
/* Return Value back from formula */
RETURN VALUE
16.Click Save in the Formula Details toolbar.
17.Click Compile.
18.Click OK.
19.Click Refresh until the Compile Status shows successful.
Information
If it has compiled successfully, notice that the Compile Status field has a
green checkmark beside it.
20.Click Done.
Location: Manage Fast Formulas page
21.Click Done.
0 Demonstration: Create a Compensation Default Fast Formula
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 113
In this demonstration, you have created a compensation default fast formula.
0 Fast Formula Components
114 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Fast Formula Components
When developing a formula you must understand formula language, the rules that the
application imposes on the formula, and the calculation requirements. Formulas are
created using various components:
 Variables
 Assignment statements
 Return statements
 Inputs statement
 Expressions
 Conditions
 Comments
 Database items
 Global Values
 Functions
 Operators
0 Fast Formula Components
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 115
Variables
Use variables in a formula to access information. Variables can have frequently
changing values. The data type of a variable determines the type of information the
variable holds. The data type can be numeric, text or date.
A local variable is used in only one formula. The value of a local variable can change by
assigning a value in an assignment statement.
Example of Variables
To calculate the wage value, the following formula needs to get the value for the
variables HOURS_WORKED and HOURLY_RATE.
WAGE = HOURS_WORKED * HOURLY_RATE
RETURN WAGE
0 Fast Formula Components
116 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Assignment Statements
Use an assignment statement to set a value for a local variable. The format of the
assignment statement is:
WAGE = HOURS_WORKED * RATE
A formula evaluates the expression on the right-hand side of the statement, and places
its result in the variable you name on the left-hand side. The left side of an assignment
statement must always be a local variable because a formula can only change the value
of local variables.
0 Fast Formula Components
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 117
Return Statements
Use the return statement to return values in local variables.
Example of Return Statement
/* Formula: ALASKA ALLOWANCE FORMULA */
INPUTS ARE this_months_extra (number)
Alaska_allowance = (grade_pay/20 + this_months_extra)
RETURN Alaska_allowance
The formula stops executing the formula when it reaches the return statement. Any
statements after the return statement are ignored.
0 Fast Formula Components
118 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Input Statements
To pass the element input values to the formula during a payroll run, you define an input
statement. The name you use in the Input statement must be the same as the name of
the element input value, and multiple words must be joined by underscores.
Example of Input Statement
INPUTS ARE hours_worked
wage = hours_worked * hourly_rate
RETURN wage
In this example, the input value hours_worked is numeric. If the input value is not
numeric, you must indicate whether it is text or date. For example: INPUTS ARE
start_date (date).
0 Fast Formula Components
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 119
Expressions
Expressions combine constants and variables with arithmetic operators and functions to
return a value of a certain data type. For example, the expression (3 + 2) returns a value
of 5, and is of numeric data type.
Expressions can also be used inside functions, as in the following example: salary =
GREATEST(minimum_wage, (hourly_rate * hours_worked))
0 Fast Formula Components
120 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Operators
An expression may contain arithmetic operators, which determine how variables and
literals are manipulated. For example, the operator + indicates that two items are added
together. It is also used for string concatenation.
Examples of Operators
A = B - 1
A = B * C
A = 'Good ' + 'Morning'
0 Fast Formula Components
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 121
Conditions
A condition is the IF part of a formula that specifies the conditions of a statement that
must be met to continue processing the formula.
Example of Conditions
IF age < 20 THEN
training_allowance = 30
ELSE
training_allowance = 0
The formula checks whether the condition (age < 20) is true or false. If it is true, the
formula processes the statement that follows the word THEN. If the condition is not true,
the formula ignores this statement and processes any statement that follows the word
ELSE. The ELSE clause is optional.
0 Fast Formula Components
122 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Comments
It is good practice to include comments in your formulas to explain to other people what
the formula does. Place comments between the comment delimiters: /* and */. You can
place comments anywhere in a formula without affecting performance.
Example of Comments
/* Formula: Attendance Bonus */
/* Use this formula to calculate the annual bonus for clerical staff. Employees receive
either a percentage of their salary (if they have been present for 183 or more days in the
last six months), or a pro rata bonus (if they have been in attendance for less than 183
days in the last six months). */
IMPORTANT! Do not put a comment within a comment. This causes a syntax error.
0 Fast Formula Components
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 123
Instructor Note: Database Items
There are also array database items. This is a more technical topic. For more
information, review the following nonembedded help topic:
 Database Items: Explained
0 Fast Formula Components
124 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Database Items
Database items exist in the application database and have associated code that the
system uses to find the data. All database items are read-only variables. An attempt to
write to a database item causes a compiler error.
There are two types of database items:
 Static
 Dynamic
Static Database Items
Static database items are predefined. They include standard types of information, such
as the gender, birth date, and work location of an employee, or the start and end dates
of a payroll period.
Dynamic Database Items
Dynamic database items are generated from your definitions of certain items you define
in payroll. These definitions include:
 Elements
 Balances
 Input values
0 Fast Formula Components
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 125
Default Statements
Default statements provide a value when an empty or null value may be returned for a
database item. Default statements must be placed before the Inputs statement in a
formula.
Example of a Default Statement
DEFAULT for HOURLY_RATE is 25
INPUTS are HOURS_WORKED
WAGE = HOURS_WORKED * HOURLY_RATE
RETURN WAGE
0 Fast Formula Components
126 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Global Values
 To use a global value in a formula, simply refer to it by name.
 Use global values for information that does not change frequently but you refer to
often.
 Global values are effective-dated.
0 Fast Formula Components
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 127
Alias Statements
Database items are named by the application when it creates them, and sometimes
these names are too long to conveniently use in a formula. You cannot shorten the
name of a database item or a global value, but you can set up an alternative shorter
name to use within the formula using an alias statement. In the rest of the formula, you
can use the alias as if it were the actual variable. If you use an alias statement, it must
be the first statement in a formula.
Example of an Alias Statement
ALIAS ASG_LAST_PROPOSED_SALARY_CHANGE as SALARY_CHANGE
DEFAULT for SALARY_CHANGE is 0
Note: Using an Alias is more efficient than assigning the database item to a local
variable with a short name.
0 Fast Formula Components
128 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Instructor Note: Functions
This is a more technical topic. For more information, review the following
nonembedded help topic:
 Formula Functions: Explained
At the bottom of this topic are related links based on the type of data the function
manipulates.
0 Fast Formula Components
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 129
Functions
Functions manipulate data in different ways and always return a value. They are
restricted to simple data types of date, number, and text. Some functions work on only
one type of data, some can work on two, others work on more than one data type.
Examples of functions by the data they manipulate are:
Text LENGTH(expr)
Returns the number of characters in the text string operand expr.
Number ROUND(m [,n])
Rounds m to n decimal places. The default number of decimal places is 0.
Date ADD_MONTHS(date, n)
Adds n whole months to date.
Data Conversion NUM_TO_CHAR(n, format)
Converts the number n to a character string in the specified format.
Miscellaneous HR_TRACE(expr)
Outputs a trace message.
0 Fast Formula Validation
130 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Fast Formula Validation
All formulas must be compiled prior to being used in payroll processing. You can
compile a formula on the Manage Fast Formula page by clicking the Compile button
after you have written a formula. If there are errors, they will display at the bottom of the
page. All errors must be fixed and the formula compiled again until the compilation runs
successfully.
You can also compile formulas using the Compile Formula process on the Submit a
Process or Report page. Run it for a single formula or use it to run a bulk compile. You
can view any compilation errors after the process is complete on the Payroll Messages
page.
Note: Use wildcards of % in the parameters of the bulk compile process to compile all
formulas. For example, if you want to compile all formulas of a certain formula type
enter the Formula Type parameter and in the Formula parameter enter %.
0 Formula Structure
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 131
Formula Structure
The formula structure consists of statements that contain the instructions formula
carries out. There are six types of statements you can use in a formula and they should
follow this structure:
0 Formula Example
132 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Formula Example
An example of a formula using the components we discussed is in this sample formula.
0 Writing Tips
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 133
Writing Tips
 Set your effective date - You can copy the older version if you need to recover
the original.
 Comment generously - No impact on performance.
 Make a backup copy and document it - An upgrade can change predefined
formulas.
 Make small changes - Include comments.
 Verify often - Limit possible sources of syntax errors.
 To identify a line number - Copy and Paste into an application that numbers your
lines. Blank lines are numbered.
 “Local value used before initialized” error can mean that a database item is not
available and is being treated as a local variable.
 Formula type determines which database items are available.
 Database items rely on contexts.- These are predefined for each formula type
0 Troubleshooting Tips
134 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Troubleshooting Tips
 Check your assumptions. - If you have a payroll element allowing multiple
entries, the database item contains the sum of the entries.
 Check for hard-coded lookup values. - The value or code may have been
changed.
 As a debug tool, you can return a message with values.
 The application may compile a misspelled database item as a local variable. -
Check database item names by querying in the Show Items window.
 A “No Data Found” error may result from a value for a rate table being out of
range.
 Add parameters to a payroll process configuration group to optimize performance
and troubleshoot your payroll processes.
0 Troubleshooting Tips
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 135
Instructor Note: Formula Logging
The calling code can register call-back functions to test whether logging is
enabled for a component, and to write a string to its logging subsystem. If the
call-backs are available then the FF_EXEC_LOGGING action parameter is used to
specify the logging level.
0 Troubleshooting Tips
136 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Payroll Process Configuration
Payroll process configuration groups provide sets of payroll action parameters, primarily
related to logging and performance, for your processes and reports. When you run a
process, you can select a process configuration group. If you do not select a process
configuration group, the application uses the parameters in the default group.
Using these parameters enables you to investigate formula code problems:
 Threads and Chuck Size parameters to process large volumes of records.
 Logging Category or Formula Execution Logging parameters to troubleshoot
processes.
If you add the configuration group to a process that is generating errors, it will help
troubleshoot the issues when you rerun the process.
0 Troubleshooting Tips
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 137
Compilation Errors
Compilation errors display in the Manage Fast Formulas page when you compile the
formula. The compiler aborts compilation when an error is encountered.
Common compilation errors are:
 Syntax Error - The formula text violates the grammatical rules for the formula
language. An example is using IF1 instead of IF for an IF statement.
 Incorrect Statement Order - ALIAS, DEFAULT, or INPUT statements come
after other statements.
 Misuse of ASSIGNMENT Statement - Occurs when any of these conditions
occurs:
- An ASSIGNMENT assigns a value to a database item.
- A context is assigned a value externally to a CHANGE-CONTEXTS
statement.
- A non-context variable is assigned a value within a CHANGE-CONTEXTS
statement.
 Misuse of ALIAS Statement - An ALIAS statement may only be used for a
database item.
 Missing DEFAULT Statement - A database item with defaulting specified must
have a DEFAULT statement.
 Misuse of DEFAULT Statement - A DEFAULT statement is specified for a
variable other than an input or database item.
 Uninitialized Variable - The compiler detects that a variable is uninitialized when
used. The compiler cannot do this in all cases. This error often occurs when you
want to use a database item, but a database item is not available in the formula.
 Missing Function Call - A function call is not recognized. The combination of
return type, function name, and parameter types does not match any available
function.
 Incorrect Operator Usage - An instance of a formula operator use does not
match the permitted uses of that operator. For example, the + operator has two
permitted uses. The operands are both of data type NUMBER, or both of data
0 Troubleshooting Tips
138 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
type TEXT.
 Inconsistent Data Type Usage - A formula variable is being used as if it is of
more than one data type. Or a database item or context is being used with the
wrong data type. For example, Variable A is assigned a NUMBER value at the
start of the formula, but a TEXT value later in the formula.
 EXIT Statement Not Within WHILE Loop - A condition that eventually becomes
false, or an EXIT call for exiting the loop does not exist.
 Misuse of Context - A variable is used as a context, or a context is used as a
variable. For example, AREA1 is assigned a value as an ordinary variable, but
later in the formula AREA1 used as a context in a GET_CONTEXT call.
0 Troubleshooting Tips
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 139
Execution Errors
Fast formula execution errors occur when a problem arises while a formula is running.
The usual cause is a data problem, either in the formula or in the application database.
These errors contain the formula line number where the error occurs.
Common execution errors are:
 Uninitialized Variable - Where the formula compiler cannot fully determine if a
variable or context is initialized when it is used, it generates code to test if the
variable is initialized. When the formula executes and the variable or context is
not initialized an error is raised.
 Divide by Zero - Raised when a numeric value is divided by zero.
 No Data Found - Raised when a non-array type database item unexpectedly
fails to return any data. If the database item can return no data then it should
allow defaulting. This error is also raised from within a formula function. The
cause is an error in the formula function code.
 Too Many Rows - Raised when a non-array type database item unexpectedly
returns more than a single row of data. The cause is an incorrect assumption
made about the data being accessed. This error can also be raised from within a
formula function. The cause is an error in the formula function code.
 NULL Data Found - Raised when a database item unexpectedly returns a NULL
data value. If the database item can return a NULL value then defaulting is
allowed.
 Value Exceeded Allowable Range - Raised for a variety of reasons, such as
exceeding the maximum allowable length of a string.
 Invalid Number - Raised when an attempt is made to convert a non numeric
string to a number.
 User Defined Function Error - Raised from within a formula function. The error
message text is output as part of the formula error message.
 External Function Call Error - A formula function returned an error, but did not
provide any additional information to the formula code. The function might have
output error information to the logging destination for the executing code.
 Function Returned NULL Value - A formula function returned a NULL value.
0 Troubleshooting Tips
140 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
 Too Many Iterations - A single WHILE loop, or a combination of WHILE loops,
has exceeded the maximum number of permitted iterations. The error is raised to
terminate loops that could never end. This indicates a programming error within
the formula.
 Array Data Value Not Set - The formula attempted to access an array index that
has no data value. This is an error in the formula code.
 Invalid Type Parameter for WSA_EXISTS - An invalid data type was specified
in the WSA_EXISTS call.
 Incorrect Data Type For Stored Item - When retrieving an item using
WSA_GET, the items actual data type does not match that of the stored item.
This is an error within the calling formula.
 Called Formula Not Found - The called formula could not be resolved when
attempting to call a formula from a formula. This could be due to an error in the
calling formula, or because of installation issues.
 Recursive Formula Call - An attempt was made to call a formula from itself. The
call could be directly or indirectly via another called formula. Recursive formula
calling is not permitted.
 Input Has Different Types In Called and Calling Formulas - When calling a
formula from a formula, the actual formula input data type within the called
formula does not match the data type specified from the calling formula.
 Output Has Different Types In Called and Calling Formulas - When calling a
formula from a formula, the actual formula output data type within the called
formula does not match the data type specified from the calling formula.
 Too Many Formula Calls - There are two many formula from formula calls. This
is due to a problem with the formulas.
0 Performance Tips
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 141
Performance Tips
 The more elements entered for an assignment, the longer its processing time.
 The longer the formula, the longer its processing time.
 One element associated with a longer formula usually processes faster than two
related elements each associated with short formulas.
 The number of elements per assignment affects processing time more than the
number of elements and formulas.
 Use balance dimensions for single assignments whenever possible. (ASG_GRE
vs. PER_)
 Do not refer to database items until needed.
 Do not default unnecessary database items.
 Using an ALIAS instead of assigning a database item to a local variable is more
efficient.
 Input statements are up to 10x faster than using database items.
 Assign date constants using DATE component instead of the TO_DATE function.
 Review generated formulas and remove unnecessary or poor logic coding.
0 New Features
142 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
New Features
In Fusion HCM, FastFormula has the following features that were not available in EBS
HCM:
 Simple array data types are available. An array value holds multiple values that
can be accessed by index.
 The formula language has been extended to allow iteration within a formula. A
group of formula statements repeatedly executed while a condition holds true.
 The formula language has been extended to allow a formula to call another
formula.
 The formula execution context is directly accessible from within a formula.
Context values can be used within formula expressions. Context values no
longer need to be set upon entering a formula and it is possible to test whether or
not context value is set. A formula’s execution context can also be modified
within the formula.
 A working storage area is implemented to hold named data values across
formula executions.
0 New Features
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 143
Simple Array Structures
Formulas have array variables holding date, number, or text values. If the data type
cannot be determined then the data type is defaulted to number.
Arrays are similar to PL/SQL index-by tables. Do not specify the array size limit. Arrays
are provided for convenience and excessive use and large arrays will result in
excessive memory consumption.
The index types are either text or number. Text indexes are upper case unique. Gaps in
index value sequences are permitted. Number indexes are truncated to remove any
fractional part. An array may be iterated in index forwards or backwards. Methods are
provided to get the first and last indexes and to get the next or prior index given an
index. A method is also provided to test the existence of an index.
Array types are specified as <DATA TYPE>_<INDEX TYPE> giving:
NUMBER_NUMBER, NUMBER_TEXT, DATE_NUMBER, DATE_TEXT,
TEXT_NUMBER, and TEXT_TEXT. Arrays can be used for input, output, and local
formula variables. Contexts cannot be array types. Formula functions cannot return
arrays nor take array parameters. Methods for returning first, last, next, prior indexes
take a default value to be used if the required indexes do not exist. These methods
return the index data type. An attempt to delete a value at a nonexistent index does not
cause an error. An attempt to reference an array value at a nonexistent index causes an
error to be raised. The array method syntax does not work directly with the array literal
values. For example, it is not possible to use a construct such as
EMPTY_DATE_NUMBER.COUNT.
Examples of array method syntax:
0 New Features
144 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Example: Iterating Through an Array
In the following example, A is an array variable with a NUMBER index. -1234 is known
to be an invalid index for A so it is used as a default value when the FIRST and NEXT
calls cannot find an index.
/* -1234 is not a valid index for A in this instance, so use as default. */
NI = A.FIRST(-1234)
WHILE A.EXISTS(NI) LOOP
(
VA = A[NI] /* Do some processing with element at index NI. */
NI = A.NEXT(NI,-1234) /* Go to next index. */
)
0 New Features
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 145
Formula Looping
Use a WHILE loop with an appropriate condition to repeatedly execute a block of code.
For example, the following WHILE-loop calculates an expense total by iterating through
an array of expense items. The condition EXPENSES.EXISTS(ITEM) evaluates to false
when there are no more items to process.
TOTAL_EXPENSE = 0
ITEM = EXPENSES.FIRST(‘ ‘) /* ‘ ‘ is not a valid item. */
WHILE EXPENSES.EXISTS(ITEM) LOOP
(
TOTAL_EXPENSE = TOTAL_EXPENSE + EXPENSES[ITEM]
ITEM = EXPENSES.NEXT(ITEM,’ ‘) /* ‘ ‘ is not a valid item. */
)
0 New Features
146 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Instructor Note: Calling a Formula from a Formula
Another example of the new format for nested formula calls is:
CALL_FORMULA('CA_ORG_GET_TAX_OVERRIDE',
'FEDERAL_REGULAR_TAX_METHOD' > 'p_name',
FED_METHOD < 'X_OUTPUT' DEFAULT '0')
CA_ORG_GET_TAX_OVERRIDE is the name of the formula being c alled.
'FEDERAL_REGULAR_TAX_METHOD' is the text value being passed to the
p_name parameter of this formula.
FED_METHOD is the local variable which will hold the output value from the
formula.
X_OUTPUT is the name of the variable that will be in the formula .
CA_ORG_GET_TAX_OVERRIDE's RETURN statement.
'0' is the value of the default to be used if X_OUTPUT is not populated.
0 New Features
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 147
Calling a Formula from a Formula
A formula can be called from another formula. This enables some modularity in formula
organization. The called formula name, and any formula input or output names are
specified as TEXT values. The names are case-independent.
When the formula runs, checks are performed to ensure the called formula can be
executed, and whether the specified input and output data types are correct. The
IS_EXECUTABLE call determines whether an executable formula with a specified name
exists. The formula must be compiled and visible according to data partitioning
requirements. Also, it must be valid as of the effective date of calling formula execution.
Payroll code imposes extra restrictions based on formula type combinations.
This table describes the methods used when calling a formula from a formula.
Note: Formula inputs set using SET_INPUT persist as long as no EXECUTE or
GET_OUTPUT calls are made. Output values from a called formula persist as long as
no SET_INPUT or new EXECUTE calls are made. Any saved input or output values are
also removed when the calling formula exits.
Example: Separate Calls
The following example shows modified versions of the wage formula. In both cases,
formula RATE_FORMULA is called to get a value for HOURLY_RATE.
RATE_FORMULA has a text input, UNITS, that is set to ‘Hourly’ in the formula call.
RATE_FORMULA returns the rate in output variable RATE. The GET_OUTPUT call
returns 0.0 if RATE_FORMULA did not return RATE.
0 New Features
148 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
A formula can be called from another formula as a series of separate calls or as a single
self-contained call.SET_INPUT(’UNIT’,’Hourly’)
EXECUTE(’RATE_FORMULA’)
HOURLY_RATE = GET_OUTPUT(’RATE’,0.0)
WAGE = HOURS_WORKED * HOURLY_RATE
RETURN WAGE
0 New Features
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 149
Formula Context Setting
In EBS, the application code calling a formula had to set all context values before the
formula was executed.
In Fusion, the application code calling a formula usually sets all the context values. For
some complex applications such as the payroll run, the code calling formula only sets
the contexts necessary to meet general processing requirements. A payroll run would
set contexts for the legislative data group, date earned, the payroll being processed, the
payroll relationship, payroll actions, and the person being processed. Payroll formulas
also use additional contexts whose setting is localization-specific. For example, the
jurisdiction area, and tax code context values are localization-specific and are set within
formulas using a variety of mechanisms.
Formula code raises an error when a context value is not set when a dependent
database item or function is used. A formula can test whether or not a context is set
using the CONTEXT_IS_SET conditional, and the value can be retrieved using the
GET_CONTEXT call.
Context values may be changed within a formula using a context changing block, but
after leaving the context changing block any changed context values are restored to
their previous values. Inside the context changing block, formula function calls,
database items, and called formulas use the new context values.
Note: When writing formulas, it is important to understand which contexts are set by
code calling the formula and which will be set inside the formula. It is also important to
understand mechanisms available for setting contexts.
0 New Features
150 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Working Storage Area
The working storage area is a mechanism for storing global values across formulas.
The values are accessed by name. The names are case-independent. The four types of
working storage area call methods are listed below:
Note: The values held in the working storage area only persist for the session.
Example
In this example, an earlier formula call is expected to have set the rate value in location
RATE:HOURLY within the working storage area. The 0.0 value provides a default rate
value in case RATE:HOURLY value is not present.
HOURLY_RATE = WSA_GET(‘RATE:HOURLY’,0.0)
WAGE = HOURS_WORKED * HOURLY_RATE
RETURN WAGE
0 Instructor Note: Activity Timing
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 151
Instructor Note: Activity Timing
Approximate Activity Timing: 15 minutes
.
0 Activities Introduction: Create a Fast Formula
152 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Activities Introduction: Create a Fast Formula
Background
For US Benefits, most customers provide an Open Enrollment period, whereby the
participant population can make updates to their existing benefits, as well as make new
elections. This Open Enrollment window typically happens in November of each
calendar year, for about 2 weeks. These are future-dated enrollments that take effect
after the current calendar year ends. A life event, such as marriage, divorce, or birth of a
child, will cause an intervening event that may change the open enrollment elections.
Some employees have experienced a life event in November, after their open
enrollment elections were saved. We need to reprocess their open enrollment life
event, so that their changes are picked up.
Requirements
 Replace XX with your initials.
 You must have access to Oracle Fusion Application InFusion database or a
comparable training or test instance at your site, on which to complete this
practice.
Activity Scope
1. Effective January 1, 2012, create a person selection fast formula,
XX_BEN_PER_SEL_RULE.
2. Submit the Evaluate Scheduled Event Participation process.
3. Verify the individuals were selected in the process.
IMPORTANT! The classroom workstations are set up to replicate a real business
environment. Therefore, everyone is completing this course in a shared database; any
changes that you make could affect the entire class. Please do not make any changes
in the database unless instructed to do so in an activity or by the instructor.
0 Activity 7: Create a Fast Formula
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 153
Activity 7: Create a Fast Formula
In this activity, go to the Manage Fast Formulas page and create a person selection
formula.
Sign in as hcm_impl1 or hcm_impl2.
Start Here
Home work area, Welcome tab
1. Click the Administration menu.
2. Click the Setup and Maintenance menu.
Location: Overview page
3. Click the Implementation Projects tab.
4. Click XX Workforce Deployment.
Location: Implementation Project: XX Workforce Deployment page
5. Expand the Workforce Deployment task list.
6. Expand the Define Elements, Balances and Formulas task list.
7. For the Manage Fast Formulas task, click Go to Task.
Location: Manage Fast Formulas page
8. Click the Create icon.
Location: Create Fast Formula window
9. In the Formula Name field, enter XX_BEN_PER_SEL_RULE.
10.In the Type field, select Person Selection.
11.In the Description field, enter Select employees based on person numbers.
12.In the Legislative Data Group field, select US LDG.
13.In the Effective Start Date field, enter 01/01/2012.
14.Click Continue.
0 Activity 7: Create a Fast Formula
154 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Location: Create Fast Formula: XX_BEN_PER_SEL_RULE page
15.Enter the following formula details in the Formula Text area:
/* DATABASE ITEM DEFAULTS BEGIN */
DEFAULT for PER_ASG_PERSON_NUMBER IS '-1'
/* DATABASE ITEM DEFAULTS ENDS */
/* FORMULA SECTION BEGIN */
output = 'N'
per_number = PER_ASG_PERSON_NUMBER
if (per_number = '1046' OR per_number = '1010')
then
(output = 'Y')
return output
/* FORMULA SECTION END */
16.In the Formula Details toolbar, click Save.
17.Click Compile.
18.Click OK.
19.Click Refresh until Compile Status shows successful.
Information
If it has compiled successfully, notice that the Compile Status field has a
green checkmark beside it.
20.Click Done.
Location: Manage Fast Formulas page
21.Click Done.
At this point, you should have created a person selection formula.
0 Activity 8: Submit the Evaluate Scheduled Event Participation Process
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 155
Activity 8: Submit the Evaluate Scheduled Event
Participation Process
At this portion of the activity, process the Evaluate Scheduled Event Participation
process for the people with life event changes.
Sign in as hcm_impl1 or hcm_impl2.
Start Here
Home work area, Welcome tab
1. Click Navigator menu.
2. Under Benefits, click the Evaluation and Reporting menu item..
Location: Evaluation and Reporting work area, Overview page
3. Click the Processes tab.
4. In the Evaluate Scheduled Event Participation row, click Submit.
5. In the Effective Date field, enter 11/01/2013.
6. In the Life Event Occurred Date field, enter 01/01/2014.
7. In the Life Event field, select Open.
8. In the Person Selection Formula field, select XX_BEN_PER_SEL_RULE.
9. Click Submit.
10.At the Confirmation message, click OK.
Location: Overview page, Processes tab
11.Scroll down to the Monitor Process Request section.
12.Click Search, until the process has a Status of Completed Successfully.
13.Once Completed Successfully, click the Report icon.
Location: Evaluate Scheduled Event Participation page
14.In the Results section, notice the Persons Selected is 2.
0 Activity 8: Submit the Evaluate Scheduled Event Participation Process
156 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
15.Click Done.
At this point, you should have processed the people with life event changes.
0 Review Question 1
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 157
Review Question 1
Formula contexts are specific information based on formula type that are available while
the formula is processing.
1. True
2. False
0 Review Question 2
158 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Review Question 2
When defining a formula, you can choose which type of editor you want to use to write
the formula text.
1. True
2. False
0 Review Question 3
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 159
Review Question 3
Which statement about formula components is true?
1. Functions manipulate data in different ways and always return a value.
2. You can place comments anywhere in a formula without affecting performance.
3. Database items exist in the application database and have associated code that
the system uses to find the data. All database items are read-only variables. An
attempt to write to a database item causes a compiler error.
4. All formulas must be compiled prior to being used.
5. All are true.
6. All are false.
0 All Questions and Answers
160 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
All Questions and Answers
Formula contexts are specific information based on formula type that are
available while the formula is processing.
1. True
2. False
1. True.
When defining a formula, you can choose which type of editor you want to use to
write the formula text.
1. True
2. False
2. False The type of formula you are defining determines the type of editor used for
creating a formula.
Which statement about formula components is true?
5 .All are true
 Functions manipulate data in different ways and always return a value.
 You can place comments anywhere in a formula without affecting performance.
 Database items exist in the application database and have associated code that
the system uses to find the data. All database items are read-only variables. An
attempt to write to a database item causes a compiler error.
 All formulas must be compiled prior to being used.
0 Lesson Highlights
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 161
Lesson Highlights
In this lesson, you should have learned how to:
 Create a sandbox.
 Customize a page using the Page Composer.
 Personalize a dashboard.
 Manage fast formulas.

More Related Content

PPTX
Approval Hierarchy in Oracle Apps
PPTX
Smart forms and information templates in Oracle iProcurement
DOCX
Oracle inventory R12 Setup Guide
PDF
23 workflow approvals
PDF
Oracle EBS HRMS SETUP
DOCX
BR100 Oracle AP Setup
PDF
View only roles_v2
Approval Hierarchy in Oracle Apps
Smart forms and information templates in Oracle iProcurement
Oracle inventory R12 Setup Guide
23 workflow approvals
Oracle EBS HRMS SETUP
BR100 Oracle AP Setup
View only roles_v2

What's hot (20)

PDF
Oracle EBS Currency conversion
DOCX
Sales Order needs to be automatically reserved, shipped & invoiced without an...
PDF
R12 india localization guide
PDF
Oracle financials functional training on ap, ar & gl
DOCX
PO Position Hierarchy in R12
PDF
Oracle EBS r12-2-6 New Features
DOCX
Oracle Purchasing Internal Requisition
PDF
Oracle applications sla r12 SLA- demos
PDF
Validation type 'special' in value sets
PDF
Oracle General Ledger
PDF
Oracle R12 Apps - Purchasing Module Setup Steps
PDF
Oracle R12 SCM Functional Interview Questions - Order Management,
PDF
R12.2.4 india localization setup
PPTX
Oracle ebs r12 eam module-upk
PPT
Overview of fusion payables.v1
DOCX
Oracle Ebs Enterprise Asset Management.docx
PDF
Oracle procurement contracts
PDF
Oracle Sourcing Setup
PDF
Configuring Parallel Approvers Notification
PDF
Organization Setup in R12
Oracle EBS Currency conversion
Sales Order needs to be automatically reserved, shipped & invoiced without an...
R12 india localization guide
Oracle financials functional training on ap, ar & gl
PO Position Hierarchy in R12
Oracle EBS r12-2-6 New Features
Oracle Purchasing Internal Requisition
Oracle applications sla r12 SLA- demos
Validation type 'special' in value sets
Oracle General Ledger
Oracle R12 Apps - Purchasing Module Setup Steps
Oracle R12 SCM Functional Interview Questions - Order Management,
R12.2.4 india localization setup
Oracle ebs r12 eam module-upk
Overview of fusion payables.v1
Oracle Ebs Enterprise Asset Management.docx
Oracle procurement contracts
Oracle Sourcing Setup
Configuring Parallel Approvers Notification
Organization Setup in R12
Ad

Viewers also liked (9)

PDF
Extensibility
PDF
24 define security for hcm
PDF
PDF
15 maintain worker directories
PPTX
OHUG 2015 Updated
PDF
01 overview2
PDF
22 export
PDF
Hcm export data rahul vishwanath
PDF
Import data rahul vishwanath
Extensibility
24 define security for hcm
15 maintain worker directories
OHUG 2015 Updated
01 overview2
22 export
Hcm export data rahul vishwanath
Import data rahul vishwanath
Ad

Similar to 26 extend and personalize (20)

PPTX
oracle-weblogic-server-12c-administration-ii-activity-guidepdf.pptx
PDF
16 define workforce profiles
PDF
otm_dummy_implementation.pdf
PDF
14 manage workforce lifecycle
PDF
Javaeetutorial6
PDF
Guía de actividades [CURSO JAVA]
PDF
Linux_kernelmodule
PDF
Oracle database 12c sql worshop 2 activity guide
PDF
Total beginner companion_document
PDF
Total beginner companion_document
PDF
Plesk Custom Skins
PDF
17 define workforce records
PDF
Live@edu ilm2007
PDF
1z0 007 studyguidev2
PDF
Protege owl tutorialp3_v1_0
PDF
Qtp user-guide
PDF
Pmp exam prepboothp
PDF
Parallel Distributed And Pervasive Computing 1st Edition Marvin Zelkowitz Phd...
PDF
Coherence developer's guide
PDF
Advances in Computers Vol 70 1st Edition Marvin Zelkowitz (Ed.)
oracle-weblogic-server-12c-administration-ii-activity-guidepdf.pptx
16 define workforce profiles
otm_dummy_implementation.pdf
14 manage workforce lifecycle
Javaeetutorial6
Guía de actividades [CURSO JAVA]
Linux_kernelmodule
Oracle database 12c sql worshop 2 activity guide
Total beginner companion_document
Total beginner companion_document
Plesk Custom Skins
17 define workforce records
Live@edu ilm2007
1z0 007 studyguidev2
Protege owl tutorialp3_v1_0
Qtp user-guide
Pmp exam prepboothp
Parallel Distributed And Pervasive Computing 1st Edition Marvin Zelkowitz Phd...
Coherence developer's guide
Advances in Computers Vol 70 1st Edition Marvin Zelkowitz (Ed.)

More from mohamed refaei (19)

PDF
Best practices for fusion hcm cloud implementation
PDF
27 appendix
PDF
25 bi reporting
PDF
25 bi business intelligence &amp; ad-hoc reporting
PDF
21 import data
PDF
21 fbl integration-01
PDF
20 best practices for fusion hcm cloud implementation
PDF
19 product integrations
PDF
18 define checklists, actions, and workforce predictions
PDF
18 checklists, actions, and workforce predictions
PDF
17 define workforce records
PDF
16 workforce profiles
PDF
15 worker directories
PDF
14 workforce lifecycle-2
PDF
14 workforce lifecycle-1
PDF
13 define positions
PDF
12 define jobs
PDF
12 13 jobs and positions
PDF
11 define grades
Best practices for fusion hcm cloud implementation
27 appendix
25 bi reporting
25 bi business intelligence &amp; ad-hoc reporting
21 import data
21 fbl integration-01
20 best practices for fusion hcm cloud implementation
19 product integrations
18 define checklists, actions, and workforce predictions
18 checklists, actions, and workforce predictions
17 define workforce records
16 workforce profiles
15 worker directories
14 workforce lifecycle-2
14 workforce lifecycle-1
13 define positions
12 define jobs
12 13 jobs and positions
11 define grades

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
cuic standard and advanced reporting.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
KodekX | Application Modernization Development
PPTX
Big Data Technologies - Introduction.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Spectroscopy.pptx food analysis technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
cuic standard and advanced reporting.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
20250228 LYD VKU AI Blended-Learning.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Spectral efficient network and resource selection model in 5G networks
Chapter 3 Spatial Domain Image Processing.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Programs and apps: productivity, graphics, security and other tools
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
KodekX | Application Modernization Development
Big Data Technologies - Introduction.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Approach and Philosophy of On baking technology
Network Security Unit 5.pdf for BCA BBA.
Encapsulation_ Review paper, used for researhc scholars
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Spectroscopy.pptx food analysis technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

26 extend and personalize

  • 1. Extend and Personalize HCM Instructor Guide August 12, 2013
  • 2. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Disclaimer This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training course. The document may not be modified or altered in any way. Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle. The information contained in this document is subject to change without notice. If you find any problems in the document, please report them in writing to: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not warranted to be error-free. Restricted Rights Notice If this documentation is delivered to the United States Government or anyone using the documentation on behalf of the United States Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS The U.S. Government’s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract. Trademark Notice Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
  • 3. i CONTENTS Lesson Objectives ..........................................................................2 Extensibility and Personalization Overview....................................3 Terminology ...................................................................................4 Instructor Note: Steps for Personalizations ...................................5 Steps for Personalizations..............................................................6 Sandbox Manager...........................................................................7 Instructor Note: Demo Timing ..................................................................... 8 Demonstration: Creating a Sandbox ............................................................. 9 Types of Sandboxes ................................................................................. 10 Sandbox Guidelines .................................................................................. 11 Single Sandbox, Multiple Users .................................................................. 12 Single Sandbox Conflicts ........................................................................... 13 Multiple Sandbox, Multiple Users ................................................................ 14 Setting Up Sandboxes............................................................................... 15 Instructor Note: Activity Timing ................................................................. 16 Activity 1 Introduction: Create a Sandbox ................................................... 17 Activity 1: Create a Sandbox ..................................................................... 18 Review Question 1.................................................................................... 19 Review Question 2.................................................................................... 20 Review Question 3.................................................................................... 21 All Questions and Answers......................................................................... 22 Instructor Note: Steps for Personalizations - Step 1...................................... 23 Customizations.............................................................................24 Customization Layers................................................................................ 25 Editing Pages........................................................................................... 26 Instructor Note: Demo Timing ................................................................... 27 Demonstration: Update the Biographical Information Dialog Box.................... 28 Global Page Template ............................................................................... 31 Global Page Components........................................................................... 32 Instructor Note: Demo Timing ................................................................... 33 Demonstration: Personalize the Human Resources Dashboard ....................... 34 Personalizations ....................................................................................... 38 Instructor Note: Steps for Personalizations - Step 2...................................... 39 Managing Customizations.......................................................................... 40 Rolling Back, Downloading, and Uploading................................................... 42 Page Composer Migration.......................................................................... 43 Page Composer Migration Steps............................................................... 44 Instructor Note: Steps for Personalizations - Step 3...................................... 45 Instructor Note: Activity Timing ................................................................. 46 Activity 2 Introduction: Update a String on Portrait Employment Record ......... 47 Activity 2: Update a String ........................................................................ 48 Review Question 1.................................................................................... 50 Review Question 2.................................................................................... 51 Review Question 3.................................................................................... 52 All Questions and Answers......................................................................... 53 Flexfield Concepts ........................................................................54 Value Sets............................................................................................... 58 Key Flexfields .......................................................................................... 60 Tips for Managing Key Flexfields ................................................................ 63 Extensible Flexfields ................................................................................. 64
  • 4. ii Extensible Flexfield Example...................................................................... 66 Descriptive Flexfields ................................................................................ 68 Deploying a Flexfield ................................................................................ 70 Instructor Note: Demo Timing ................................................................... 71 Demonstration: Updating a Descriptive Flexfield .......................................... 72 Flexfield Implementation Flow.................................................................... 77 Flexfield Reference Resources.................................................................... 79 Instructor Note: Activity Timing ................................................................. 80 Activities Introduction: Update a Descriptive Flexfield ................................... 81 Activity 3: View the Flexfield...................................................................... 82 Activity 4: Update a Descriptive Flexfield..................................................... 84 Activity 5: View Flexfield Changes .............................................................. 86 Publishing Sandboxes ..................................................................87 Instructor Note: Steps for Personalizations - Step 4 ....................88 Flexfield Migration .......................................................................89 Flexfield Migration Steps ........................................................................... 90 Customization Set Migration ........................................................91 Instructor Note: Steps for Personalizations - Step 5 ....................92 Instructor Note: Activity Timing...................................................93 Activity 6 Introduction: Exit a Sandbox ........................................94 Activity 6: Exit a Sandbox ............................................................95 Fast Formulas...............................................................................96 Fast Formula Usages ....................................................................97 Instructor Note: Fast Formula Types........................................................... 98 Uses of Formulas in Payroll.......................................................................102 Uses of Formulas in Benefits.....................................................................103 Uses of Formulas in Absence ....................................................................104 Uses of Formulas in Compensation ............................................................105 Uses of Formulas with Validation...............................................................106 Creating Fast Formulas ..............................................................107 Instructor Note: Ways to Create a Fast Formula ........................108 Ways to Create Fast Formulas....................................................109 Instructor Note: Demo Timing....................................................110 Demonstration: Create a Compensation Default Fast Formula ...111 Fast Formula Components..........................................................114 Variables................................................................................................115 Assignment Statements ...........................................................................116 Return Statements ..................................................................................117 Input Statements ....................................................................................118 Expressions ............................................................................................119 Operators...............................................................................................120 Conditions..............................................................................................121 Comments..............................................................................................122 Instructor Note: Database Items...............................................................123 Database Items ......................................................................................124 Default Statements .................................................................................125 Global Values..........................................................................................126 Alias Statements.....................................................................................127
  • 5. iii Instructor Note: Functions........................................................................128 Functions ...............................................................................................129 Fast Formula Validation .............................................................130 Formula Structure ......................................................................131 Formula Example .......................................................................132 Writing Tips................................................................................133 Troubleshooting Tips..................................................................134 Instructor Note: Formula Logging..............................................................135 Payroll Process Configuration....................................................................136 Compilation Errors...................................................................................137 Execution Errors......................................................................................139 Performance Tips .......................................................................141 New Features .............................................................................142 Simple Array Structures ...........................................................................143 Formula Looping .....................................................................................145 Instructor Note: Calling a Formula from a Formula ......................................146 Calling a Formula from a Formula..............................................................147 Formula Context Setting ..........................................................................149 Working Storage Area..............................................................................150 Instructor Note: Activity Timing.................................................151 Activities Introduction: Create a Fast Formula ...........................152 Activity 7: Create a Fast Formula ...............................................153 Activity 8: Submit the Evaluate Scheduled Event Participation Process ...................................................................................................155 Review Question 1 .....................................................................157 Review Question 2 .....................................................................158 Review Question 3 .....................................................................159 All Questions and Answers .........................................................160 Lesson Highlights.......................................................................161
  • 7. 0 Lesson Objectives Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1 Extend and Personalize HCM
  • 8. 0 Lesson Objectives 2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Lesson Objectives After completing this lesson, you should be able to:  Create a sandbox.  Customize a page using the Page Composer.  Personalize a dashboard.  Manage fast formulas.
  • 9. 0 Extensibility and Personalization Overview Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 3 Extensibility and Personalization Overview All customizations and extensions should be done in a testing environment. Typically, this environment contains one or more Oracle Fusion Applications that will then be moved to a production environment, once all customizations and extensions are complete and tested.
  • 10. 0 Terminology 4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Terminology Extensibility is the range of additions, configurations, and changes to an application from its base set of features. Note: BI Composer is discussed in a later lesson.
  • 11. 0 Instructor Note: Steps for Personalizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 5 Instructor Note: Steps for Personalizations Put these steps on the whiteboard. Check off each step as we review the concepts. 1. Create the sandbox in the test environment. 2. Make changes in the sandbox. 3. When satisfied with personalizations download the customizations file. IMPORTANT: This step needs to be completed before you publish customizations to the sandbox or you will lose all the changes for migration. 4. Publish changes to the test environment. 5. Import downloaded file to the production environment. .
  • 12. 0 Steps for Personalizations 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Steps for Personalizations The recommended steps for personalizing your environment are: 1. Create the sandbox in the test environment. 2. Make changes in the sandbox. 3. When satisfied with personalizations download the customizations file. IMPORTANT: This step needs to be completed before you publish customizations to the sandbox or you will lose all the changes for migration. 4. Publish changes to the test environment. 5. Import downloaded file to the production environment. .
  • 13. 0 Sandbox Manager Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 7 Sandbox Manager The sandbox manager is a tool for managing the different types of customization changes that can be applied to an application. The different types of sandboxes are:  Metadata - The metadata sandbox supports making changes to the application's metadata stored in the MDS.  Security - The security-enabled sandbox supports making data security changes.  Flexfield - The flexfield sandbox is not created in the sandbox manager. Use the flexfield pages to make changes to flexfields and deploy the flexfield to the sandbox. The flexfield deployment process manages the creation of the sandbox. Once you are satisfied with the changes in the sandbox and want to commit the changes, you can publish to the mainline. Flexfield sandboxes are for testing only and cannot be published.
  • 14. 0 Sandbox Manager 8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Instructor Note: Demo Timing Approximate Demonstration Timing: 5 minutes .
  • 15. 0 Sandbox Manager Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 9 Demonstration: Creating a Sandbox Demonstration Scope In this demonstration, you will create a sandbox. Demonstration Steps Sign in as hcm_impl. Start Here Home work area 1. In the global area Administration menu, click Manage Sandboxes. Location: Manage Sandboxes page 2. Click the New icon. Location: Create Sandbox page Information Replace XX with your initials. 3. In the Sandbox Name field, enter XX_Test_Sandbox. 4. Click Save and Close. 5. At the Confirmation message, click OK. Location: Manage Sandboxes page 6. Highlight the XX_Test_Sandbox row, and click Set as Active.
  • 16. 0 Sandbox Manager 10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Types of Sandboxes There are two types of sandboxes:  Sandboxes intended for migration. These sandboxes will be merged back to the mainline code.  Sandboxes intended for testing only. These sandboxes will not be published and therefore produce no concurrent conflicts between sandboxes. You can have many testing sandboxes at the same time.
  • 17. 0 Sandbox Manager Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 11 Sandbox Guidelines Use a sandbox to isolate the changes from the mainline for testing and validating. After you are satisfied with the changes, you can publish the changes back to the mainline. Also, administrators can create sandboxes for testing purposes only, and not publish them to the mainline. There are guidelines for users when working in a sandbox. There are specific guidelines for:  Single sandbox with multiple users  Multiple sandbox with multiple users IMPORTANT! Even though you can use a single sandbox with multiple users, from a version control and configuration management perspective, it is best not to share the same sandbox. Best practice is to create a separate sandbox for each product, as well as user ID.
  • 18. 0 Sandbox Manager 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Single Sandbox, Multiple Users Conflicts within a sandbox can arise when multiple users are customizing an application using the same sandbox at the same time, because more than one user may be attempting to customize the same artifact, or performing a customization task that indirectly affects other shared files. To reduce the risks of conflicts, you should follow these usage guidelines if you plan to use a single sandbox:  Multiple concurrent users in the same sandbox should operate only on different and unrelated objects.  Be aware that if both modifications involve changes to translatable strings, then saving changes to different objects around the same time may still cause a conflict in the resource bundle that stores the translatable strings.  Users in the same sandbox will see the changes created by one another.
  • 19. 0 Sandbox Manager Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 13 Single Sandbox Conflicts When multiple users can customize an application using sandboxes, there are two types of concurrent conflicts:  Conflicts within a sandbox: Users overwriting changes created by other users, either directly by changing the same artifact, or indirectly by affecting files that are shared between the artifacts.  Conflicts between sandboxes (intended for publishing only): Multiple sandboxes with the same customized artifact publishing to the mainline. When you are using Oracle Composer, although you are not required to, you should use a sandbox. Oracle Composer provides concurrent warning messages when there is a potential customization conflict with another user. For Oracle Composer, these warning messages help prevent conflicts. Conflicts between sandboxes can arise when there is more than one sandbox intended for publishing in use. If two sandboxes contain customization changes to the same artifact and both are being published, the sandbox that is being published last is given an option (by the sandbox manager) to overwrite the changes for that artifact from the sandbox that was published first. If the user working in the second sandbox decides to force-publish the second sandbox, it will overwrite the changes published by the first sandbox. If there is a concurrent change made in the mainline code after the sandbox was created and the user attempts to publish that sandbox, such conflicts are detected at publish time and errors are raised.
  • 20. 0 Sandbox Manager 14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Multiple Sandbox, Multiple Users If you need to have multiple users working in multiple sandboxes, follow both the guidelines one sandbox with multiple users, and these usage guidelines:  There can be any number testing sandboxes operating concurrently. That is, multiple users can use multiple sandboxes concurrently for testing if these sandboxes will never be published. Sandboxes that are used for testing only, and that are not published, cause no conflicts with each other. Be aware, however, that all modifications will be lost when the sandboxes are destroyed.  For sandboxes that are not for testing and that will be published, you can have multiple concurrent sandboxes only if they operate on mutually exclusive artifacts. For example, you can have one sandbox that contains a page that is being customized to add a task flow, and another sandbox that contains a different page from a different application.  If an artifact is updated in both the mainline and in the sandbox (or two different sandboxes), when the sandbox is published, such conflicts are detected and an error is raised. At this point, administrators should cancel the publishing of the sandbox to avoid overwriting previous changes. IMPORTANT! For a sandbox that contains ADF Business Components customizations, you should log out and log back in again after switching in or out of this sandbox to avoid any inconsistencies between the runtime caches and the ADF Business Components definitions.
  • 21. 0 Sandbox Manager Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 15 Setting Up Sandboxes When you create a sandbox, the currently available metadata is gathered into a sandbox session.  For non-flexfield sandboxes, you can access the sandbox manager by selecting the Manage Sandboxes menu item from the Administration menu in the global area of Oracle Fusion Applications.  For flexfields, on the flexfield page select the Deploy Flexfield to Sandbox menu item to deploy the customizations to a flexfield sandbox. Flexfield changes are stored in flexfield metadata in the mainline database and are only available to users when the flexfield is deployed. Thus for flexfields, the remaining tasks do not apply. Designate a sandbox to be the active sandbox. Only one sandbox can be active at a time. The active sandbox is the context for all changes. A sandbox can be exported as a file for transporting, sharing, and other usages where packaging it as a file is required. A sandbox that is exported as a file can be imported. After you are satisfied with the changes, publish the sandbox, or deploy the flexfield, and the changes will be merged into the mainline and the sandbox archived. Note: Any data changes made in a sandbox are reflected in the real environment. The sandbox will only contain the personalization metadata and not a separate copy of the data. Recommended Resources:  Oracle Fusion Applications Extensibility Guide, Using the Sandbox Manager (http://docs.oracle.com/cd/E15586_01/fusionapps.1111/e16691/ext_lifecycle.htm #OAEXT160)
  • 22. 0 Sandbox Manager 16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Instructor Note: Activity Timing Approximate Activity Timing: 5 minutes . Note: There is no scroll bar when you are looking for your sandbox, so you can only see the top 5 sandboxes.
  • 23. 0 Sandbox Manager Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 17 Activity 1 Introduction: Create a Sandbox Background We will be customizing some page attributes. Following best practices, we will create a sandbox to test the customizations before adding them to the mainline. Requirements  Replace XX with your initials.  You must have access to Oracle Fusion Application InFusion database or a comparable training or test instance at your site, on which to complete this practice. Activity Scope 1. Create a sandbox, XX_Testing_Sandbox. 2. Set the sandbox as active. IMPORTANT! The classroom workstations are set up to replicate a real business environment. Therefore, everyone is completing this course in a shared database; any changes that you make could affect the entire class. Please do not make any changes in the database unless instructed to do so in an activity or by the instructor.
  • 24. 0 Sandbox Manager 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Activity 1: Create a Sandbox In this activity, go to the Manage Sandboxes page to create a sandbox for testing customizations. Sign in as hcm_impl1 or hcm_impl2 Start Here Home work area. 1. In the global area Administration menu, click Manage Sandboxes. Location: Manage Sandboxes page 2. Click the New icon. Location: Create Sandbox page 3. In the Sandbox Name field, enter XX_Testing_Sandbox. 4. Click Save and Close. 5. At the Confirmation message, click OK. Location: Manage Sandboxes page 6. Highlight the XX_Testing_Sandbox row, and click Set as Active.
  • 25. 0 Sandbox Manager Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 19 Review Question 1 The fastest way to create customizations is to have multiple users update multiple sandboxes at the same time so the changes can be updated quicker. 1. True 2. False
  • 26. 0 Sandbox Manager 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Review Question 2 You can create multiple sandboxes, but only one can be active at a time. 1. True 2. False
  • 27. 0 Sandbox Manager Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 21 Review Question 3 Which is a type of sandbox? 1. Primary 2. Metadata 3. Secondary 4. Composer
  • 28. 0 Sandbox Manager 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. All Questions and Answers The fastest way to create customizations is to have multiple users update multiple sandboxes at the same time so the changes can be updated quicker. 1. True 2. False 2. False. Conflicts between sandboxes can arise when there is more than one sandbox intended for publishing in use. If two sandboxes contain customization changes to the same artifact and both are being published, the sandbox that is being published last is given an option (by the sandbox manager) to overwrite the changes for that artifact from the sandbox that was published first. You can create multiple sandboxes, but only one can be active at a time. 1. True 2. False 1. True Which is a type of sandbox? 1. Primary 2. Metadata 3. Secondary 4. Composer 2. Metadata. The different types of sandboxes are:  Metadata - The metadata sandbox supports making changes to the application's metadata stored in the MDS.  Security - The security-enabled sandbox supports making data security changes.  Flexfield - The flexfield sandbox is not created in the sandbox manager. Use the flexfield pages to make changes to flexfields and deploy the flexfield to the sandbox. The flexfield deployment process manages the creation of the sandbox.
  • 29. 0 Sandbox Manager Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 23 Instructor Note: Steps for Personalizations - Step 1 Put these steps on the whiteboard. Check off each step as we review the concepts. 1. Create the sandbox in the test environment. 2. Make changes in the sandbox. 3. When satisfied with personalizations download the customizations file. IMPORTANT: This step needs to be completed before you publish customizations to the sandbox or you will lose all the changes for migration. 4. Publish changes to the test environment. 5. Import downloaded file to the production environment. . Check off the first step on the board work.
  • 30. 0 Customizations 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Customizations You can customize dashboards and some work areas, for all or some users based on a selected customization layer, for example, only for users in a specific country. When you select to customize a page from the Administration menu in the global area, you invoke Page Composer, which enables the customization. The Administration menu is only available if you have appropriate roles, such as Application Implementation Consultant or Human Capital Management Application Administrator. From the same menu, you can also:  Customize the global area.  Manage customizations by accessing a list of components in the current page and details about the layers in which each component is customized.
  • 31. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 25 Customization Layers Oracle Fusion applications contain built-in customization layers that allow you to make customizations that affect only certain instances of an application. The exact customization layers available for an application depend on that application family. Customization layers within HCM include:  Site - Customizations made in the Site layer affect users all users.  Country - This layer is used to create customizations for all users of a specific country.  Organization - Customizations made for a particular organization. (Legal Entity, Business Unit) Before you create customizations, you will need to select the layer to which you want your customizations to be applied. Customization layers are only invoked for user interface customizations made through the page composer. IMPORTANT! It is recommended to use the Site layer for all your customizations.
  • 32. 0 Customizations 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Editing Pages You can use Page Composer to perform basic editorial tasks, such as:  Add components to a page  Change the layout of a page  Move components on a page  Show and hide components on a page  Remove components on a page  Customize a page title  Customize a tasklist menu  Customize attributes for a flexfield on a page  Customize popup content Components, such as task flows, portlets, documents, and layout components, carry with them a set of configurable properties that control the appearance and behavior of a particular component instance. To edit component properties: 1. In Design view, click the Edit icon in the component header. 2. Click the appropriate tab in the Component Properties dialog. 3. Edit the properties. 4. Click Apply to save your changes, then click OK to save your changes and close the Component Properties dialog.
  • 33. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 27 Instructor Note: Demo Timing Approximate Demonstration Timing: 15 minutes . Note: While teaching, you may have navigated away from the sandbox. If you have, complete steps 1 - 4 in the demonstration. If you are still in the sandbox, ignore these steps.
  • 34. 0 Customizations 28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Demonstration: Update the Biographical Information Dialog Box Demonstration Scope In this demonstration, you will customize the Manage Persons page, Biographical Information region. You do not want to view the Region of Birth field for the site, since it is not used within your organization. Demonstration Steps Sign in as hcm_impl. Start Here Home work area IMPORTANT! Complete steps 1 - 4 only if you are not in your sandbox. Information Ensure you are in the sandbox by viewing the top of the page. You will see your sandbox name beside Session Sandbox. In a Sandbox Not in a Sandbox 1. Click the Administration menu. 2. Click Manage Sandboxes menu item. Information When selecting a sandbox, click in the row, such as in the Description column for that sandbox, do not click on the sandbox name link. 3. Select XX_Test_Sandbox. 4. Click Set as Active. 5. Click the Navigator menu.
  • 35. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 29 6. Click the Person Management menu item. Location: Search Person page 7. In the Person Number field, enter 1010. 8. Click Search. 9. In the Name field, click Srinivas, Aric hyperlink. Location: Manage Person page 10.In the global area Administration menu, click Customize Person Management Pages. Location: Customize Person Management Pages window 11.In the Site row, select Edit. 12.Click OK. Location: Editing Person Management page 13.In the Biographical Information region, on the Person Management page, click the Region of Birth field. 14.At the Confirm Task Flow Edit window, click Edit. 15.On the Toolbar, click Edit. Location: Component Properties: Region of Birth window 16.In the Show Component field, click the Edit icon, select Expression Builder. 17.In the Type a value or expression text box, replace the text and enter false. 18.Click OK. Location: Component Properties: Region of Birth dialog box 19.Click OK. Location: Editing Person Management page, Manage Customizations region
  • 36. 0 Customizations 30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 20.Click Close. Location: Manage Person page Information The Region of Birth field, in the Biological Information region, should not be displayed. At this point, you should have customized the Manage Persons page.
  • 37. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 31 Global Page Template Use the Page Composer to edit the UI Shell template. For example, you might want to edit the links available in the global area (such as removing the Tags link from the header area) or add company contact information to the footer. To open the UI Shell Template in Page Composer, navigate to the Administration menu, click Customize Global Page template.
  • 38. 0 Customizations 32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Global Page Components You can add, edit, or delete components on the global template. Use the component catalog; select ADF Faces Components, to display the list of available components.  Box - A box in which content can flow vertically or horizontally  HTML Markup - Raw HTML and JavaScript  Hyperlink - Link to a page or a website  Image - An image with a hyperlink  Movable Box - A box in which content can flow vertically or horizontally. It also provides customization options such as move, expand or collapse, and resize.  Text - Formatted text  Web page - Includes another web page Note: Editable components display a blue outline when you place your cursor over them.
  • 39. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 33 Instructor Note: Demo Timing Approximate Demonstration Timing: 15 minutes . Note: While teaching, you may have navigated away from the sandbox. If you have, complete steps 1 - 4 in the demonstration. If you are still in the sandbox, ignore these steps.
  • 40. 0 Customizations 34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Demonstration: Personalize the Human Resources Dashboard Demonstration Scope In this demonstration, you will personalize the Human Resources dashboard for Curtis Feitty. Demonstration Steps Sign in as curtis.feitty. Start Here Home work area IMPORTANT! Complete steps 1 - 4 only if you are not in your sandbox. 1. Click the Administration menu. 2. Click Manage Sandboxes menu item. Information When selecting a sandbox, click in the row, such as in the Description column for that sandbox, do not click on the sandbox name link. 3. Select XX_Test_Sandbox. 4. Click Set as Active. Information Ensure you are in the sandbox by viewing the top of the page. You will see your sandbox name beside Session Sandbox. 5. Click the Human Resources tab. 6. On the toolbar, click the Administration menu. 7. Select Customize HR Dashboard Pages. Information Add a new graphic to the dashboard.
  • 41. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 35 8. In the first column, click Add Content. Location: Add Content window 9. Click Reports and Analytics. 10.Click AtkRPSoapConn. 11.Click Shared Folders. 12.Click HCM Demo Content. 13.For Headcount by Office Location, click Add. 14.Click Close to dismiss the Add Content window. Information View the new graphic at the top of the page. 15.Click Change Layout. 16.Click the Two columns below wide area layout. Information View the change in the page layout. 17.In the top region, click Add Content. Location: Add Content window Information Add a hyperlink to a website that has a time zone convertor, so you can easily see what time it is for your direct reports in other countries. 18.Click Up icon, select Top. 19.Click Components. 20.For Hyperlink, click Add. 21.Click Close.
  • 42. 0 Customizations 36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 22.Hover over the new hyperlink to display its toolbar and click Edit. Location: Component Properties: Hyperlink dialog 23.In Destination field, enter http://www.timeanddate.com/worldclock/converter.html. Information You will add _blank in the Target Frame to open the link in another tab, 24.In the Target Frame field, enter _blank. 25.For the Text field, click the Edit icon, select Expression Builder. 26.In the Type of value or expression text box, replace the default text with Time Zone Converter. 27.Click OK.
  • 43. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 37 28.Click OK. 29.Click the Time Zone Convertor hyperlink you just added to test it. 30.In the Editing: Human Resources section, click Save. 31.Click Close. In this demo, you should have customized the Human Resources dashboard.
  • 44. 0 Customizations 38 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Personalizations Users can customize dashboard pages, which are visible only to the user who made them. Personalization tasks are available only in Design Edit mode, in the Page Composer - Personalization menu. They include:  Change the local area layout. For example, change a two-column layout to a three-column layout. In all, eight layouts are available for selection.  Add, rename, or remove subtabs. You cannot rename or remove predefined tabs or home tabs.  Expand or collapse the dashboard regional pane. You can do this by moving the page splitter location.  Add or remove panel boxes from the dashboard local area.  Add Resource Library content to the dashboard panel.  Edit the dashboard panel box properties: show or hide a box, reorder child regions, or change the display and style options.  Add, remove, and edit dashboard ADF components: regions, hyperlinks, images, text boxes, movable boxes, and Web pages. Recommended Resources:  Language Expressions (http://docs.oracle.com/cd/E25054_01/webcenter.1111/e10149/wcsugappb.htm)
  • 45. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 39 Instructor Note: Steps for Personalizations - Step 2 Put these steps on the whiteboard. Check off each step as we review the concepts. 1. Create the sandbox in the test environment. 2. Make changes in the sandbox. 3. When satisfied with personalizations download the customizations file. IMPORTANT: This step needs to be completed before you publish customizations to the sandbox or you will lose all the changes for migration. 4. Publish changes to the test environment. 5. Import downloaded file to the production environment . . Check off the second step on the board work.
  • 46. 0 Customizations 40 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Managing Customizations You use the Manage Customizations dialog to view and diagnose runtime customizations that have been made to application pages. By default, the Manage Customizations dialog displays the customizations that have been performed by the logged-in user. Administrators can optionally see the customizations made by other users. To view customizations: 1. Go to the page for which you wish to view customizations. 2. From the Administration menu, choose Manage Customizations. 3. After you are in the Manage Customizations dialog, you can change the page for which you are viewing customizations using the Search field. 4. From the Layer Name dropdown list for the Current Context column, select the customization layer for which you want to see the customizations as the user (or users) see it. 5. If you have administrator privileges and you want to see the customizations for a user other than yourself, then select Select User from the Layer Name dropdown list for the All Layers column, and select the user. You can select multiple users by repeating this step.
  • 47. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 41
  • 48. 0 Customizations 42 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Rolling Back, Downloading, and Uploading Rolling Back To roll back the customizations for a specific page, use the Manage Customizations dialog. You are rolling back only the customizations for the page, you are not rolling back the other customizations made at the label's save point. To promote (rollback) customizations to the tip: 1. Go to the page for which you wish to view customizations. 2. From the Administration menu, select Customize page_name Pages to open the page in Page Composer. 3. In the tool bar, click Manage Customizations. 4. To promote a customization to the tip, click Promote for the corresponding artifact. 5. In the Promote Documents dialog, select the label that you want to promote to the tip and click OK. Downloading and Uploading Use the Manage Customizations dialog to download and upload customization files. You may need to download or upload a customization file for the following reasons:  You need to diagnose issues seen in the test environment.  You need to send files to Oracle Support Services for further diagnosing. .
  • 49. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 43 Page Composer Migration Once you are satisfied with all your customizations, you need to migrate the metadata from the test to the production environment. It is recommended to use a single sandbox for all customizations that you intend to publish and migrate. Using a single sandbox prevents any possible collisions that are likely to occur when multiple sandboxes are used that share common files on the back end. IMPORTANT! Ensure the source and target environments are at the same patch level. This means that the patch levels must be the same at the time when you create you sandbox in your test environment and when you publish the sandbox in production. IMPORTANT! Ensure you do not publish the sandbox in your test environment before downloading the customization file for migration. Once you publish a sandbox, it can no longer be used for migration purposes and it is not possible to recover from this action.
  • 50. 0 Customizations 44 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Page Composer Migration Steps The following steps explain how to migrate all customizations from a sandbox to the production environment: 1. In the sandbox, select Manage Sandboxes from the Administration menu. 2. Download the unpublished sandbox in which your customizations have been saved. 3. Save the file to your local drive. 4. Publish the sandbox. 5. Log into the production environment, select Manage Sandboxes from the Administration menu. 6. Import the sandbox file you just downloaded. 7. Set this sandbox as active, and validate the migration was successful. 8. Publish the sandbox to the production environment. 9. Verify all changes were applied in the production environment. Related Resource: Guidance for Managing Customizations in Oracle Cloud Application Services: Oracle Composer Migration (ID 1510578.1) (https://mosemp.us.oracle.com/epmos/faces/ui/km/DocumentDisplay.jspx?id=1510578. 1)
  • 51. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 45 Instructor Note: Steps for Personalizations - Step 3 Put these steps on the whiteboard. Check off each step as we review the concepts. 1. Create the sandbox in the test environment. 2. Make changes in the sandbox. 3. When satisfied with personalizations download the customizations file. IMPORTANT: This step needs to be completed before you publish customizations to the sandbox or you will lose all the changes for migration. 4. Publish changes to the test environment. 5. Import downloaded file to the production environment. . Check off the third step on the board work.
  • 52. 0 Customizations 46 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Instructor Note: Activity Timing Approximate Activity Timing: 15 minutes . Note: Use a scrolling mouse, clicking with the mouse can lead to inadvertent personalizations.
  • 53. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 47 Activity 2 Introduction: Update a String on Portrait Employment Record Background You want to change the Grade string on the Portrait Employment card. This string will change from Grade to Rank. Requirements  Replace XX with your initials.  You must have access to Oracle Fusion Application InFusion database or a comparable training or test instance at your site, on which to complete this practice. Activity Scope 1. Access the Person Gallery for Curtis to update his Employment card. 2. Customize the Grade string. 3. Review the changes. IMPORTANT! The classroom workstations are set up to replicate a real business environment. Therefore, everyone is completing this course in a shared database; any changes that you make could affect the entire class. Please do not make any changes in the database unless instructed to do so in an activity or by the instructor.
  • 54. 0 Customizations 48 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Activity 2: Update a String In this activity, go to the Employment page of the Person Gallery to customize a string. Sign in as robert.jackman or linda.swift. Start Here Home work area IMPORTANT! Complete steps 1 - 4 only if you are not in your sandbox. 1. Click the Administration menu. 2. Click Manage Sandboxes menu item. Information When selecting a sandbox, click in the row, such as in the Description column for that sandbox, do not click on the sandbox name link. 3. Select XX_Test_Sandbox. 4. Click Set to Active. Information Ensure you are in the sandbox by viewing the top of the page. You will see your sandbox name beside Session Sandbox. 5. Click the Navigator menu. 6. Click the Person Gallery menu item. Location: Person Gallery page 7. Click the My Portrait tab. 8. In the top region with icons, scroll to Compensation and c lick Compensation. 9. Click the Administration menu. 10.Click the Customize Person Gallery Pages menu item.
  • 55. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 49 Location: Customize Person Gallery Pages window 11.In the Site row, click Edit. 12.Click OK. Location: Person Gallery page 13.Select the Grade field. Locations: Confirm Task Flow Edit window 14.Click Edit. Location: Person Gallery page Information The Grade attribute should be highlighted in the hierarchy. 15.Click the Edit icon. Location: Component Properties: Grade window 16.On the Label field, select Select Text Resource. Location: Select Text Resource: Grade (Level) window 17.In the Key field, enter Rank. 18.In the Display Value field, enter Rank. 19.Click OK. Location: Component Properties: Grade window 20.Click OK. Location: Person Gallery page 21.View the string has changed to Rank. 22.Click Close. At this point, you should have customized a field in an employee's portrait.
  • 56. 0 Customizations 50 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Review Question 1 Personalizations are customizations that apply to all users. 1. True 2. False
  • 57. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 51 Review Question 2 All customizations are applied to the entire site, so all users see the changes. 1. True 2. False
  • 58. 0 Customizations 52 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Review Question 3 Which statement is false about managing customizations? 1. Use the Manage Customizations dialog to view and diagnose runtime customizations made by you or other users. 2. You may need to download or upload a customization to diagnose issues seen in the test environment. 3. When you rollback customizations, you must rollback the entire file.
  • 59. 0 Customizations Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 53 All Questions and Answers Personalizations are customizations that apply to all users. 1. True 2. False 2. False. Personalizations apply only to the user making them. All customizations are applied to the entire site, so all users see the changes. 1. True 2. False 2. False. Customizations can be completed at the site, enterprise, or user level. Which statement is false about managing customizations? 1. Use the Manage Customizations dialog to view and diagnose runtime customizations made by you or other users. 2. You may need to download or upload a customization to diagnose issues seen in the test environment. 3. When you rollback customizations, you must rollback the entire file. 3. When you rollback customizations, you must rollback the entire file. You can rollback customizations for a specific page, not all customizations.
  • 60. 0 Flexfield Concepts 54 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Flexfield Concepts A flexfield:  Provides a means to customize applications features without programming  Extends a business object with additional data fields to capture enterprise information  Consists of segments representing different data or values  Stores data in database table columns, one for each segment  Displays to end users as attributes of information  Encapsulates all of the pieces of information related to a specific purpose The available types of flexfields are:
  • 61. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 55 A single flexfield can capture multiple attributes, which you can display in the user interface as fields. Of the subset of business objects that are defined to include a flexfield, some can accommodate descriptive flexfields and others accommodate extensible flexfields, at the discretion of application development. Flexfield attributes are available across the deployment, such as in Web Services, Oracle Business Intelligence, desktop integration with Application Development Framework, and Oracle Fusion Search. Any UI page presenting the business object includes the flexfields that extend the business object. Oracle Business Intelligence reports include flexfield attributes. Flexfield segments:  Represent attributes of entities (business objects)  Can appear:
  • 62. 0 Flexfield Concepts 56 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. - Based on a structure or context - Globally wherever the flexfield is implemented  Can be made available to an application as groups of attributes called contexts  Can be assigned a value set that determines which values are valid for the segment Flexfield structure is:  Only relevant to key flexfields  A specific configuration of key flexfield segments  Composed of one or more instances, each of which contains the same number and order of segments, but differs in the allowable values or value sets attached to the segments. Flexfield context is:  Only relevant to descriptive and extensible flexfields  A grouping of attributes that make segments available to an application  A set of context-sensitive segments that store a particular type of related information - Descriptive flexfield segments can be context-sensitive - Extensible flexfield segments must be context-sensitive  A way of reusing the same database column for a similar or different segment based on different needs Flexfield category is:  Only relevant in extensible flexfields  A grouping of contexts  A hierarchy of categories Flexfield usage is:
  • 63. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 57  Set when the flexfield is registered  Specifies the application and table the flexfield is associated with
  • 64. 0 Flexfield Concepts 58 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Value Sets A value set is:  Specific to your enterprise  A set of valid values assigned to a flexfield segment, or other entity outside of flexfields  The basis of validation for a value entered into a flexfield segment by an end user  Defined before configuring the flexfield, because you assign value sets to each segment as you configure a flexfield The types of validation are:  Format only, where end users enter data rather than selecting values from a list  Independent, where the list of values consists of valid values you specify  Dependent, where a valid value in a list of values derives from the independent value of another segment  Subset, where the list of values is a subset of the values in an existing independent value set  Table, where the values derive from a column in an application table, which can optionally be limited by a WHERE clause You can apply data security to Independent, dependent, or table-validated value sets for every usage of it in any flexfield. Oracle Fusion data security enforces value set security. Based on the roles provisioned to users, data security policies determine which values of a flexfield segment end users can view or modify. A value set's usage:  Specifies the segment where the value set is assigned  Indicates which flexfields use a shared value set Value sets can be used outside flexfields, such as:
  • 65. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 59  Building tree structures, if the value set is independent If your application has more than one language installed, or there is any possibility that you might install one or more additional languages for your application in the future, select Translatable. This does not require you to provide translated values now, but you cannot change this option if you decide to provide them later. Note: You can use common or standard lookups for value sets. You have to use common lookups with Benefits User Defined Criteria.
  • 66. 0 Flexfield Concepts 60 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Key Flexfields A key flexfield:  Provides a means of capturing a key, such as a part number, a job code, or an account code that represents an entity in your application  Consists of one or more segments, where each segment can have a meaning  Is not optional and must be configured to ensure that your applications operate correctly  Is provided by applications development, and is configured and maintained with the Manage Key Flexfields task  Has one corresponding combinations table containing the complete codes, or combinations of segment values that makes up the codes  Can be used in different ways on different pages: - Combination maintenance page, which is where users maintain individual combinations directly - Foreign key page, which is where users manipulate rows containing code combination IDs (CCID) - Partial usage page, which is where users may be presented with only parts of the configuration based on a product's transaction table A key flexfield structure:  Defines the following segment options: - What segments to include - Number of segment - Segment sequence - Segment labels where applicable, for example natural account and primary balancing in general ledger.
  • 67. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 61 - Value sets  Sets the maximum number of segments allowed in your key flexfield combinations table.  Allows one or more alternate structure instances which can have different value sets.  Includes a delimiter to visually separate segment values when the key flexfield is displayed as a string of concatenated segments in users interfaces or reports. All key flexfield structure instances:  Contain: - The same set of segments - The same arrangement of segments - The same properties at the segment and structure levels  May differ in whether dynamic combination creation is allowed, which means a new valid combination is inserted into a combinations table from a page other than the combination maintenance page Key flexfield segment instances in a key flexfield structure instance may differ in the following aspects:  Value set  Default type and default value  Tree code defining a hierarchical relationship to other segment values of a key flexfield registered with a tree structure  Whether the segment is any of the following - Required - Displayed - Enabled for business intelligence - Optional or required as a query criterion in a key flexfield combination search The predefined key flexfields are:
  • 68. 0 Flexfield Concepts 62 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.  Account Alias Flexfield  Accounting Flexfield  Asset Key Flexfield  Budgeting Flexfield  Category Flexfield  Cost Allocation Flexfield  Item Categories  Location Flexfield  Locator Flexfield  People Group Flexfield  Valuation Unit Flexfield
  • 69. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 63 Tips for Managing Key Flexfields  When you configure a key flexfield, you define metadata about the key flexfield, such as how many segments are in a structure, how many structures the flexfield uses, what value sets each segment uses, and so on. For example, you could use one group of value sets for the US and another for France.  Be sure to add segments in the order that your key requires. Once deployed, the order cannot be changed.  If you change the configuration of a key flexfield, such as the delimiter, the change affects the previously stored key flexfields with that structure.  Enable segments to indicate that they are in use and display in runtime.  Do not change the number, order, and maximum length of segments once you have acquired flexfield data.  To protect the integrity of your data, disable a segment if you have already used it to enter data.  You can dynamically create new account code combinations when entering data by enabling dynamic insertion in the Key Flexfield Instance page. At any time, enable or disable allowing dynamic combination creation. Define cross validation rules to prevent incorrect account combinations from being created by dynamic combination creation.  View flexfields placement on the user interface pages by navigating to Administration, Highlight Flexfields.
  • 70. 0 Flexfield Concepts 64 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Extensible Flexfields Extensible flexfields are like descriptive flexfields, with some additional features.  You can add as many context-sensitive segments to the flexfield as you need. You are not dependent on the number of segments predefined and registered for the flexfield.  You can configure a one-to-many relationship between the entity and its extended attribute rows. - A product business object row can be extended to have multiple contexts. - A product business object row can have multiple occurrences of the same context.  You can configure contexts in groups so the attributes in the context always appear together in the user interface.  You can use existing hierarchical categories so that entities inherit the contexts that are configured for their parents. Contexts are reusable throughout categories. An extensible flexfield context:  Can be defined as single row, the same as descriptive flexfields contexts  Can be defined as multi row so multiple sets of values can be associated with the same product business object row  Can be set for translatable free form text values  Are reusable throughout extensible flexfield categories An extensible flexfield category:  Provides a means of organizing related data in associated contexts  Can serve to associate any combination of contexts  Can be in a hierarchy that logically organizes sets of categories that support inheritance of contexts
  • 71. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 65 An extensible flexfield page:  Combines contexts into a group that is presented together in the application user interface  Corresponds to one extensible flexfield category, with a separate region of the page for each associated context
  • 72. 0 Flexfield Concepts 66 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Extensible Flexfield Example You can specify whether end users can enter one set of data, or multiple sets of data, for a context. For example, if you have a job positions entity that stores information about different positions in your organization, you can configure additional contexts that store a list of requirements for that position. To start with, the job positions entity includes fields for the following attributes:  Position ID  Position code  Description  Department  Location  Hiring status  Whether the job is permanent or temporary  Whether the job is full time or part time When users create a job in the job positions category, they see the additional attributes. When users define job position requirements, they select the education level, credentials, and travel required by the position.
  • 73. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 67
  • 74. 0 Flexfield Concepts 68 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Descriptive Flexfields A descriptive flexfield:  Is optional  Provides a way to add custom attributes to entities and define validation and display properties for custom attributes  Is enabled for all business entities  Consists of segments that are made available to end users as individual fields in the application user interface Descriptive flexfield segments:  Correspond to custom attributes of entities  Are generally standalone and need not be related or treated together with other segments as a combination  Are of three types: - Global segment, which is always available - Context segment, which determines the context-sensitive segments that are displayed - Context-sensitive segment, which is displayed depending on the value of the context segment Context segments:  Need not be assigned a value set  If assigned a value set, can only use table validated or independent value sets - The data type must be character - The maximum length of the values being stored must not be larger than column length of the context.
  • 75. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 69 Applications development determines the number of segments available for configuring. During implementation you determine which attributes to add using the available segments, and the context values and the combination of attributes in each context. The same segment can be used for different attributes, such as Height in Context1 and Color in Context2. For each global and context-sensitive segment, you configure the values allowed for the segment and how the values that are entered by end users should be validated, including interdependent validation among the segments.
  • 76. 0 Flexfield Concepts 70 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Deploying a Flexfield A flexfield can be deployed to a sandbox or directly to the production environment. Deploy a Flexfield to a Sandbox If you want to test the flexfield configuration before deploying it to the production environment, you can deploy the flexfield to a sandbox. To deploy a flexfield to a sandbox, select the Actions menu, and the Deploy Flexfield to Sandbox menu item. With flexfields, you do not need to create a sandbox, as the deployment process manages flexfield sandbox creation. Each flexfield has its own sandbox. You must log out and log back into the application to see the updated flexfield configurations. Once you are satisfied with the changes, deploy the flexfield to the production environment. Deploy a Flexfield to the Production Environment To deploy to the production environment, click the Deploy Flexfield button. If a sandbox exists for the flexfield, it is automatically deleted after it successfully deploys. You must log out and log back into the application to see the updated flexfield configurations.
  • 77. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 71 Instructor Note: Demo Timing Approximate Demonstration Timing: 30 minutes .
  • 78. 0 Flexfield Concepts 72 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Demonstration: Updating a Descriptive Flexfield Demonstration Background You are required to create an additional job-related field. Demonstration Scope  Create a standard lookup  Create a value set that uses the standard lookup  Create a descriptive flexfield that uses the value set Demonstration Steps Sign in as hcm_impl. Start Here Home work area Create a standard lookup. 1. Click the Administration menu. 2. Click the Setup and Maintenance menu item. Location: Overview page 3. Click the Implementation Projects tab. 4. Click the XX Workforce Deployment hyperlink. Location: Implementation Project: XX Workforce Deployment page 5. Expand the Workforce Deployment task list. 6. Expand the Define Common Applications Configuration for Human Capital Management task list. 7. Expand the Maintain Common Reference Objects task list. 8. Expand the Define Lookups task list. 9. For the Manage Standard Lookups task, click Go to Task.
  • 79. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 73 Location: Manage Standard Lookups page 10.On the Search Results section toolbar, click the New icon. Information Replace XX with your initials. 11.In the Lookup Type field, enter XX_HR_JOB_OU. 12.In the Meaning field, enter XX_Job Type. 13.In the Description field, enter Job Type. 14.In the Module field, search for and select the Application Common user module. 15.Click Save. 16.In the XX_HR_JOB_OU: Lookup Codes table, click the New icon. 17.In the Lookup Code field, enter CON. 18.In the Display Sequence field, enter 1. 19.In the Meaning field, enter Consultant. 20.In the XX_HR_JOB_OU: Lookup Codes table, click the New icon button. 21.In the Lookup Code field, enter SRCON. 22.In the Display Sequence field, enter 2. 23.In the Meaning field, enter Senior Consultant. 24.Click Save and Close. Location: Setup and Maintenance work area Information: Now, create a value set that uses the XX_HR_JOB_OU standard lookup that you created. 25.Expand the Define Flexfields task list.
  • 80. 0 Flexfield Concepts 74 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 26.In the Manage Value Sets task row, click Go to Task. Location: Manage Value Sets page 27.In the Search Results section, click Create. Location: Create Value Sets page. 28.In the Value Set Code field, enter XX_HR_JOB_OU_VAL_SET. 29.In the Description field, enter XX_Job Value Set. 30.In the Module field, search for and select the Oracle Middleware Extensions for Applications user module. 31.In the Validation Type field, select Table. 32.In the Value Data Type field, select Character. 33.In the FROM Clause field, enter the table that contains the lookups, "FND_LOOKUPS". 34.In the Value Column Name field, enter the attribute name that holds the description of the lookup values, MEANING. 35.In the ID Column Name field, enter the code that will be stored in the database, LOOKUP_CODE. 36.In the Start Date Column Name and End Date Column Name fields, enter TO_DATE(NULL). 37.In the WHERE Clause field, enter FND_LOOKUPS.LOOKUP_TYPE='XX_HR_JOB_OU'. 38.Click Save and Close. Location: Manage Value Sets page 39.Click Done. Location: Setup and Maintenance work area Information Now, create a descriptive flexfield that uses the XX_HR_JOB_OU standard lookup you created.
  • 81. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 75 40.In the Manage Descriptive Flexfields task row, click Go to Task. Location: Manage Descriptive Flexfields page 41.In the Search section Name field, enter JOB. 42.Click Search. 43.In the Search Results section, select the Job Attributes row. 44.On the toolbar, click Edit. Location: Edit Descriptive Flexfield Job Attributes page Information You must create a Global Segments object that always appears in the descriptive flexfield region. 45.On the Global Segments section toolbar, click Create. Location: Create Segment page 46.In the Name field, enter XX_Job Type. 47.In the Code field, enter XX_JOB_TYPE_OU. 48.In the Description field, enter Determines the job type. 49.In the Column Assignment section Data Type field, select Character. 50.Accept the default in the Table Column field. 51.In the Value Set field, search for and select XX_HR_JOB_OU_VAL_SET. 52.In the Display Properties section Prompt field, enter XX_Job Type. 53.In the Display Type field, select Drop-down List. 54.In the Display Size field, enter 40. 55.In the Display Height field, enter 1 . 56.Enable the flexfield to be used in reports by selecting the BI Enabled option. 57.Click Save and Close.
  • 82. 0 Flexfield Concepts 76 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Location: Edit Descriptive Flexfield: Job Attribute page 58.Click Save and Close. Location: Manage Descriptive Flexfields page 59.In the Search Results field, select PER_JOBS_DFF. 60.Click Deploy Flexfield. Location: Confirmation dialog box 61.When the process bar is complete, click OK. Location: Manage Descriptive Flexfields page Information Confirm that the flexfield appears on the Job Task. 62.Click Done. Location: Setup and Maintenance work area 63.In the Search: Tasks pane, Name field, enter Manage Job. 64.Click Search. 65.For the Manage Job task, click Go to Task. Location: Manage Jobs page 66.In the Search section Name field, enter Consultant. 67.Click Search. 68.In the Search Results region, select the Consultant hyperlink. Location: Job Details tab 69.In the Job Description section, verify that the XX_Job Type descriptive flexfield appears. 70.Click Done.
  • 83. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 77 Flexfield Implementation Flow Managing flexfields involves, registering, planning, configuring, and deploying flexfields. Applications developers develop and register flexfields. Administrators and implementers configure flexfields and optionally customize their appearance in the user interface. The two types of deployment are for:  A sandbox-enabled flexfield for testing flexfield behavior in a sandbox MDS repository that is only accessible to the administrator who activates and accesses it, not to users generally
  • 84. 0 Flexfield Concepts 78 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.  A mainline-enabled flexfield for applying the flexfield definition to the mainline MDS repository where it is available to end users After deploying the flexfield to the mainline, you can customize the page where the flexfield segments appear.
  • 85. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 79 Flexfield Reference Resources Related Resources: Oracle Fusion Applications Common Implementation Guide Oracle Fusion Applications Extensibility Guide Oracle Fusion Applications Developer's Guide Guidance for Managing Customizations in Oracle Cloud Application Services: Flexfield Migration (Document 1510288.1) To view flexfields in the Oracle Enterprise Repository, see https://fusionappsoer.oracle.com/oer (https://fusionappsoer.oracle.com/oer/)
  • 86. 0 Flexfield Concepts 80 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Instructor Note: Activity Timing Approximate Activity Timing: 20 minutes . Note: Since we did not get a chance to stress test this environment, I do not know if all users deploying the flexfield at once will cause errors, so it is best to stagger the Deploy Flexfield process. This is in Step 20 in Activity 4, IMPORTANT: Some testers found that they could not see their flexfield in Activity 5, until they signed out of the sandbox. In case this issue arises, have the tester sign out of the sandbox and then re-navigate to the Manage Employment page for Aric Srinivas.
  • 87. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 81 Activities Introduction: Update a Descriptive Flexfield Background Add a global segment to the Assignment Attributes (PER_ASG_DF) descriptive flexfield to enter the company that an employee came from if the company was bought by the parent organization. This new value will be needed in reports. You will update and deploy this flexfield to add values to this descriptive flexfields. Requirements  Replace XX with your initials.  You must have access to Oracle Fusion Application InFusion database or a comparable training or test instance at your site, on which to complete this practice. Activity Scope 1. Update the PER_ASG_DF flexfield. 2. Deploy the flexfield. 3. View the results of the changes. IMPORTANT! The classroom workstations are set up to replicate a real business environment. Therefore, everyone is completing this course in a shared database; any changes that you make could affect the entire class. Please do not make any changes in the database unless instructed to do so in an activity or by the instructor.
  • 88. 0 Flexfield Concepts 82 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Activity 3: View the Flexfield In this activity, go to the Manage Employment page to view the Assignment Attributes flexfield. Sign in as hcm_impl1 or hcm_impl2. Start Here Home work area 1. Click the Navigator menu. 2. Click the Person Management menu item. Location: Search Person page 3. In the Person Number field, enter 1010. 4. Click Search. 5. In the Name field, click the Srinivas, Aric hyperlink. Location: Manage Person page 6. In the Tasks pane, under Personal and Employment, click Manage Employment. 7. On the toolbar, click the Administration menu. 8. Click Highlight Flexfields. 9. Hover over the i icon for each descriptive flexfield. 10.View the Assignment Attributes descriptive flexfield.
  • 89. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 83 11.Click Done. 12.At the Warning, click Yes. At this point, you should view the Assignment Attributes flexfield on the Manage Employment page.
  • 90. 0 Flexfield Concepts 84 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Activity 4: Update a Descriptive Flexfield In this activity, go to the Manage Descriptive Flexfields page to update contexts and segments for the PER_ASG_DF flexfield. Sign in as hcm_impl1 or hcm_impl2. Start Here Home work area 1. Click the Administration menu. 2. Click the Setup and Maintenance menu item. Location: Overview page 3. Click the Implementation Projects tab. 4. Click the XX Workforce Deployment hyperlink. Location: Implementation Project: XX Workforce Deployment page 5. Expand the Workforce Deployment task list. 6. Expand the Define Common Applications Configuration for Human Capital Management task list. 7. Expand the Maintain Common Reference Objects task list. 8. Expand the Define Flexfields task list. 9. For the Manage Descriptive Flexfields task, click Go to Task. Location: Manage Descriptive Flexfields page 10.In the Flexfield Code field, enter PER_ASG_DF 11.Click Search 12.In the Search Results table, click Edit. Location: Edit Descriptive Flexfield: Assignment Attributes page
  • 91. 0 Flexfield Concepts Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 85 13.In the Global Segments section, click Create. Location: Create Segment page 14.In the Name field, enter XX_Bridged Organization. 15.In the Data Type field, select Character. 16.In the Value Set field, search for and select HRX_AE_60_CHAR. 17.Click OK to dismiss the Search and Select window. Information In order to use this value in reports select BI enabled. 18.Select BI Enabled. 19.Click Save and Close. Location: Edit Descriptive Flexfield: Assignment Attributes page 20.Click Save and Close. Location: Manage Descriptive Flexfields page 21.Click Deploy Flexfield. 22.At the Confirmation message, click OK. 23.Click Done. At this point, you should have updated a flexfield.
  • 92. 0 Flexfield Concepts 86 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Activity 5: View Flexfield Changes In this activity, go to the Manage Employment page to view the changes to the flexfield. Sign in as hcm_impl1 or hcm_impl2. Start Here Home work area 1. Click the Navigator menu. 2. Click the Person Management menu item. Location: Search Person page 3. In the Person Number field, enter 1010. 4. Click Search. 5. In the Name field, click the Srinivas, Aric hyperlink. Location: Manage Person page 6. In the Tasks pane, under Personal and Employment, click Manage Employment. 7. On the toolbar, click the Administration menu. 8. View the XX_Bridged Organization descriptive flexfield. At this point, you should view the flexfield on the Manage Employment page.
  • 93. 0 Publishing Sandboxes Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 87 Publishing Sandboxes To publish a sandbox: 1. Make the customization changes to the application by going to the various customization environments. 2. Test or validate the changes in runtime using test or production systems and any combination of validation setups. 3. After you are satisfied with the changes, publish the sandbox to the mainline. Sandboxes should not exist for lengthy periods of time before publishing. It is recommended that a sandbox is published once a week.
  • 94. 0 Instructor Note: Steps for Personalizations - Step 4 88 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Instructor Note: Steps for Personalizations - Step 4 Put these steps on the whiteboard. Check off each step as we review the concepts. 1. Create the sandbox in the test environment. 2. Make changes in the sandbox. 3. When satisfied with personalizations download the customizations file. IMPORTANT: This step needs to be completed before you publish customizations to the sandbox or you will lose all the changes for migration 4. Publish changes to the test environment. 5. Import downloaded file to the production environment. . Check off the fourth step on the board work.
  • 95. 0 Flexfield Migration Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 89 Flexfield Migration Once you are satisfied with all your key, extensible, and descriptive flexfield changes, you need to migrate these customizations from the test to the production environment. Special considerations for flexfield migration are listed:  To avoid synchronization issues, migrate flexfield customizations prior to migrating page and BI customizations..  Only flexfields with a deployment status of Deployed or Deployed to Sandbox are eligible for migration.  The import process to the target environment automatically submits affected flexfields for redeployment. IMPORTANT! Ensure the source and target environments are at the same patch level. This means that the patch levels must be the same at the time when you create you sandbox in your test environment and when you publish the sandbox in production. Note: BI migrations are discussed in a later lesson.
  • 96. 0 Flexfield Migration 90 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Flexfield Migration Steps These are the steps to migrate your customizations for flexfields: 1. Sign into the test environment. 2. From the Setup and Maintenance work area, search for the Manage Configuration Packages task. 3. Select the Manage Configuration Packages task. 4. Select your implementation project. 5. Select the flexfield logical business objects (LBOs) you want to export. 6. Submit the export now or schedule for a later time. 7. Track the progress of the task on the Manage Export and Import Processes page. 8. Once the process is complete, download the configuration package to your local drive. 9. Sign into your target environment. 10.From the Setup and Maintenance work area, search for the Manage Configuration Packages task. 11.Search for the configuration package you just saved. 12.Launch the upload process by submitting the saved configuration package. 13.Track the progress of the task on the Manage Export and Import Processes page. 14.After the process has complete, review the audit and error reports. Note: See the FSM Overview lesson to learn about exporting and importing configuration packages. Related Resource: Guidance for Managing Customizations in Oracle Cloud Application Services: Flexfield Migration (Document 1510288.1) (https://mosemp.us.oracle.com/epmos/faces/ui/km/DocumentDisplay.jspx?id=1510288. 1)
  • 97. 0 Customization Set Migration Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 91 Customization Set Migration The Customization Set Migration is to be used to move customizations from one environment to another. It is not a tool for backing up and restoring customizations in the same environment. The customization set includes only the customizations and extensions that you make using the following tools and features:  Page Composer  Tasks and dialogs for configuring descriptive and extensible flexfields and value sets  Manage Menu Customizations task  Manage Oracle Social Network Objects task  Manage Standard Lookups task  Manage Common Lookups task  Data security policies created or customized using Oracle Authorization Policy Manager Personalizations are not included. You can access the Customization Set Migration dialog by navigating to the Navigation menu, Customization Set Migration menu item under the Tools work area. Related Resources: Using Customization Set Migration to Move Customizations
  • 98. 0 Instructor Note: Steps for Personalizations - Step 5 92 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Instructor Note: Steps for Personalizations - Step 5 Put these steps on the whiteboard. Check off each step as we review the concepts. 1. Create the sandbox in the test environment. 2. Make changes in the sandbox. 3. When satisfied with personalizations download the customizations file. IMPORTANT: This step needs to be completed before you publish customizations to the sandbox or you will lose all the changes for migration. 4. Publish changes to the test environment. 5. Import downloaded file to the production environment. . Check off the fifth step on the board work.
  • 99. 0 Instructor Note: Activity Timing Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 93 Instructor Note: Activity Timing Approximate Activity Timing: 2 minutes . Note: You, the instructor, will need to exit the sandbox you are using to demo the application. Follow the same steps in the activity to exit your sandbox.
  • 100. 0 Activity 6 Introduction: Exit a Sandbox 94 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Activity 6 Introduction: Exit a Sandbox Background We have completed all customizations. At this time, we will exit the sandbox. Requirements  Replace XX with your initials or your terminal number as indicated by your instructor.  You must have access to Oracle Fusion Application InFusion database or a comparable training or test instance at your site, on which to complete this practice. Activity Scope Exit sandbox, XX_Testing_Sandbox. IMPORTANT! The classroom workstations are set up to replicate a real business environment. Therefore, everyone is completing this course in a shared database; any changes that you make could affect the entire class. Please do not make any changes in the database unless instructed to do so in an activity or by the instructor.
  • 101. 0 Activity 6: Exit a Sandbox Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 95 Activity 6: Exit a Sandbox In this activity, go to the Manage Sandboxes page to create a sandbox for testing customizations. Sign in as hcm_impl1 or hcm_impl2 Start Here Home work area. 1. In the global area, hover over Session Sandbox: ApplCoreLongSB_XX_Testing_Sandbox. 2. Click Exit Sandbox. Location: Exit Sandbox dialog 3. Click Yes. At this point, you should have exited the sandbox.
  • 102. 0 Fast Formulas 96 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Fast Formulas Formulas are generic expressions of calculations or comparisons that you want to repeat with different input variables. You can use formulas to:  Calculate payrolls  Define the rules for paid time off accrual plans  Define custom calculations for benefits administration  Validate element input values or user-defined tables  Edit the rules for object group population for elements or people  Calculate absence duration  Calculate compensation defaults
  • 103. 0 Fast Formula Usages Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 97 Fast Formula Usages There are over a hundred of formula types. They are used for:  Payroll  Benefits  Absence  Compensation  Validation The formula type determines:  How the formula can be used  What contexts are automatically available to the formula  Which rules about inputs and outputs apply Formula contexts, based on formula type, are specific information that are available while the formula is processing.
  • 104. 0 Fast Formula Usages 98 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Instructor Note: Fast Formula Types Below are lists of formulas types by area that uses them. Compensation  Compensation Currency Selection  Compensation Default and Override  Compensation End Date  Compensation Hierarchy Determination  Compensation Person Selection  Compensation Start Date  Total Compensation Item Absence Management  Accrual  Accrual Carryover  Accrual Ineligibility Benefits  Payment Must Be Received  Action Type Due Date  Age Calculation  Age Determination Date  Automatic Enrollment Method  Beneficiary Certification Required  Break In Service  Break In Service Value  Certification Allow Reimbursement  Change Dependent Coverage  Compensation Calculation  Compensation Determination Date  Compensation Object Selection  Contribution Non-discriminatory  Coverage Amount Calculation  Coverage Amount Limit  Coverage Lower Limit  Coverage Non-discriminatory  Coverage Sequence Limit  Coverage Upper Limit  Deduction Schedule
  • 105. 0 Fast Formula Usages Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 99  Default Enrollment  Default to Assign Pending Action  Dependent Certification Required  Dependent Coverage End Date  Dependent Coverage Start Date  Dependent Eligibility  Election Value Range Rule  Element Type and Input Value Determination  Eligibility Access Calculation Rule  Enrollment Certification Required  Enrollment Coverage Start Date  Enrollment End  Enrollment Opportunity  Enrollment Period End Date  Enrollment Period Start Date  Evaluate Life Event  Extra Input  Family Member Determination  Hours Worked Calculation  Hours Worked Determination Date  Inspection Required  Length of Service Calculation  Length of Service Date to Use  Length of Service Determination Date  Life Event Reason Timeliness  Mandatory Determination  Matching Amount Calculation  Maximum Coverage Amount Calculation  Maximum Period of Enrollment  Maximum Period of Enrollment Determination Date  Maximum Period of Enrollment Value and UOM  Maximum Waiting Period Date to Use  Maximum Waiting Period to Participate  Minimum Coverage Amount Calculation  Partial Month Effective Date Determination  Partial Month Proration Method  Partial Month Proration Rule  Partial Year Coverage Restriction  Participation Eligibility End Date  Participation Eligibility Start Date  Participation and Rate Eligibility  Payment Schedule  Period to Date Amount Calculation  Person Change Causes Life Event  Person Selection  Postelection Edit
  • 106. 0 Fast Formula Usages 100 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.  Preferential Rate Calculation  Prorate Annual Election Value  Range of Scheduled Hours  Rate End Date  Rate Lower Limit  Rate Periodization  Rate Start Date  Rate Upper Limit  Rate Value Calculation  Related Person Change Causes Life Event  Required Period of Enrollment  Rounding  Unsuspend Date to Use  Variable Rate Add On Calculation  Vested Value  Waiting Period Value and UOM Payroll  Auto Indirect An autoindirect rule creates a simple relationship between one element and another target element. Multiple autoindirect rules, thus multiple targets, can be defined for one element. For example, this is used when a calculation starts with an initial element that must generate multiple elements (values, exemptions, rebates). Autoindirect rules are most commonly used with deduction elements. The generation of the indirect values are dynamic, using a fast formula. This lets you define deduction processing for multiple criteria; such as deductible amount, exemptions to reduce the deductible amount, and a deductible amount used to perform the deduction calcuation. The fast formula is used in order to trigger these various calcuations of the same element but using different referenced values.  Balance adjustment  Calculation method  Calculation type  Calculation utility  Deduction components group  Element input validation  Element skip  Extract advanced condition  Extract criteria  Extract record  Extract rule
  • 107. 0 Fast Formula Usages Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 101  Legislative check  Net to gross  Oracle payroll  Payroll access to HR  Payroll relationship group  Payroll run proration  Rate conversion  User table validation  Work relationship group NOTE! The element template creates formulas of Oracle Payroll and Payroll Run Proration formula type.
  • 108. 0 Fast Formula Usages 102 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Uses of Formulas in Payroll  Calculate element run results  Specify the rules for skipping an element during payroll processing  Perform legislative checks during the payroll run  Prorate payroll results
  • 109. 0 Fast Formula Usages Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 103 Uses of Formulas in Benefits There are over 100 formula types used in benefits for:  Eligibility determination  Post-election edits  Service calculations  Coverage amount limits Related Resources Benefits Fast Formula Reference Guide for Oracle Fusion Benefits (Document 1456985.1) (https://support.oracle.com/epmos/faces/ui/km/SearchDocDisplay.jspx?returnToSrId=&_ afrLoop=434137406329375&srnum=&type=DOCUMENT&id=1456985.1&displayIndex= 1&_afrWindowMode=0&_adf.ctrl-state=bq2w99tof_69)
  • 110. 0 Fast Formula Usages 104 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Uses of Formulas in Absence Specify the rules for paid time off (PTO) accrual plans:  Accrual terms  Carryover rules  Ineligibility criteria
  • 111. 0 Fast Formula Usages Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 105 Uses of Formulas in Compensation  Specify compensation worksheet defaults.  Refresh (process) only specific employees.  Create unique hierarchy for compensation.
  • 112. 0 Fast Formula Usages 106 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Uses of Formulas with Validation  Check that element entry values are valid for an assignment.  Check entries to a user-defined table.
  • 113. 0 Creating Fast Formulas Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 107 Creating Fast Formulas Fast formulas can be defined at the legislation level or global level. The formulas that are defined globally do not have a legislative data group assigned to them. They can be used by any legislation. If a formula is applicable to only one legislation, the legislative data group is entered when creating it. An example of a global formula is CALC_ARREAR. It is a global formula that calculates arrears.
  • 114. 0 Instructor Note: Ways to Create a Fast Formula 108 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Instructor Note: Ways to Create a Fast Formula There are two worked examples explaining how to create formulas using these two different editor types in nonembedded help.  Writing a Formula using Expression Editor: Worked Example  Writing a Formula Using Formula Text: Worked Example Object groups are used to define subsets of people or elements for payroll processing or reporting. They can either be dynamic, meaning that criteria within formulas determine the objects selected, or static, meaning that you select each object. The objects are either people or elements. There are two people group types: Payroll Relationship Group and Work Relationship Group. Element groups are always static, so there is no option for an element group in the fast formula types. Deduction Component Groups are read only and automatically generated. There are no examples of a formula used with object groups. These are the only formulas that use the expression editor.  When showing the different editors, create a payroll relationship group formula to show the Expression editor. Then you can use it when discussing object groups. Database Item Name is PER_EXT_JOB_CODE  Operand is Equal  Literal Value is MANAGER Remember to compile your formula and save it.
  • 115. 0 Ways to Create Fast Formulas Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 109 Ways to Create Fast Formulas Fast formula has two types of editors for creating formulas: text and expression. The type of formula you create will determine the formula editor type. Most formulas are created using the text editor type. The other editor type is Expression. It uses an expression builder to create a formula. You enter values in the fields given. To add conditional or relational logic enter a new row and add the condition such as, AND, OR, greater than or less than. The expression editor is used with the following formula types:  Deduction components group  Payroll relationship group  Work relationship group These formula types are used when creating dynamic object groups. Object groups are used to define subsets of people or elements for processing or reporting.
  • 116. 0 Instructor Note: Demo Timing 110 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Instructor Note: Demo Timing Approximate Demonstration Timing: 10 minutes .
  • 117. 0 Demonstration: Create a Compensation Default Fast Formula Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 111 Demonstration: Create a Compensation Default Fast Formula In this demonstration, you will go to the Manage Fast Formulas page to create a compensation default and override formula. Sign in as hcm_impl. Start Here Home work area, Welcome tab 1. Click the Administration menu. 2. Click the Setup and Maintenance menu. Location: Overview page 3. Click the Implementation Projects tab. 4. Click XX Workforce Deployment.. Location: Implementation Project: XX Workforce Deployment page 5. Expand the Workforce Deployment task list. 6. Expand the Define Elements, Balances, and Formulas task list. 7. For the Manage Fast Formulas task, click Go to Task. Location: Manage Fast Formulas page 8. Click the Create icon. Location: Create Fast Formula window Information Replace XX with your initials.
  • 118. 0 Demonstration: Create a Compensation Default Fast Formula 112 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 9. In the Formula Name field, enter XX_Compensation Default. 10.In the Type field, select Compensation Default and Override. 11.In the Description field, enter Default Compensation. 12.In the Legislative Data Group field, select US LDG. 13.In the Effective Start Date field, enter 01/01/2012. 14.Click Continue. Location: Create Fast Formula: XX_Compensation Default page 15.Enter the following formula details in the Formula Text area: /* Initialize DBIs to be used */ DEFAULT FOR CMP_ASSIGNMENT_SALARY_AMOUNT IS 0 /*Initialize variables */ VALUE = '0' /* Get value from DBI and assign it to return variable */ VALUE = TO_CHAR(CMP_ASSIGNMENT_SALARY_AMOUNT) /* Return Value back from formula */ RETURN VALUE 16.Click Save in the Formula Details toolbar. 17.Click Compile. 18.Click OK. 19.Click Refresh until the Compile Status shows successful. Information If it has compiled successfully, notice that the Compile Status field has a green checkmark beside it. 20.Click Done. Location: Manage Fast Formulas page 21.Click Done.
  • 119. 0 Demonstration: Create a Compensation Default Fast Formula Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 113 In this demonstration, you have created a compensation default fast formula.
  • 120. 0 Fast Formula Components 114 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Fast Formula Components When developing a formula you must understand formula language, the rules that the application imposes on the formula, and the calculation requirements. Formulas are created using various components:  Variables  Assignment statements  Return statements  Inputs statement  Expressions  Conditions  Comments  Database items  Global Values  Functions  Operators
  • 121. 0 Fast Formula Components Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 115 Variables Use variables in a formula to access information. Variables can have frequently changing values. The data type of a variable determines the type of information the variable holds. The data type can be numeric, text or date. A local variable is used in only one formula. The value of a local variable can change by assigning a value in an assignment statement. Example of Variables To calculate the wage value, the following formula needs to get the value for the variables HOURS_WORKED and HOURLY_RATE. WAGE = HOURS_WORKED * HOURLY_RATE RETURN WAGE
  • 122. 0 Fast Formula Components 116 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Assignment Statements Use an assignment statement to set a value for a local variable. The format of the assignment statement is: WAGE = HOURS_WORKED * RATE A formula evaluates the expression on the right-hand side of the statement, and places its result in the variable you name on the left-hand side. The left side of an assignment statement must always be a local variable because a formula can only change the value of local variables.
  • 123. 0 Fast Formula Components Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 117 Return Statements Use the return statement to return values in local variables. Example of Return Statement /* Formula: ALASKA ALLOWANCE FORMULA */ INPUTS ARE this_months_extra (number) Alaska_allowance = (grade_pay/20 + this_months_extra) RETURN Alaska_allowance The formula stops executing the formula when it reaches the return statement. Any statements after the return statement are ignored.
  • 124. 0 Fast Formula Components 118 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Input Statements To pass the element input values to the formula during a payroll run, you define an input statement. The name you use in the Input statement must be the same as the name of the element input value, and multiple words must be joined by underscores. Example of Input Statement INPUTS ARE hours_worked wage = hours_worked * hourly_rate RETURN wage In this example, the input value hours_worked is numeric. If the input value is not numeric, you must indicate whether it is text or date. For example: INPUTS ARE start_date (date).
  • 125. 0 Fast Formula Components Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 119 Expressions Expressions combine constants and variables with arithmetic operators and functions to return a value of a certain data type. For example, the expression (3 + 2) returns a value of 5, and is of numeric data type. Expressions can also be used inside functions, as in the following example: salary = GREATEST(minimum_wage, (hourly_rate * hours_worked))
  • 126. 0 Fast Formula Components 120 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Operators An expression may contain arithmetic operators, which determine how variables and literals are manipulated. For example, the operator + indicates that two items are added together. It is also used for string concatenation. Examples of Operators A = B - 1 A = B * C A = 'Good ' + 'Morning'
  • 127. 0 Fast Formula Components Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 121 Conditions A condition is the IF part of a formula that specifies the conditions of a statement that must be met to continue processing the formula. Example of Conditions IF age < 20 THEN training_allowance = 30 ELSE training_allowance = 0 The formula checks whether the condition (age < 20) is true or false. If it is true, the formula processes the statement that follows the word THEN. If the condition is not true, the formula ignores this statement and processes any statement that follows the word ELSE. The ELSE clause is optional.
  • 128. 0 Fast Formula Components 122 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Comments It is good practice to include comments in your formulas to explain to other people what the formula does. Place comments between the comment delimiters: /* and */. You can place comments anywhere in a formula without affecting performance. Example of Comments /* Formula: Attendance Bonus */ /* Use this formula to calculate the annual bonus for clerical staff. Employees receive either a percentage of their salary (if they have been present for 183 or more days in the last six months), or a pro rata bonus (if they have been in attendance for less than 183 days in the last six months). */ IMPORTANT! Do not put a comment within a comment. This causes a syntax error.
  • 129. 0 Fast Formula Components Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 123 Instructor Note: Database Items There are also array database items. This is a more technical topic. For more information, review the following nonembedded help topic:  Database Items: Explained
  • 130. 0 Fast Formula Components 124 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Database Items Database items exist in the application database and have associated code that the system uses to find the data. All database items are read-only variables. An attempt to write to a database item causes a compiler error. There are two types of database items:  Static  Dynamic Static Database Items Static database items are predefined. They include standard types of information, such as the gender, birth date, and work location of an employee, or the start and end dates of a payroll period. Dynamic Database Items Dynamic database items are generated from your definitions of certain items you define in payroll. These definitions include:  Elements  Balances  Input values
  • 131. 0 Fast Formula Components Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 125 Default Statements Default statements provide a value when an empty or null value may be returned for a database item. Default statements must be placed before the Inputs statement in a formula. Example of a Default Statement DEFAULT for HOURLY_RATE is 25 INPUTS are HOURS_WORKED WAGE = HOURS_WORKED * HOURLY_RATE RETURN WAGE
  • 132. 0 Fast Formula Components 126 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Global Values  To use a global value in a formula, simply refer to it by name.  Use global values for information that does not change frequently but you refer to often.  Global values are effective-dated.
  • 133. 0 Fast Formula Components Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 127 Alias Statements Database items are named by the application when it creates them, and sometimes these names are too long to conveniently use in a formula. You cannot shorten the name of a database item or a global value, but you can set up an alternative shorter name to use within the formula using an alias statement. In the rest of the formula, you can use the alias as if it were the actual variable. If you use an alias statement, it must be the first statement in a formula. Example of an Alias Statement ALIAS ASG_LAST_PROPOSED_SALARY_CHANGE as SALARY_CHANGE DEFAULT for SALARY_CHANGE is 0 Note: Using an Alias is more efficient than assigning the database item to a local variable with a short name.
  • 134. 0 Fast Formula Components 128 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Instructor Note: Functions This is a more technical topic. For more information, review the following nonembedded help topic:  Formula Functions: Explained At the bottom of this topic are related links based on the type of data the function manipulates.
  • 135. 0 Fast Formula Components Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 129 Functions Functions manipulate data in different ways and always return a value. They are restricted to simple data types of date, number, and text. Some functions work on only one type of data, some can work on two, others work on more than one data type. Examples of functions by the data they manipulate are: Text LENGTH(expr) Returns the number of characters in the text string operand expr. Number ROUND(m [,n]) Rounds m to n decimal places. The default number of decimal places is 0. Date ADD_MONTHS(date, n) Adds n whole months to date. Data Conversion NUM_TO_CHAR(n, format) Converts the number n to a character string in the specified format. Miscellaneous HR_TRACE(expr) Outputs a trace message.
  • 136. 0 Fast Formula Validation 130 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Fast Formula Validation All formulas must be compiled prior to being used in payroll processing. You can compile a formula on the Manage Fast Formula page by clicking the Compile button after you have written a formula. If there are errors, they will display at the bottom of the page. All errors must be fixed and the formula compiled again until the compilation runs successfully. You can also compile formulas using the Compile Formula process on the Submit a Process or Report page. Run it for a single formula or use it to run a bulk compile. You can view any compilation errors after the process is complete on the Payroll Messages page. Note: Use wildcards of % in the parameters of the bulk compile process to compile all formulas. For example, if you want to compile all formulas of a certain formula type enter the Formula Type parameter and in the Formula parameter enter %.
  • 137. 0 Formula Structure Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 131 Formula Structure The formula structure consists of statements that contain the instructions formula carries out. There are six types of statements you can use in a formula and they should follow this structure:
  • 138. 0 Formula Example 132 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Formula Example An example of a formula using the components we discussed is in this sample formula.
  • 139. 0 Writing Tips Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 133 Writing Tips  Set your effective date - You can copy the older version if you need to recover the original.  Comment generously - No impact on performance.  Make a backup copy and document it - An upgrade can change predefined formulas.  Make small changes - Include comments.  Verify often - Limit possible sources of syntax errors.  To identify a line number - Copy and Paste into an application that numbers your lines. Blank lines are numbered.  “Local value used before initialized” error can mean that a database item is not available and is being treated as a local variable.  Formula type determines which database items are available.  Database items rely on contexts.- These are predefined for each formula type
  • 140. 0 Troubleshooting Tips 134 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Troubleshooting Tips  Check your assumptions. - If you have a payroll element allowing multiple entries, the database item contains the sum of the entries.  Check for hard-coded lookup values. - The value or code may have been changed.  As a debug tool, you can return a message with values.  The application may compile a misspelled database item as a local variable. - Check database item names by querying in the Show Items window.  A “No Data Found” error may result from a value for a rate table being out of range.  Add parameters to a payroll process configuration group to optimize performance and troubleshoot your payroll processes.
  • 141. 0 Troubleshooting Tips Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 135 Instructor Note: Formula Logging The calling code can register call-back functions to test whether logging is enabled for a component, and to write a string to its logging subsystem. If the call-backs are available then the FF_EXEC_LOGGING action parameter is used to specify the logging level.
  • 142. 0 Troubleshooting Tips 136 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Payroll Process Configuration Payroll process configuration groups provide sets of payroll action parameters, primarily related to logging and performance, for your processes and reports. When you run a process, you can select a process configuration group. If you do not select a process configuration group, the application uses the parameters in the default group. Using these parameters enables you to investigate formula code problems:  Threads and Chuck Size parameters to process large volumes of records.  Logging Category or Formula Execution Logging parameters to troubleshoot processes. If you add the configuration group to a process that is generating errors, it will help troubleshoot the issues when you rerun the process.
  • 143. 0 Troubleshooting Tips Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 137 Compilation Errors Compilation errors display in the Manage Fast Formulas page when you compile the formula. The compiler aborts compilation when an error is encountered. Common compilation errors are:  Syntax Error - The formula text violates the grammatical rules for the formula language. An example is using IF1 instead of IF for an IF statement.  Incorrect Statement Order - ALIAS, DEFAULT, or INPUT statements come after other statements.  Misuse of ASSIGNMENT Statement - Occurs when any of these conditions occurs: - An ASSIGNMENT assigns a value to a database item. - A context is assigned a value externally to a CHANGE-CONTEXTS statement. - A non-context variable is assigned a value within a CHANGE-CONTEXTS statement.  Misuse of ALIAS Statement - An ALIAS statement may only be used for a database item.  Missing DEFAULT Statement - A database item with defaulting specified must have a DEFAULT statement.  Misuse of DEFAULT Statement - A DEFAULT statement is specified for a variable other than an input or database item.  Uninitialized Variable - The compiler detects that a variable is uninitialized when used. The compiler cannot do this in all cases. This error often occurs when you want to use a database item, but a database item is not available in the formula.  Missing Function Call - A function call is not recognized. The combination of return type, function name, and parameter types does not match any available function.  Incorrect Operator Usage - An instance of a formula operator use does not match the permitted uses of that operator. For example, the + operator has two permitted uses. The operands are both of data type NUMBER, or both of data
  • 144. 0 Troubleshooting Tips 138 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. type TEXT.  Inconsistent Data Type Usage - A formula variable is being used as if it is of more than one data type. Or a database item or context is being used with the wrong data type. For example, Variable A is assigned a NUMBER value at the start of the formula, but a TEXT value later in the formula.  EXIT Statement Not Within WHILE Loop - A condition that eventually becomes false, or an EXIT call for exiting the loop does not exist.  Misuse of Context - A variable is used as a context, or a context is used as a variable. For example, AREA1 is assigned a value as an ordinary variable, but later in the formula AREA1 used as a context in a GET_CONTEXT call.
  • 145. 0 Troubleshooting Tips Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 139 Execution Errors Fast formula execution errors occur when a problem arises while a formula is running. The usual cause is a data problem, either in the formula or in the application database. These errors contain the formula line number where the error occurs. Common execution errors are:  Uninitialized Variable - Where the formula compiler cannot fully determine if a variable or context is initialized when it is used, it generates code to test if the variable is initialized. When the formula executes and the variable or context is not initialized an error is raised.  Divide by Zero - Raised when a numeric value is divided by zero.  No Data Found - Raised when a non-array type database item unexpectedly fails to return any data. If the database item can return no data then it should allow defaulting. This error is also raised from within a formula function. The cause is an error in the formula function code.  Too Many Rows - Raised when a non-array type database item unexpectedly returns more than a single row of data. The cause is an incorrect assumption made about the data being accessed. This error can also be raised from within a formula function. The cause is an error in the formula function code.  NULL Data Found - Raised when a database item unexpectedly returns a NULL data value. If the database item can return a NULL value then defaulting is allowed.  Value Exceeded Allowable Range - Raised for a variety of reasons, such as exceeding the maximum allowable length of a string.  Invalid Number - Raised when an attempt is made to convert a non numeric string to a number.  User Defined Function Error - Raised from within a formula function. The error message text is output as part of the formula error message.  External Function Call Error - A formula function returned an error, but did not provide any additional information to the formula code. The function might have output error information to the logging destination for the executing code.  Function Returned NULL Value - A formula function returned a NULL value.
  • 146. 0 Troubleshooting Tips 140 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.  Too Many Iterations - A single WHILE loop, or a combination of WHILE loops, has exceeded the maximum number of permitted iterations. The error is raised to terminate loops that could never end. This indicates a programming error within the formula.  Array Data Value Not Set - The formula attempted to access an array index that has no data value. This is an error in the formula code.  Invalid Type Parameter for WSA_EXISTS - An invalid data type was specified in the WSA_EXISTS call.  Incorrect Data Type For Stored Item - When retrieving an item using WSA_GET, the items actual data type does not match that of the stored item. This is an error within the calling formula.  Called Formula Not Found - The called formula could not be resolved when attempting to call a formula from a formula. This could be due to an error in the calling formula, or because of installation issues.  Recursive Formula Call - An attempt was made to call a formula from itself. The call could be directly or indirectly via another called formula. Recursive formula calling is not permitted.  Input Has Different Types In Called and Calling Formulas - When calling a formula from a formula, the actual formula input data type within the called formula does not match the data type specified from the calling formula.  Output Has Different Types In Called and Calling Formulas - When calling a formula from a formula, the actual formula output data type within the called formula does not match the data type specified from the calling formula.  Too Many Formula Calls - There are two many formula from formula calls. This is due to a problem with the formulas.
  • 147. 0 Performance Tips Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 141 Performance Tips  The more elements entered for an assignment, the longer its processing time.  The longer the formula, the longer its processing time.  One element associated with a longer formula usually processes faster than two related elements each associated with short formulas.  The number of elements per assignment affects processing time more than the number of elements and formulas.  Use balance dimensions for single assignments whenever possible. (ASG_GRE vs. PER_)  Do not refer to database items until needed.  Do not default unnecessary database items.  Using an ALIAS instead of assigning a database item to a local variable is more efficient.  Input statements are up to 10x faster than using database items.  Assign date constants using DATE component instead of the TO_DATE function.  Review generated formulas and remove unnecessary or poor logic coding.
  • 148. 0 New Features 142 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. New Features In Fusion HCM, FastFormula has the following features that were not available in EBS HCM:  Simple array data types are available. An array value holds multiple values that can be accessed by index.  The formula language has been extended to allow iteration within a formula. A group of formula statements repeatedly executed while a condition holds true.  The formula language has been extended to allow a formula to call another formula.  The formula execution context is directly accessible from within a formula. Context values can be used within formula expressions. Context values no longer need to be set upon entering a formula and it is possible to test whether or not context value is set. A formula’s execution context can also be modified within the formula.  A working storage area is implemented to hold named data values across formula executions.
  • 149. 0 New Features Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 143 Simple Array Structures Formulas have array variables holding date, number, or text values. If the data type cannot be determined then the data type is defaulted to number. Arrays are similar to PL/SQL index-by tables. Do not specify the array size limit. Arrays are provided for convenience and excessive use and large arrays will result in excessive memory consumption. The index types are either text or number. Text indexes are upper case unique. Gaps in index value sequences are permitted. Number indexes are truncated to remove any fractional part. An array may be iterated in index forwards or backwards. Methods are provided to get the first and last indexes and to get the next or prior index given an index. A method is also provided to test the existence of an index. Array types are specified as <DATA TYPE>_<INDEX TYPE> giving: NUMBER_NUMBER, NUMBER_TEXT, DATE_NUMBER, DATE_TEXT, TEXT_NUMBER, and TEXT_TEXT. Arrays can be used for input, output, and local formula variables. Contexts cannot be array types. Formula functions cannot return arrays nor take array parameters. Methods for returning first, last, next, prior indexes take a default value to be used if the required indexes do not exist. These methods return the index data type. An attempt to delete a value at a nonexistent index does not cause an error. An attempt to reference an array value at a nonexistent index causes an error to be raised. The array method syntax does not work directly with the array literal values. For example, it is not possible to use a construct such as EMPTY_DATE_NUMBER.COUNT. Examples of array method syntax:
  • 150. 0 New Features 144 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Example: Iterating Through an Array In the following example, A is an array variable with a NUMBER index. -1234 is known to be an invalid index for A so it is used as a default value when the FIRST and NEXT calls cannot find an index. /* -1234 is not a valid index for A in this instance, so use as default. */ NI = A.FIRST(-1234) WHILE A.EXISTS(NI) LOOP ( VA = A[NI] /* Do some processing with element at index NI. */ NI = A.NEXT(NI,-1234) /* Go to next index. */ )
  • 151. 0 New Features Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 145 Formula Looping Use a WHILE loop with an appropriate condition to repeatedly execute a block of code. For example, the following WHILE-loop calculates an expense total by iterating through an array of expense items. The condition EXPENSES.EXISTS(ITEM) evaluates to false when there are no more items to process. TOTAL_EXPENSE = 0 ITEM = EXPENSES.FIRST(‘ ‘) /* ‘ ‘ is not a valid item. */ WHILE EXPENSES.EXISTS(ITEM) LOOP ( TOTAL_EXPENSE = TOTAL_EXPENSE + EXPENSES[ITEM] ITEM = EXPENSES.NEXT(ITEM,’ ‘) /* ‘ ‘ is not a valid item. */ )
  • 152. 0 New Features 146 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Instructor Note: Calling a Formula from a Formula Another example of the new format for nested formula calls is: CALL_FORMULA('CA_ORG_GET_TAX_OVERRIDE', 'FEDERAL_REGULAR_TAX_METHOD' > 'p_name', FED_METHOD < 'X_OUTPUT' DEFAULT '0') CA_ORG_GET_TAX_OVERRIDE is the name of the formula being c alled. 'FEDERAL_REGULAR_TAX_METHOD' is the text value being passed to the p_name parameter of this formula. FED_METHOD is the local variable which will hold the output value from the formula. X_OUTPUT is the name of the variable that will be in the formula . CA_ORG_GET_TAX_OVERRIDE's RETURN statement. '0' is the value of the default to be used if X_OUTPUT is not populated.
  • 153. 0 New Features Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 147 Calling a Formula from a Formula A formula can be called from another formula. This enables some modularity in formula organization. The called formula name, and any formula input or output names are specified as TEXT values. The names are case-independent. When the formula runs, checks are performed to ensure the called formula can be executed, and whether the specified input and output data types are correct. The IS_EXECUTABLE call determines whether an executable formula with a specified name exists. The formula must be compiled and visible according to data partitioning requirements. Also, it must be valid as of the effective date of calling formula execution. Payroll code imposes extra restrictions based on formula type combinations. This table describes the methods used when calling a formula from a formula. Note: Formula inputs set using SET_INPUT persist as long as no EXECUTE or GET_OUTPUT calls are made. Output values from a called formula persist as long as no SET_INPUT or new EXECUTE calls are made. Any saved input or output values are also removed when the calling formula exits. Example: Separate Calls The following example shows modified versions of the wage formula. In both cases, formula RATE_FORMULA is called to get a value for HOURLY_RATE. RATE_FORMULA has a text input, UNITS, that is set to ‘Hourly’ in the formula call. RATE_FORMULA returns the rate in output variable RATE. The GET_OUTPUT call returns 0.0 if RATE_FORMULA did not return RATE.
  • 154. 0 New Features 148 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. A formula can be called from another formula as a series of separate calls or as a single self-contained call.SET_INPUT(’UNIT’,’Hourly’) EXECUTE(’RATE_FORMULA’) HOURLY_RATE = GET_OUTPUT(’RATE’,0.0) WAGE = HOURS_WORKED * HOURLY_RATE RETURN WAGE
  • 155. 0 New Features Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 149 Formula Context Setting In EBS, the application code calling a formula had to set all context values before the formula was executed. In Fusion, the application code calling a formula usually sets all the context values. For some complex applications such as the payroll run, the code calling formula only sets the contexts necessary to meet general processing requirements. A payroll run would set contexts for the legislative data group, date earned, the payroll being processed, the payroll relationship, payroll actions, and the person being processed. Payroll formulas also use additional contexts whose setting is localization-specific. For example, the jurisdiction area, and tax code context values are localization-specific and are set within formulas using a variety of mechanisms. Formula code raises an error when a context value is not set when a dependent database item or function is used. A formula can test whether or not a context is set using the CONTEXT_IS_SET conditional, and the value can be retrieved using the GET_CONTEXT call. Context values may be changed within a formula using a context changing block, but after leaving the context changing block any changed context values are restored to their previous values. Inside the context changing block, formula function calls, database items, and called formulas use the new context values. Note: When writing formulas, it is important to understand which contexts are set by code calling the formula and which will be set inside the formula. It is also important to understand mechanisms available for setting contexts.
  • 156. 0 New Features 150 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Working Storage Area The working storage area is a mechanism for storing global values across formulas. The values are accessed by name. The names are case-independent. The four types of working storage area call methods are listed below: Note: The values held in the working storage area only persist for the session. Example In this example, an earlier formula call is expected to have set the rate value in location RATE:HOURLY within the working storage area. The 0.0 value provides a default rate value in case RATE:HOURLY value is not present. HOURLY_RATE = WSA_GET(‘RATE:HOURLY’,0.0) WAGE = HOURS_WORKED * HOURLY_RATE RETURN WAGE
  • 157. 0 Instructor Note: Activity Timing Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 151 Instructor Note: Activity Timing Approximate Activity Timing: 15 minutes .
  • 158. 0 Activities Introduction: Create a Fast Formula 152 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Activities Introduction: Create a Fast Formula Background For US Benefits, most customers provide an Open Enrollment period, whereby the participant population can make updates to their existing benefits, as well as make new elections. This Open Enrollment window typically happens in November of each calendar year, for about 2 weeks. These are future-dated enrollments that take effect after the current calendar year ends. A life event, such as marriage, divorce, or birth of a child, will cause an intervening event that may change the open enrollment elections. Some employees have experienced a life event in November, after their open enrollment elections were saved. We need to reprocess their open enrollment life event, so that their changes are picked up. Requirements  Replace XX with your initials.  You must have access to Oracle Fusion Application InFusion database or a comparable training or test instance at your site, on which to complete this practice. Activity Scope 1. Effective January 1, 2012, create a person selection fast formula, XX_BEN_PER_SEL_RULE. 2. Submit the Evaluate Scheduled Event Participation process. 3. Verify the individuals were selected in the process. IMPORTANT! The classroom workstations are set up to replicate a real business environment. Therefore, everyone is completing this course in a shared database; any changes that you make could affect the entire class. Please do not make any changes in the database unless instructed to do so in an activity or by the instructor.
  • 159. 0 Activity 7: Create a Fast Formula Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 153 Activity 7: Create a Fast Formula In this activity, go to the Manage Fast Formulas page and create a person selection formula. Sign in as hcm_impl1 or hcm_impl2. Start Here Home work area, Welcome tab 1. Click the Administration menu. 2. Click the Setup and Maintenance menu. Location: Overview page 3. Click the Implementation Projects tab. 4. Click XX Workforce Deployment. Location: Implementation Project: XX Workforce Deployment page 5. Expand the Workforce Deployment task list. 6. Expand the Define Elements, Balances and Formulas task list. 7. For the Manage Fast Formulas task, click Go to Task. Location: Manage Fast Formulas page 8. Click the Create icon. Location: Create Fast Formula window 9. In the Formula Name field, enter XX_BEN_PER_SEL_RULE. 10.In the Type field, select Person Selection. 11.In the Description field, enter Select employees based on person numbers. 12.In the Legislative Data Group field, select US LDG. 13.In the Effective Start Date field, enter 01/01/2012. 14.Click Continue.
  • 160. 0 Activity 7: Create a Fast Formula 154 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Location: Create Fast Formula: XX_BEN_PER_SEL_RULE page 15.Enter the following formula details in the Formula Text area: /* DATABASE ITEM DEFAULTS BEGIN */ DEFAULT for PER_ASG_PERSON_NUMBER IS '-1' /* DATABASE ITEM DEFAULTS ENDS */ /* FORMULA SECTION BEGIN */ output = 'N' per_number = PER_ASG_PERSON_NUMBER if (per_number = '1046' OR per_number = '1010') then (output = 'Y') return output /* FORMULA SECTION END */ 16.In the Formula Details toolbar, click Save. 17.Click Compile. 18.Click OK. 19.Click Refresh until Compile Status shows successful. Information If it has compiled successfully, notice that the Compile Status field has a green checkmark beside it. 20.Click Done. Location: Manage Fast Formulas page 21.Click Done. At this point, you should have created a person selection formula.
  • 161. 0 Activity 8: Submit the Evaluate Scheduled Event Participation Process Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 155 Activity 8: Submit the Evaluate Scheduled Event Participation Process At this portion of the activity, process the Evaluate Scheduled Event Participation process for the people with life event changes. Sign in as hcm_impl1 or hcm_impl2. Start Here Home work area, Welcome tab 1. Click Navigator menu. 2. Under Benefits, click the Evaluation and Reporting menu item.. Location: Evaluation and Reporting work area, Overview page 3. Click the Processes tab. 4. In the Evaluate Scheduled Event Participation row, click Submit. 5. In the Effective Date field, enter 11/01/2013. 6. In the Life Event Occurred Date field, enter 01/01/2014. 7. In the Life Event field, select Open. 8. In the Person Selection Formula field, select XX_BEN_PER_SEL_RULE. 9. Click Submit. 10.At the Confirmation message, click OK. Location: Overview page, Processes tab 11.Scroll down to the Monitor Process Request section. 12.Click Search, until the process has a Status of Completed Successfully. 13.Once Completed Successfully, click the Report icon. Location: Evaluate Scheduled Event Participation page 14.In the Results section, notice the Persons Selected is 2.
  • 162. 0 Activity 8: Submit the Evaluate Scheduled Event Participation Process 156 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 15.Click Done. At this point, you should have processed the people with life event changes.
  • 163. 0 Review Question 1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 157 Review Question 1 Formula contexts are specific information based on formula type that are available while the formula is processing. 1. True 2. False
  • 164. 0 Review Question 2 158 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Review Question 2 When defining a formula, you can choose which type of editor you want to use to write the formula text. 1. True 2. False
  • 165. 0 Review Question 3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 159 Review Question 3 Which statement about formula components is true? 1. Functions manipulate data in different ways and always return a value. 2. You can place comments anywhere in a formula without affecting performance. 3. Database items exist in the application database and have associated code that the system uses to find the data. All database items are read-only variables. An attempt to write to a database item causes a compiler error. 4. All formulas must be compiled prior to being used. 5. All are true. 6. All are false.
  • 166. 0 All Questions and Answers 160 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. All Questions and Answers Formula contexts are specific information based on formula type that are available while the formula is processing. 1. True 2. False 1. True. When defining a formula, you can choose which type of editor you want to use to write the formula text. 1. True 2. False 2. False The type of formula you are defining determines the type of editor used for creating a formula. Which statement about formula components is true? 5 .All are true  Functions manipulate data in different ways and always return a value.  You can place comments anywhere in a formula without affecting performance.  Database items exist in the application database and have associated code that the system uses to find the data. All database items are read-only variables. An attempt to write to a database item causes a compiler error.  All formulas must be compiled prior to being used.
  • 167. 0 Lesson Highlights Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 161 Lesson Highlights In this lesson, you should have learned how to:  Create a sandbox.  Customize a page using the Page Composer.  Personalize a dashboard.  Manage fast formulas.