26 extend and personalize

167
Extend and Personalize HCM Instructor Guide August 12, 2013

Upload: mohamed-refaei

Post on 15-Jan-2017

10 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: 26 extend and personalize

Extend and Personalize HCM

Instructor Guide

August 12, 2013

Page 2: 26 extend and personalize

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.

Page 3: 26 extend and personalize

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

Page 4: 26 extend and personalize

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

Page 5: 26 extend and personalize

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

Page 6: 26 extend and personalize
Page 7: 26 extend and personalize

0 Lesson Objectives

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1

Extend and Personalize HCM

Page 8: 26 extend and personalize

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.

Page 9: 26 extend and personalize

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.

Page 10: 26 extend and personalize

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.

Page 11: 26 extend and personalize

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. .

Page 12: 26 extend and personalize

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. .

Page 13: 26 extend and personalize

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.

Page 14: 26 extend and personalize

0 Sandbox Manager

8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Instructor Note: Demo Timing

Approximate Demonstration Timing: 5 minutes .

Page 15: 26 extend and personalize

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.

Page 16: 26 extend and personalize

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.

Page 17: 26 extend and personalize

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.

Page 18: 26 extend and personalize

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.

Page 19: 26 extend and personalize

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.

Page 20: 26 extend and personalize

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.

Page 21: 26 extend and personalize

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)

Page 22: 26 extend and personalize

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.

Page 23: 26 extend and personalize

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.

Page 24: 26 extend and personalize

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.

Page 25: 26 extend and personalize

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

Page 26: 26 extend and personalize

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

Page 27: 26 extend and personalize

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

Page 28: 26 extend and personalize

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.

Page 29: 26 extend and personalize

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.

Page 30: 26 extend and personalize

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.

Page 31: 26 extend and personalize

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.

Page 32: 26 extend and personalize

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.

Page 33: 26 extend and personalize

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.

Page 34: 26 extend and personalize

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.

Page 35: 26 extend and personalize

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

Page 36: 26 extend and personalize

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.

Page 37: 26 extend and personalize

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.

Page 38: 26 extend and personalize

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.

Page 39: 26 extend and personalize

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.

Page 40: 26 extend and personalize

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.

Page 41: 26 extend and personalize

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.

Page 42: 26 extend and personalize

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.

Page 43: 26 extend and personalize

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.

Page 44: 26 extend and personalize

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)

Page 45: 26 extend and personalize

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.

Page 46: 26 extend and personalize

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.

Page 47: 26 extend and personalize

0 Customizations

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 41

Page 48: 26 extend and personalize

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.

.

Page 49: 26 extend and personalize

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.

Page 50: 26 extend and personalize

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)

Page 51: 26 extend and personalize

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.

Page 52: 26 extend and personalize

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.

Page 53: 26 extend and personalize

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.

Page 54: 26 extend and personalize

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.

Page 55: 26 extend and personalize

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.

Page 56: 26 extend and personalize

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

Page 57: 26 extend and personalize

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

Page 58: 26 extend and personalize

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.

Page 59: 26 extend and personalize

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.

Page 60: 26 extend and personalize

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:

Page 61: 26 extend and personalize

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:

Page 62: 26 extend and personalize

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:

Page 63: 26 extend and personalize

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

Page 64: 26 extend and personalize

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:

Page 65: 26 extend and personalize

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.

Page 66: 26 extend and personalize

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.

Page 67: 26 extend and personalize

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:

Page 68: 26 extend and personalize

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

Page 69: 26 extend and personalize

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.

Page 70: 26 extend and personalize

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

Page 71: 26 extend and personalize

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

Page 72: 26 extend and personalize

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.

Page 73: 26 extend and personalize

0 Flexfield Concepts

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 67

Page 74: 26 extend and personalize

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.

Page 75: 26 extend and personalize

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.

Page 76: 26 extend and personalize

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.

Page 77: 26 extend and personalize

0 Flexfield Concepts

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 71

Instructor Note: Demo Timing

Approximate Demonstration Timing: 30 minutes .

Page 78: 26 extend and personalize

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.

Page 79: 26 extend and personalize

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.

Page 80: 26 extend and personalize

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.

Page 81: 26 extend and personalize

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.

Page 82: 26 extend and personalize

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.

Page 83: 26 extend and personalize

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

Page 84: 26 extend and personalize

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.

Page 85: 26 extend and personalize

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/)

Page 86: 26 extend and personalize

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.

Page 87: 26 extend and personalize

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.

Page 88: 26 extend and personalize

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.

Page 89: 26 extend and personalize

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.

Page 90: 26 extend and personalize

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

Page 91: 26 extend and personalize

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.

Page 92: 26 extend and personalize

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.

Page 93: 26 extend and personalize

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.

Page 94: 26 extend and personalize

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.

Page 95: 26 extend and personalize

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.

Page 96: 26 extend and personalize

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)

Page 97: 26 extend and personalize

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

Page 98: 26 extend and personalize

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.

Page 99: 26 extend and personalize

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.

Page 100: 26 extend and personalize

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.

Page 101: 26 extend and personalize

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.

Page 102: 26 extend and personalize

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

Page 103: 26 extend and personalize

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.

Page 104: 26 extend and personalize

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

Page 105: 26 extend and personalize

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

Page 106: 26 extend and personalize

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

Page 107: 26 extend and personalize

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.

Page 108: 26 extend and personalize

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

Page 109: 26 extend and personalize

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)

Page 110: 26 extend and personalize

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

Page 111: 26 extend and personalize

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.

Page 112: 26 extend and personalize

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.

Page 113: 26 extend and personalize

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.

Page 114: 26 extend and personalize

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.

Page 115: 26 extend and personalize

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.

Page 116: 26 extend and personalize

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 .

Page 117: 26 extend and personalize

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.

Page 118: 26 extend and personalize

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.

Page 119: 26 extend and personalize

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.

Page 120: 26 extend and personalize

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

Page 121: 26 extend and personalize

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

Page 122: 26 extend and personalize

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.

Page 123: 26 extend and personalize

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.

Page 124: 26 extend and personalize

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).

Page 125: 26 extend and personalize

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))

Page 126: 26 extend and personalize

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'

Page 127: 26 extend and personalize

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.

Page 128: 26 extend and personalize

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.

Page 129: 26 extend and personalize

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

Page 130: 26 extend and personalize

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

Page 131: 26 extend and personalize

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

Page 132: 26 extend and personalize

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.

Page 133: 26 extend and personalize

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.

Page 134: 26 extend and personalize

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.

Page 135: 26 extend and personalize

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.

Page 136: 26 extend and personalize

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 %.

Page 137: 26 extend and personalize

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:

Page 138: 26 extend and personalize

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.

Page 139: 26 extend and personalize

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

Page 140: 26 extend and personalize

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.

Page 141: 26 extend and personalize

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.

Page 142: 26 extend and personalize

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.

Page 143: 26 extend and personalize

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

Page 144: 26 extend and personalize

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.

Page 145: 26 extend and personalize

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.

Page 146: 26 extend and personalize

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.

Page 147: 26 extend and personalize

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.

Page 148: 26 extend and personalize

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.

Page 149: 26 extend and personalize

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:

Page 150: 26 extend and personalize

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. */ )

Page 151: 26 extend and personalize

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. */ )

Page 152: 26 extend and personalize

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.

Page 153: 26 extend and personalize

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.

Page 154: 26 extend and personalize

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

Page 155: 26 extend and personalize

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.

Page 156: 26 extend and personalize

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

Page 157: 26 extend and personalize

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 .

Page 158: 26 extend and personalize

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.

Page 159: 26 extend and personalize

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.

Page 160: 26 extend and personalize

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.

Page 161: 26 extend and personalize

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.

Page 162: 26 extend and personalize

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.

Page 163: 26 extend and personalize

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

Page 164: 26 extend and personalize

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

Page 165: 26 extend and personalize

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.

Page 166: 26 extend and personalize

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.

Page 167: 26 extend and personalize

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.