Top Banner
Oracle Applications Oracle Time and Labor Configuring The Oracle Time and Labor Timecard User Interface White Paper * Author(s): Oracle Time and Labor Development Generation Date: June 9, 2010 Abstract This document details the configuration options a timecard layout designer has when constructing a custom layout. OTL currently allows customization of timecard layouts via modification of AOL loader files which are then loaded into the database. c 2004 Oracle Corporation. All rights reserved. * The document source is at: /hrdev/hxc/11.5/doc/whitepapers/hxcconfiguiwp.tex 1
136
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: hxcconfiguiwp

Oracle Applications

Oracle Time and Labor

Configuring The Oracle Time and Labor Timecard User Interface

White Paper∗

Author(s): Oracle Time and Labor Development

Generation Date: June 9, 2010

Abstract

This document details the configuration options a timecard layout designer has when constructing a custom layout. OTLcurrently allows customization of timecard layouts via modification of AOL loader files which are then loaded into the database.

c©2004 Oracle Corporation. All rights reserved.

∗The document source is at: /hrdev/hxc/11.5/doc/whitepapers/hxcconfiguiwp.tex

1

Page 2: hxcconfiguiwp

Contributors

Name PositionMark Stewart Applications DeveloperAndrew Rundell Development ManagerJoel Dupont Applications DeveloperJohn Finnegan Principle Functional AnalystKris Van Der Pleog Functional AnalystAnima Prasad Senior Development ManagerBalakrishna Bayragi Applications DeveloperAmarnath Krishnamoorthy Senior Applications Developer

Change Record

Date Author Version Change ReferenceFebruary 1st, 2005 Andrew Rundell 115.0 Converted to PDF, WIKI, LaTeXAugust 6th, 2007 Amritha Nuthi 115.1 Modified to indicate correct functionality for

package choice listMarch 25th, 2008 Amritha Nuthi 115.2 Modified to show only the delivered seeded layouts and

to complete the missing lines in some examplesFebruary 09th, 2010 Amarnath Krishnamoorthy 115.3 Reviewed the document and added few examples which describes

how to create custom choice list, LOV, prompts and text field

Reference Documents

Name DescriptionRelease 11i Documentation Oracle Applications Documentation - information on FNDLOAD

and FlexfieldsADF Applications Development Framework - information on java ob-

jects, such as View Objects, Application Modules etc.

2

Page 3: hxcconfiguiwp

Contents

1 Introduction 81.1 Executive Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2 Structure of a Timecard Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.2.1 Time Building Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2.2 User Interface Component Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3 Layout Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.4 Delivered Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.4.1 Payroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.4.2 Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.4.3 Projects and Payroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.4.4 Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.4.5 Enterprise Asset Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.4.6 Purchasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.4.7 Projects-Purchasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.4.8 Payroll Layout delivered in Release 12.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.4.9 Project Layouts delivered in Release 12.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.4.10 Project and Payroll Layouts delivered in Release 12.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.5 Using the OAF Personalization Functionality With Timecard Configuration . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Timecard Configuration Basics 202.1 What can be configured on a Timecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.2 The Layout File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3 Using an Existing Layout as a Basis for Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.4 Uploading Timecard Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.5 Labels and Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.5.1 Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.5.2 Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.6 Further Configuration Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.6.1 View Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.6.2 Application Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.6.3 Apache/JServ server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.7 Delivered Configurable BC4J Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.7.1 Configurable Choice List Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.7.2 Package Choice List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.7.3 Custom Alternate Name components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.8 LOVs and JRAD/MDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.8.1 LOV Custom Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3 Examples of Common Customizations 293.1 Adding a Comment Field to the Timecard Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Adding a Custom Choice List to the Timecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3 Adding a Custom LOV to the Timecard using the Custom LOV Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3.1 Create the supporting database view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.3.2 Add the LOV component to the timecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.3.3 Personalize the LOV region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.4 Adding a Custom LOV to the Timecard without using the Custom LOV Objects . . . . . . . . . . . . . . . . . . . . . 373.4.1 Create the View Object for the LOV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.4.2 Create AK attributes used for the LOV screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.4.3 Create an AK region for rendering the LOV screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.4.4 Create AK region items inside the AK region for the LOV page . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3

Page 4: hxcconfiguiwp

3.4.5 Run the migration script to copy the LOV definition from AK to the MDS repository . . . . . . . . . . . . . . 423.4.6 Modify a layout to include the LOV component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.4.7 Include the new LOV View Object into your Apache/Jserv environment . . . . . . . . . . . . . . . . . . . . . . 43

3.5 Changing the title of the timecard page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.6 Changing the label for a column in the Timecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.7 Adding a Component to the Timecard Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.7.1 Create AK data for the component prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.7.2 Create wrapper PL/SQL function to call the payroll code function and return it in the format needed for the

package choice list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.7.3 Create the component to show the label for our custom field and add it to the layout . . . . . . . . . . . . . . 523.7.4 Create the component to show the read-only function result and add it to the layout . . . . . . . . . . . . . . . 52

3.8 Adding a Component to the Timecard Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.9 Adding an OTL Information Type to the Timecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.10 Adding additional element input values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.11 Configuring the Cost Center component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.12 Adding OTLR Detail to the Review and Confirmation Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.12.1 Creating the Detail Time Building Blocks in the Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.13 Adding the Details Page DFF Segments to the Timecard matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.13.1 Setting the Attribute Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.13.2 Aliasing A Segment Value To Set The Attribute Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.13.3 The Simple Approach: An Always-execute choice list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723.13.4 Other Segment Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

3.14 Configure Expenditure Type As Choice List Using Alternate Names in Projects Payroll Layout . . . . . . . . . . . . . 743.14.1 Define a New OTL Alternate Names Type Descriptive Flexfield Context / Segment: . . . . . . . . . . . . . . . 743.14.2 Mapping the Segments/Attributes to respective components: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753.14.3 Creating Alternate Name for the Alternate Name Type ET EXPENDITURE TYPES: . . . . . . . . . . . . . . 753.14.4 Create A Custom View and Define Layouts: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

3.15 Configuring Cost Center as a LOV in Payroll Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783.15.1 Create AK attributes used for the LOV screen : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793.15.2 Create an AK region for rendering the LOV screen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793.15.3 Create AK region items inside the AK region for the LOV page: . . . . . . . . . . . . . . . . . . . . . . . . . . 793.15.4 Migration of Ak Region to MDS Repository,Creation of Custom View and Define Layouts: . . . . . . . . . . . 80

3.16 Adding Custom LOVs, Custom Choice List and Text Field to a Payroll Layout . . . . . . . . . . . . . . . . . . . . . . 833.16.1 Create AK attributes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853.16.2 Add Attributes to AK Region: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873.16.3 Create database views: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873.16.4 Create AK regions for rendering the LOVs: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883.16.5 Create AK region items inside the AK region for the LOV page: . . . . . . . . . . . . . . . . . . . . . . . . . . 903.16.6 Setting up the Custom LOV xml and java files: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923.16.7 Migration of Ak Region to MDS Repository: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933.16.8 LDT file customization to change prompt from Hours Type to Job Type: . . . . . . . . . . . . . . . . . . . . . 953.16.9 LDT file customization to include choice list: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953.16.10LDT file customization to include source and destination LOVs: . . . . . . . . . . . . . . . . . . . . . . . . . . 973.16.11LDT file customization to include text field: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

3.17 Configure an Entry Level Processing Timecard Layout to capture Project, Task and Expenditure Type Information inCost Allocation Key Flexfield segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003.17.1 Create AK attributes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023.17.2 Add Attributes to AK Region: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033.17.3 Create database views: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043.17.4 Add Project Id, Task Id and Expenditure Type segments to Cost Allocation KFF: . . . . . . . . . . . . . . . . 1043.17.5 LDT file hxczzhxclayt0025.ldt customization to include JOB and LOCATION choice lists: . . . . . . . . . . . . 105

4

Page 5: hxcconfiguiwp

3.17.6 LDT file hxczzhxclayt0025.ldt customization to add Cost Center field: . . . . . . . . . . . . . . . . . . . . . . . 1063.17.7 LDT file hxczzhxclayt0025.ldt customization to map Project Information to Cost Allocation KFF: . . . . . . . 1073.17.8 Attributes data stored in database: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123.17.9 Batch Element Entry form showing the additional segments in Cost Allocation KFF: . . . . . . . . . . . . . . . 113

4 Technical Reference Guide 1144.1 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

4.1.1 Global attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144.1.2 Accrual Balance Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164.1.3 Choice List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164.1.4 Descriptive FlexField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184.1.5 Display Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194.1.6 Display Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194.1.7 Display Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194.1.8 Hidden Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194.1.9 Hours Type Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194.1.10 Inter-Period Navigation Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194.1.11 Key Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204.1.12 List Of Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204.1.13 Message Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234.1.14 Notification Day Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234.1.15 Package Choice List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234.1.16 Page Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234.1.17 Spacer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244.1.18 Submit Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244.1.19 Submit Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244.1.20 Summary Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254.1.21 Table Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254.1.22 Template Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264.1.23 Text Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264.1.24 Timecard Fragmentation Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264.1.25 Time Building Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

4.2 Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264.3 Seeded Prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

4.3.1 HXC CUI TIMECARD Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274.3.2 HXC CUI TIMECARD REVIEW Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274.3.3 HXC CUI TIMECARD CONFIRMATION Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

4.4 Seeded Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274.5 CUI Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

5 Troubleshooting and Frequently Asked Questions 1365.1 FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

5

Page 6: hxcconfiguiwp

List of Tables

1 Payroll Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Projects Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Projects and Payroll Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Exception Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Enterprise Asset Management Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Purchasing Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Projects-Purchasing Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 R12.1 Payroll Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Projects Layouts - With Project & Task details concatenated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1710 Projects and Payroll Layouts - With Project & Task details concatenated . . . . . . . . . . . . . . . . . . . . . . . . . 1811 Delivered Custom Choice List View Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2412 Component Tables Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11413 Global Attributes, applicable to every component. Required attribute(s) in bold. . . . . . . . . . . . . . . . . . . . . . 11514 Choice List Components. Required Attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11715 Descriptive flexfield component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . 11816 Display text component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . . 11917 Inter Period Navigational Control component qualifing attributes. Required attribute(s) are displayed in bold. . . . . 11918 Key notation component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . 12019 List of Values component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . 12220 Message Box component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . 12321 Package Choice List component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . 12422 Page Status component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . . 12423 Spacer component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . . . . . 12424 Submit Button component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . 12525 Submit Icon component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . . 12526 Summary Table component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . 12527 Table Layout component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . 12628 Template Control component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . . 12629 Text Field component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . . . 12730 Time Building Block component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . 12831 Currently recognized tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12932 Timecard region seeded prompts (Part 1.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13033 Timecard region seeded prompts (Part 2.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13134 Timecard Review region seeded prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13235 Timecard Confirmation region seeded prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13236 Seeded Timecard Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13337 Configurable User Interface Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13438 Configurable User Interface Error Codes (Part 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

6

Page 7: hxcconfiguiwp

List of Figures

1 Time Building Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 What can be Configured . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Timecard Matrix Line Comment Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Alternate Name Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Custom LOV Showing Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 Custom LOV Showing Locations after personalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Defining New OTL Alternate Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748 Mapping Segements/Attributes to respective components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759 Preference Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7610 Time Entry Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7811 AK Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7912 AK Region items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8013 Preference page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8214 Time Entry Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8215 Configured Airlines Timecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8316 Additional Element Input Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8417 AK Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8518 Add Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8719 LOV AK Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8920 LOV AK Region items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9121 Flight Source and Destination LOVs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9422 Configured ELP Timecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10023 Additional Element Input Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10124 AK Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10225 Add Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10326 Cost Allocation KFF Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10427 HXC TIME ATTRIBUTES table data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11228 Cost Allocation KFF Segments in BEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

7

Page 8: hxcconfiguiwp

Preface

Audience

This document describes the Oracle Time and Labor configurable timecard interface. It is a How-To guide as well as technicalreference document. In order to configure an Oracle Time and Labor timecard user interface working knowledge of the OracleApplications generic loader, FNDLOAD, plus its associated pre-requisite knowledge, as well as a basic understanding of a web pageand Oracle Flexfields is required. For more complex configurations, such as custom list of values, some familiarity with the OracleApplications Development Framework (ADF) is required. For example, additional list of values may require new ADF componentssuch as View Objects. Consult the appropriate reference documents for more detailed information on these Oracle Application specificfeatures.

Document Structure

There are five sections to this document:

• Section 1 provides introductory material, including and executive overview, which is appropriate background reading for peoplewishing to understand, but not implement a configurable user interface.

• Section 2 describes the basics of timecard configuration, and at high level discusses the various objects and techniques employedwhen modifying the interface.

• Section 3 builds on the previous section to provide explicit examples of typical configurations, e.g. changing the window title,adding a choice list and a list of values.

• Section 4 supplies a full technical reference guide for all configurable components and objects associated with the configurableuser interface.

• Finally, section 5 describes what to do in the case of an unexplained configuration error, and contains a list of frequently askedquestions.

For very simple timecard configurations, e.g. just changing a prompt or moving a field from one place to another, only the firstthree sections are required reading. For more complex configurations, e.g. adding a dependent list of values, the technical referencesection is invaluable.

This version of the document applies to HXT.H onwards, Oracle Applications Release 11i.10, Release 12.0 andRelease 12.1

1 Introduction

1.1 Executive Overview

Oracle Time & Labor (OTL) permits configuration of the timecard interface. Inclusion or exclusion of UI features, e.g. labels andbuttons, as well as choosing the fields shown on the timecard lie within the configuration module. These fields can be the deliveredset, or custom fields, tailored to a particular business.

The timecard interface is a hierachical structure of user interface components, a full set of which describes the interface, and isknown as a layout. Currently, a layout describes the user interface for one page, and thus there are OTL layouts for the timecardentry, review, confirmation, notification, approval, audit and details pages, as well as a layout that describes what information isavailable for offline time entry — the export layout. This enables the maximum level of configuration. Layouts are held in normal textfiles; these are loaded into the database using the standard applications loader utility (FNDLOAD), and configuration file suppliedby OTL. There are many delivered layouts that provide a timecard user interface configured for various applications, or combinationsof applications and these are pre-loaded for immediate use.

The appearence of the user interface components contained in a layout are controlled via varying sets of information, such asheight, color, size, direction, data source and so on. This extra information is held in a standard Oracle Applications Flexfield,called Self Service Configurable UI Flexfield. Each of the user interface components has a context within this flexfield, the segments

8

Page 9: hxcconfiguiwp

of which are known as component qualifiers, or just qualifiers. The column names in the OTL database for these qualifiers areQUALIFIER ATTRIBUTE1 through QUALIFIER ATTIRBUTE30. Use of a flexfield to store this extra information ensures aconsistent approach to user interface components within the configurable user interface module, and makes it easier to add supportfor additional components in the future.

In conjuction with the standard Oracle Applications Development Framework (ADF) personalization feature, the OTL timecardconfigurable user interface module permits every aspect of the timecard page to be changed, within the normal limits of HTML.

When configuring a timecard page, it is important to understand how the user interface components relate to the data generatedin the OTL time store. In this way, the most appropriate configuration is efficiently and accurately created. This document usesmany OTL concepts to streamline the configuration for the application, and thus the relationship between the data and the userinterface components on the page is now described.

1.2 Structure of a Timecard Page

1.2.1 Time Building Blocks

When entering time, you actually create objects (database records) called time building blocks. Time entry for a particular daycreates a new time building block, each entry being a separate block. Each time building block may store information about whatthat time represents; these are time building block attributes.

There are two types of time building blocks:

• A range time building block is an entry of time that exists for a given range of time, for instance, today from 9:00 AM until5:00 PM, or from August 20th to August 26th.

• A measure time building block is an entry of time that is a specific amount of time. For this type of time building block thereis no information within the block itself about when this time occurred.

The OTL timecard data-structure is a hierarchical collection of time building blocks. The top time building block (the one withouta parent) is the TIMECARD time building block, and represents the range of time for which this timecard exists, such as a week ora month.

Time building blocks have one or more child blocks and one parent block. You can attach blocks to other blocks, and build thecomplete timecard for a period of time. Each day associated with this timecard is a child time building block of that TIMECARDtime building block. Day building blocks are range building blocks, and represent the amount of time within that day (they start atmidnight on that particular day, and end at one second before midnight on the same day). Each day may have one or more timebuilding blocks associated with it, and these are the time entries associated with the timecard.

The data model reflects the user interface of the timecard page. Consider a square split in half. This square represents the screen,and in one half, we render the attributes associated with the TIMECARD time building block, such as the comment text field, in theother half, we render all the child building blocks of this block, the days and entries. Next, the process occurs for these child blocks,namely a square split in half, in one half we render the attributes the other we render the child building blocks of this block, and soon. This is shown in Figure 1 below:

In this way, we can easily represent the hierarchical structure of the set of blocks that make up the timecard on the screen. However,simply doing that can lead to a confusing and repetitive user interface. To avoid this, the user interface component qualifiers areused to ensure that the timecard user interface makes sense. However, in principle, it is clear that there is a correspondance betweenthe hierarchical nature of the user interface components, and the hierarchical nature of the time store building block data structure.

1.2.2 User Interface Component Hierarchy

As previously mentioned, user interface components — hereafter known simply as components — are the objects belonging to atimecard layout to make up the page.

Although the components on each layout can be very different they all follow a similar hierarchy - an example of this hierarchycan be seen below:

• message box components to be show for errors/warnings/confirmations

• page status

9

Page 10: hxcconfiguiwp

• top level building block

– header table layout∗ header field table layout

· inter-period navigation control label· inter-period navigation control component· override approver label· override approver component· template control label· template control component

∗ comments component– timecard matrix building block

∗ measure field∗ project LOV∗ task LOV∗ expenditure type LOV∗ delete control∗ details control

– template save table layout∗ save template name field∗ save template submit control

You will note the use of tables within this hierarchy - this is the primary way of formatting or aligning fields in HTML. So forexample, in the header table the outer table definition allows us to show the navigation/override/template fields on one side of thepage and the comments field on the other side. The nested table allows us to make sure that the field labels and components arealigned with each other to improve the visual appearance of the page. Note: For readers experienced with the ADF, it is clear thateach of these OTL configurable user interface components maps to a OAF web bean, and that the hierarchy described here is addedin its entirity to the web bean hierarchy used by OAF to render self service pages.

1.3 Layout Types

Each layout contains the component hierarchy definition for one page. Thus, it is beneficial to describe a layout by functional typeof page defined by that layout. Thus, we consider the following layout types:

• timecard (time entry page)

• review (timecard review page)

• confirmation (timecard confirmation page)

• details (timecard details page where applicable)

• export (template used for the timecard export functionality)

• notification (timecard review page as seen by the timecard approver)

• fragment (timecard review page as seen by an approver, but containing only those time entries for which the approver canapprove time, e.g. all the projects entries, all the payroll entries — this layout type is used in conjunction with the Entry LevelApproval functionality of OTL

• audit (the page on which audit entries, also known as reasons, are made)

A group of layouts comprising one layout from each type with common application fields, e.g. Payroll Timecard Layout, PayrollReview Layout, Payroll Confirmation Layout, Payroll Notification Layout etc., is sometimes referred to as a layout set.

10

Page 11: hxcconfiguiwp

1.4 Delivered Layouts

In order to facilitate rapid implementation, a number of common timecard layout sets are delivered with OTL. These meet manyrequirements for capturing time, or can be used as the basis for customization.Find these layout files in $APPL TOP/hxc/11.5/patch/115/import/US/, where $APPL TOP is the mount and directory whereOracle Applications is installed. These layout sets are named after the application-specific data entry fields defined within them,e.g. the Projects layout set contains components for a Project entry field, a Task entry field, an expenditure type field and so on.There are four application-specific layout sets delivered with the OTL product: Payroll, Projects, Projects and Payroll — these arelayouts with both the projects application and payroll application fields defined, and an Exception-based time reporting layout.

11

Page 12: hxcconfiguiwp

Figure 1: Time Building Blocks

12

Page 13: hxcconfiguiwp

1.4.1 Payroll

The payroll layouts delivered with the product are listed in table 1.

Layout Name Layout Code Layout Type FilenamePayroll Timecard Layout PAYROLL-TIMECARD TIMECARD hxczzhxclayt0000.ldtPayroll Review Layout PAYROLL-REVIEW REVIEW hxczzhxclayt0005.ldtPayroll Confirmation Layout PAYROLL-CONFIRMATION CONFIRMATION hxczzhxclayt0001.ldtPayroll Export Timecard Layout PAYROLL-EXPORT-LAYOUT EXPORT hxczzhxclayt0002.ldtPayroll Fragmented Timecard View PAYROLL-FRAGMENT FRAGMENT hxczzhxclayt0003.ldtPayroll Notification Layout PAYROLL-NOTIFICATION NOTIFICATION hxczzhxclayt0051.ldtPayroll OTLR Details Review Layout PAYROLL-HE-REVIEW REVIEW hxczzhxclayt0004.ldtPayroll OTLR Details Notification Layout PAYROLL-HE-NOTIFICATION NOTIFICATION hxczzhxclayt0047.ldt

Table 1: Payroll Layouts

1.4.2 Projects

The projects layouts delivered with the product are listed in table 2.

Layout Name Layout Code Layout Type FilenameProjects Timecard Layout PROJECTS-TIMECARD TIMECARD hxczzhxclayt0019.ldtProjects Review Layout PROJECTS-REVIEW REVIEW hxczzhxclayt0020.ldtProjects Confirmation Layout PROJECTS-CONFIRMATION CONFIRMATION hxczzhxclayt0017.ldtProjects Details Layout PROJECTS-DETAIL DETAIL hxczzhxclayt0065.ldtProjects Export Timecard Layout PROJECTS-EXPORT-TIMECARD EXPORT hxczzhxclayt0018.ldtProjects Notification Layout PROJECTS-NOTIFICATION NOTIFICATION hxczzhxclayt0052.ldtProjects Fragmented Timecard View PROJECTS-FRAGMENT FRAGMENT hxczzhxclayt0058.ldtProjects Change and Late Audit En-try Layout

PROJECTS-AUDIT-LAYOUT AUDIT hxczzhxclayt0014.ldt

Projects Change and Late ReviewLayout

PROJECTS-AUDIT-REVIEW REVIEW hxczzhxclayt0016.ldt

Projects Change and Late Confirma-tion Layout

PROJECTS-AUDIT-CONFIRMATION CONFIRMATION hxczzhxclayt0013.ldt

Projects Change and Late Audit No-tification Layout

PROJECTS-AUDIT-NOTIFICATION NOTIFICATION hxczzhxclayt0048.ldt

Table 2: Projects Layouts

13

Page 14: hxcconfiguiwp

1.4.3 Projects and Payroll

The projects-payroll layouts delivered with the product are listed in table 3.

Layout Name Layout Code Layout Type FilenameProjects and Payroll Timecard Layout PROJECTS-ALTERNATE-TIMECARD TIMECARD hxczzhxclayt0015.ldtProjects and Payroll Review Layout PROJECTS-ALTERNATE-REVIEW REVIEW hxczzhxclayt0010.ldtProjects and Payroll Confirmation Lay-

out

PROJECTS-AL-CONFIRMATION CONFIRMATION hxczzhxclayt0007.ldt

Projects and Payroll Details Layout PROJECTS-ALTERNATE-DETAIL DETAIL hxczzhxclayt0012.ldtProjects and Payroll Export Layout PROJPAYROLL-EXPORT-LAYOUT EXPORT hxczzhxclayt0021.ldtProjects and Payroll Notification Layout PROJECTS-ALTERNATE-NOTIF NOTIFICATION hxczzhxclayt0053.ldtProjects and Payroll Fragmented Time-

card View

PROJECTS-ALTERNATE-FRAGMENT FRAGMENT hxczzhxclayt0009.ldt

Projects and Payroll Change and LateAudit Entry Layout

PROJECTS-ALT-AUDIT-LAYOUT AUDIT hxczzhxclayt0034.ldt

Projects and Payroll Change and LateReview Layout

PROJECTS-ALTERNATE-CLA-REVIEW REVIEW hxczzhxclayt0033.ldt

Projects and Payroll Change and LateConfirmation Layout

PROJECTS-AL-CLA-CONFIRMATION CONFIRMATION hxczzhxclayt0006.ldt

Projects and Payroll Change and LateNotification Layout

PROJECTS-ALTERNATE-CLA-NOTIF NOTIFICATION hxczzhxclayt0049.ldt

Entry Level Processing Projects Pay-roll Timecard Layout

ELP-PROJECTS-PAYROLL-TIMECARD TIMECARD hxczzhxclayt0025.ldt

Entry Level Processing Projects Pay-roll Review Layout

ELP-PROJECTS-PAYROLL-REVIEW REVIEW hxczzhxclayt0032.ldt

Entry Level Processing Projects Pay-roll Confirmation Layout

ELP-PROJECTS-PAYROLL-CONF CONFIRMATION hxczzhxclayt0023.ldt

Entry Level Processing Projects Pay-roll Details Layout

ELP-PROJECTS-PAYROLL-DETAIL DETAIL hxczzhxclayt0024.ldt

Entry Level Processing Projects Pay-roll Export Layout

ELP-PROJ-PAY-EXPORT-LAYOUT EXPORT hxczzhxclayt0035.ldt

Entry Level Processing Projects Pay-roll Notification Layout

ELP-PROJECTS-PAYROLL-NOTIF NOTIFICATION hxczzhxclayt0050.ldt

Table 3: Projects and Payroll Layouts

14

Page 15: hxcconfiguiwp

1.4.4 Exception

The exception layouts delivered with the product are listed in table 4.

Layout Name Layout Code Layout Type FilenameException Layout Timecard Entry Page EXCEPTION-TIMECARD TIMECARD hxczzhxclayt0030.ldtException Layout Timecard Review Page EXCEPTION-REVIEW REVIEW hxczzhxclayt0029.ldtException Layout Timecard Confirma-tion Page

EXCEPTION-CONFIRMATION CONFIRMATION hxczzhxclayt0026.ldt

Exception Export Timecard Layout EXCEPTION-EXPORT-LAYOUT EXPORT hxczzhxclayt0027.ldtException Layout Timecard Notifica-tion Page

EXCEPTION-NOTIFICATION NOTIFICATION hxczzhxclayt0046.ldt

Exception Fragmented Timecard View EXCEPTION-FRAGMENT FRAGMENT hxczzhxclayt0064.ldtException OTLR Details Review Lay-out

EXCEPTION-HE-REVIEW REVIEW hxczzhxclayt0028.ldt

Exception OTLR Details NotificationLayout

EXCEPTION-HE-NOTIFICATION NOTIFICATION hxczzhxclayt0045.ldt

Table 4: Exception Layouts

1.4.5 Enterprise Asset Management

The enterprise asset management layouts delivered with the product are listed in table 5.

Layout Name Layout Code Layout Type FilenameEAM Confirmation Layout EAM-CONFIRMATION CONFIRMATION eamhxclayt.ldtEAM Review Layout EAM-REVIEW REVIEW eamhxclayre.ldtEAM Timecard Layout EAM-TIMECARD TIMECARD eamhxclayco.ldt

Table 5: Enterprise Asset Management Layouts

1.4.6 Purchasing

The purchasing layouts delivered with the product are listed in table 6.

Layout Name Layout Code Layout Type FilenamePurchasing Timecard Layout PURCHASING-TIMECARD TIMECARD pozzhxclayt0054.ldtPurchasing Review Timecard Layout PURCHASING-REVIEW-TIMECARD REVIEW pozzhxclayt0055.ldtPurchasing Confirmation Timecard Layout PURCHASING-CONF-TIMECARD CONFIRMATION pozzhxclayt0056.ldtPurchasing Notification Timecard Layout PURCHASING-NOTIF-TIMECARD NOTIFICATION pozzhxclayt0057.ldt

Table 6: Purchasing Layouts

15

Page 16: hxcconfiguiwp

1.4.7 Projects-Purchasing

The projects-purchasing layouts delivered with the product are listed in table 7. Each of the layout names is prefaced with Projects-Purchasing.

Layout Name Layout Code Layout Type FilenameTimecard Layout PROJECTS-PURCHASING-TIMECARD TIMECARD pazzhxclayt0039.ldtReview Timecard Layout PROJECTS-PURCHASING-REVIEW REVIEW pazzhxclayt0040.ldtConfirmation Timecard Layout PROJECTS-PURCHASING-CONFIRM CONFIRMATION pazzhxclayt0041.ldtAudit Entry Layout PA-PO-AUDIT AUDIT pazzhxclayt0042.ldtCLA Review Layout PROJECTS-PURCHASING-CLA-REVIEW REVIEW pazzhxclayt0043.ldtCLA Confirmation PA-PO-CLA-CONFIRM CONFIRMATION pazzhxclayt0044.ldt

Table 7: Projects-Purchasing Layouts

1.4.8 Payroll Layout delivered in Release 12.1

The payroll layout delivered for ORACLE E-BUSINESS SUITE 12.1 with the product is listed in table 8.

Layout Name Layout Code Layout Type FilenamePayroll OTLR Details Confirma-tion Layout

PAYROLL-HE-CONFIRMATION CONFIRMATION hxczzhxclayt0081.ldt

Table 8: R12.1 Payroll Layouts

16

Page 17: hxcconfiguiwp

1.4.9 Project Layouts delivered in Release 12.1

The projects layouts delivered for ORACLE E-BUSINESS SUITE 12.1 with the product are listed in table 9.

Layout Name Layout Code Layout Type FilenameProjects Timecard Layout - WithProject & Task details concatenated

PROJECTS-DETAILS-TIMECARD TIMECARD hxczzhxclayt0082.ldt

Projects Review Layout - WithProject & Task details concatenated

PROJECTS-DETAILS-REVIEW REVIEW hxczzhxclayt0083.ldt

Projects Confirmation Layout -With Project & Task details concate-nated

PROJECTS-DET-CONFIRM CONFIRMATION hxczzhxclayt0088.ldt

Projects Details Layout - WithProject & Task details concatenated

PROJECTS-DET-DETAIL DETAIL hxczzhxclayt0087.ldt

Projects Export Timecard Layout -With Project & Task details concate-nated

PROJECTS-DET-EXP-TIMECARD EXPORT hxczzhxclayt0086.ldt

Projects Notification Layout - WithProject & Task details concatenated

PROJECTS-DET-NOTIF NOTIFICATION hxczzhxclayt0084.ldt

Projects Fragmented Timecard View- With Project & Task details con-catenated

PROJECTS-DET-FRAGMENT FRAGMENT hxczzhxclayt0085.ldt

Projects Change and Late Audit En-try Layout - With Project & Taskdetails concatenated

PROJECTS-DET-AUDIT-LAYOUT AUDIT hxczzhxclayt0091.ldt

Projects Change and Late ReviewLayout - With Project & Task de-tails concatenated

PROJECTS-DET-AUDIT-REV REVIEW hxczzhxclayt0089.ldt

Projects Change and Late Confirma-tion Layout - With Project & Taskdetails concatenated

PROJECTS-DET-AUDIT-CONFIRM CONFIRMATION hxczzhxclayt0092.ldt

Projects Change and Late Audit No-tification Layout - With Project &Task details concatenated

PROJECTS-DET-AUDIT-NOTIF NOTIFICATION hxczzhxclayt0090.ldt

Table 9: Projects Layouts - With Project & Task details concatenated

1.4.10 Project and Payroll Layouts delivered in Release 12.1

The projects-payroll layouts delivered for ORACLE E-BUSINESS SUITE 12.1 with the product are listed in table 10.

17

Page 18: hxcconfiguiwp

Layout Name Layout Code Layout Type FilenameProjects and Payroll Timecard Layout - WithProject & Task details concatenated

PROJECTS-DET-ALT-TIMECARD TIMECARD hxczzhxclayt0093.ldt

Projects and Payroll Review Layout - WithProject & Task details concatenated

PROJECTS-DET-ALT-REVIEW REVIEW hxczzhxclayt0094.ldt

Projects and Payroll Confirmation Layout - With

Project & Task details concatenated

PROJECTS-DET-AL-CONF CONFIRMATION hxczzhxclayt0100.ldt

Projects and Payroll Details Layout - WithProject & Task details concatenated

PROJECTS-DET-ALT-DETAIL DETAIL hxczzhxclayt0098.ldt

Projects and Payroll Export Layout - WithProject & Task details concatenated

PROJPAY-DETAIL-EXPORT EXPORT hxczzhxclayt0099.ldt

Projects and Payroll Notification Layout - With

Project & Task details concatenated

PROJECTS-DET-ALT-NOTIF NOTIFICATION hxczzhxclayt0095.ldt

Projects and Payroll Fragmented Timecard View

- With Project & Task details concatenated

PROJECTS-DET-ALT-FRAG FRAGMENT hxczzhxclayt0096.ldt

Projects and Payroll Change and Late AuditEntry Layout - With Project & Task detailsconcatenated

PROJECTS-DET-ALT-AUD-LAYOUT AUDIT hxczzhxclayt0104.ldt

Projects and Payroll Change and Late Re-view Layout - With Project & Task detailsconcatenated

PROJECTS-DET-ALT-CLA-REVIEW REVIEW hxczzhxclayt0101.ldt

Projects and Payroll Change and Late Con-firmation Layout - With Project & Task de-tails concatenated

PROJECTS-DET-ALT-CLA-CONF CONFIRMATION hxczzhxclayt0103.ldt

Projects and Payroll Change and Late Notifi-cation Layout - With Project & Task detailsconcatenated

PROJECTS-DET-ALT-CLA-NOTIF NOTIFICATION hxczzhxclayt0102.ldt

Entry Level Processing Projects - PayrollTimecard Layout - With Project & Task de-tails concatenated

ELP-PROJ-DET-PAY-TIMECARD TIMECARD hxczzhxclayt0105.ldt

Entry Level Processing Projects - Payroll Re-view Layout - With Project & Task detailsconcatenated

ELP-PROJ-DET-PAY-REVIEW REVIEW hxczzhxclayt0106.ldt

Entry Level Processing Projects - PayrollConfirmation Layout - With Project & Taskdetails concatenated

ELP-PROJ-DET-PAY-CONF CONFIRMATION hxczzhxclayt0110.ldt

Entry Level Processing Projects - Payroll De-tails Layout - With Project & Task detailsconcatenated

ELP-PROJ-DET-PAY-DETAIL DETAIL hxczzhxclayt0109.ldt

Entry Level Processing Projects - Payroll Ex-port Layout - With Project & Task detailsconcatenated

ELP-PROJ-DET-PAY-EXP-LAYOUT EXPORT hxczzhxclayt0108.ldt

Entry Level Processing Projects - Payroll No-tification Layout - With Project & Task de-tails concatenated

ELP-PROJ-DET-PAY-NOTIF NOTIFICATION hxczzhxclayt0107.ldt

Table 10: Projects and Payroll Layouts - With Project & Task details concatenated

18

Page 19: hxcconfiguiwp

1.5 Using the OAF Personalization Functionality With Timecard Configuration

In short, for any page rendered with the Oracle Time and Labor (OTL) timecard configuration utility, no UI components can bePersonalized using the standard Oracle Applications Framework (OAF) functionality. All changes to the page must be made via theOracle Time and Labor page layout definition.

The one exception to this rule are the pages rendered in the LOV pop-up windows. While the LOVs themselves are controlled by theOTL timecard configuration utility, the pages rendered in the pop-up list of values windows are not. Thus, the OAF Personalizationfunctionality can be used to personalize those windows. For example, if the project id column in the Projects LOV pop-up should behidden, a customer should create a personalization at the desired level and hide that column. If the columns should be renamed orreordered, again, this should be done via the personalization framework delivered with the OAF.

19

Page 20: hxcconfiguiwp

2 Timecard Configuration Basics

The fastest mechanism of configuring a time card is to modify the existing set of layouts that are closest to the required functionality.This white paper describes this process in detail, and illustrates with examples of common modifications. The document coversthe majority of customizations, which are to the timecard header — the comments field, period list control and template controlwidgets — and timecard matrix — the time attributes and time entry fields. In summary, the minimal number of steps to configurea timecard layout are:

1. Use one of the seeded timecard layouts as a basis, or create a new timecard layout.

2. You must rename the timecard layout.

3. You configure the components of the timecard.

4. Upload the timecard layout to the database using FNDLOAD (see section 2.4).

NOTE: Do not use Web Application Dictionary or the OA Configuration Framework to configure the layouts.However, there are items on the OTL timecard pages such as the product branding and buttons which are outside the scope of theconfigurable user interface. Thus use the personalization framework to modify to those user interface components, e.g. to change thebranding, or the labels on the buttons.

2.1 What can be configured on a Timecard

Figure 2: What can be Configured

PINK = Standard AOL Messages that can be modified via AOL message formGREEN = AK prompts that can be modified in the AK region item or attribute formsRED = Attribute components in the timecard layout that can be modified via the configuration LDTsBLACK = Information on the timecard layout that can be controlled via preferences

20

Page 21: hxcconfiguiwp

2.2 The Layout File

As previously mentioned, the timecard layout containing a set of user interface component, and associated qualifer descriptions, isheld in a simple text file. Use FNDLOAD, the generic AOL loader utility, to upload the file data into the OTL ConfigurableUser Interface database tables. Read the AOL documentation, within the Oracle Applications release 11i documentation, for moreinformation on FNDLOAD. In common with all FNDLOAD compatible files, OTL delivers a configuration file, which defines thestructure of the layout files. This configuration file defines the entities, and entity attributes that are present within the file, whichare in the form of name value pairs unless part of the developer key for the attribute. For example, the HXC LAYOUT entity hastwo keys, the layout name, and the application short name that owns the layout (at the moment this is only OTL) and then anumber of attributes, such as the display layout name and the layout type. In OTL, each of the entities definied in the configurationfile maps to an OTL table, e.g. the HXC LAYOUTS entity maps to the HXC LAYOUTS table. Each of the entity keys, or entityattributes in the loader file maps directly or via a key to columns in those entities. E.g. DISPLAY LAYOUT NAME maps to thedatabase column, DISPLAY LAYOUT NAME, while PARENT COMPONENT maps to the column PARENT COMPONENT ID,as the parent component specifies a key attribute of an entity. The configuration file is:

$APPL TOP/hxc/11.5/patch/115/import/hxclaytlayoutsld.lct

and must be used in conjunction with FNDLOAD when uploading the layout.

2.3 Using an Existing Layout as a Basis for Customization

When creating a custom layout the easiest approach is to select one the delivered layouts, based on which is closest to your require-ments, and then use it as a starting point for your custom layout. To avoid overwriting the delivered OTL layouts you must giveyour new timecard layouts new names. Even if you do not plan to use the delivered layouts this change should still be made to avoidyour custom layout being overwritten when OTL patches are applied to your environment. In order to rename the layout, you needto change the layout name and description in the loader file. You do this in the section at the top of the data file.

For example:

BEGIN HXC LAYOUTS "EXCEPTION-TIMECARD" "HXC"OWNER = "CUSTOM"DISPLAY LAYOUT NAME = "Exception Layout - Timecard Entry Page"LAYOUT TYPE = "TIMECARD"

Could be changed to:

BEGIN HXC LAYOUTS "MODIFIED-EXCEPTION-TIMECARD" "HXC"OWNER = "CUSTOM"DISPLAY LAYOUT NAME = "Modified Layout - Timecard Entry Page"LAYOUT TYPE = "TIMECARD"

These changes must be made for any layout you are modifying, and it is also a good idea to change the filename of the loader fileto avoid confusion with the OTL delivered files.

2.4 Uploading Timecard Layouts

To upload the new layouts (for each of the layouts in the set you are using, or have customized) to the database execute the followingcommand from the command line:

FNDLOAD username/password@dbname 0 Y UPLOAD $HXC TOP/patch/115/import/hxclaytlayoutsld.lct ./layout.ldtThis command assumes the path environment variables are set correctly, so that the FNDLOAD executable lies on the path, and

the configured layout is in the current directory and in a file called layout.ldt.Once the modified layout is successfully uploaded, it will be available in the OTL application Preferences form and you can give

it to a user, or groups of users as required.

21

Page 22: hxcconfiguiwp

2.5 Labels and Messages

There are two concepts used to store any text that is displayed on an OTL timecard screen - prompts and messages. In general, forsmall amounts of text, use a prompt, otherwise use a message, which can be considerably more descriptive. For example, the tip atthe top of the timecard page is a message, while the Project label in the timecard matrix is a prompt. All component prompts andother items such as titles, button labels, etc. are defined as prompts.

2.5.1 Labels

All labels in the OTL configurable UI are translatable and customizable via the AK Developer responsibility in Oracle Applications.New labels can also be created in AK and used within the configurable UI for customized timecards. AK data for our purpose, isdefined as a region containing one or more region items. For OTL, the region is just a ’container’ for all of the prompts - to see anexample of this you can review the region ’HXC CUI TIMECARD’ which contains most of the prompts for the timecard entry page— see section 4. Each region item is based on an attribute, which are reusable, but for the purposes of OTL you will usually havea one-to-one mapping between region items and attributes. When creating region items there are many possible settings, but OTLwill only use a subset of these fields when querying labels - the ones used, and that should be set (other than mandatory fields suchas attribute name, application, length and sequence) are:

• Attribute Long Label (the text for the prompt)

• CSS Label Class Name (the CSS style name to be used for the prompt - this is optional and will be defaulted if not specified)

When creating your own custom prompts you should take note of the attribute code (for the attribute referenced by your regionitem), along with the region code and application you have created the region items under - this information will be needed to utilizethese labels within your configured timecard layout.

2.5.2 Messages

Messages in OTL use the standard Applications Object Library message functionality to provide a translatable and customizablesolution for longer sections of text. When creating messages you should note the message name you have specified, along with theapplication name you have used.

2.6 Further Configuration Concepts

If configuring more than just the simpliest aspects of the timecard, it may be necessary to utilize the ADF. Thus, some aspects of theADF are described in the following sections, within the context of configuring the OTL timecard interface. Specially, the businessobjects (BC4J or JBO) layer — these are java objects that contain or are business data — affect timecard interface configuration asthe data used by the user interface components is dependent on those objects. View objects and Application Modules are two of thebusiness objects that require configuration. An excellent discussion on these objects, and the Applications Development Framework(ADF) in general are found in the ADF Development Guidelines document available from the Oracle Technology Network.

2.6.1 View Objects

A View Object is a standard BC4J object and the primary method used to query data into OTL Self-Service applications. If yourequire a custom set of data to be shown on a timecard using a Choice List or LOV, then you may need to create a custom ViewObject to perform this query. Some customizations may be done using the Custom Choice List Components that OTL delivers. ViewObjects delivered by OTL should not be modified since these changes will be overwritten whenever a patch applied with changes tothe View Object is applied. View Objects can be developed using the wizard supplied with JDeveloper. Once created, the BC4Jobjects should then be added to the classpath for the Apache/JServ server so they will be available for use within the OTL timecardscreen. Note: any custom View Objects should be contained in a custom Application Module (see below for additional information).

22

Page 23: hxcconfiguiwp

2.6.2 Application Modules

An Application Module is a BC4J object which can be considered a ’container’ for View Objects. Note: If you create your owncustom View Objects then you should also create an Application Module to contain them. In order for the timecard page to functionproperly with custom view objects, the OTL configurable user interface code must instantiate the custom containing applicationmodule before the custom view object from which to retrieve the appropriate business data. Thus, the configurable user interfacemust know the name of the custom application module. So when referencing a view object as part of the qualifiers for a user interfacecomponent, a custom application module name can be supplied using the following syntax:

QUALIFIER ATTRIBUTEx = ViewObjectName#ApplicationModuleName#ApplicationModuleClass

So for example, if you create a custom view object called ’MyViewObject’, and then created an application Module called ’MyAM’with the full class (including package) of ’my.custom.code.MyAM’, then the qualifier would look as follows:

QUALIFIER ATTRIBUTEx = MyViewObject#MyAM#my.custom.code.MyAM

NOTE: All BC4J and Java references are case-sensitive, so it is important to ensure the reference in the layoutmatches that of your code.

2.6.3 Apache/JServ server

When customizations have been performed on the timecard the Apache/Jserv process may need to be ’bounced’ before the changeswill take effect due to caching of data. In general the following changes will not need the middle tier to be restarted:

• Changes to the timecard layout

• Changes to prompts or messages used on the layout

The following changes require the middle tier to be restarted:

• Changes to BC4J objects (i.e. View Objects, Application Modules, etc.)

• Creation of or changes to LOV JRAD definitions (using the migration script that creates LOV definitions in JRAD from theAK data are including here also)

Any changes to OTL preference data whilst a user is logged in and impacted by those preferences will only be effective once theuser has logged out and signed in again.

2.7 Delivered Configurable BC4J Objects

2.7.1 Configurable Choice List Components

To allow easy implementation of choice list components, OTL delivers a number of ’Configurable Choice Lists’. What this basicallymeans is that we deliver a View Object based on a configurable view, so rather than a customer having to use JDeveloper to createtheir own BC4J view objects and application module, they can just alter the definition of the underlying configurable view and thenadd it onto their configured layouts.

OTL currently delivers ten of these configurable view objects:The configurable view consists of two columns:

DISPLAY VALUE VARCHAR2(30)VALUE VARCHAR2(15)

These names must be used in order that the configurable user interface can display the appopriate data in the choice list componenton the timecard interface, but components will default the attributes that specify these to the same names, so they do not need tobe specified in the layout. The Value column is the value that will actually be submitted with the timecard - the contents of theDisplayValue column does not need to be meaningful at all as far as the submit process is concerned (although for the benefit of anyone

23

Page 24: hxcconfiguiwp

View Object Name View Object Class Configurable View NameCustom1VO oracle.apps.hxc.selfservice.timecard.server.Custom1VO HXC CUI CUSTOM1 VCustom2VO oracle.apps.hxc.selfservice.timecard.server.Custom2VO HXC CUI CUSTOM2 VCustom3VO oracle.apps.hxc.selfservice.timecard.server.Custom3VO HXC CUI CUSTOM3 VCustom4VO oracle.apps.hxc.selfservice.timecard.server.Custom4VO HXC CUI CUSTOM4 VCustom5VO oracle.apps.hxc.selfservice.timecard.server.Custom5VO HXC CUI CUSTOM5 VCustom6VO oracle.apps.hxc.selfservice.timecard.server.Custom6VO HXC CUI CUSTOM6 VCustom7VO oracle.apps.hxc.selfservice.timecard.server.Custom7VO HXC CUI CUSTOM7 VCustom8VO oracle.apps.hxc.selfservice.timecard.server.Custom8VO HXC CUI CUSTOM8 VCustom9VO oracle.apps.hxc.selfservice.timecard.server.Custom9VO HXC CUI CUSTOM9 VCustom10VO oracle.apps.hxc.selfservice.timecard.server.Custom10VO HXC CUI CUSTOM10 V

Table 11: Delivered Custom Choice List View Objects

using the timecard it should obviously make some sense!). Note: For flexibility both columns are delivered as type VARCHAR2, soif you have a non-varchar2 column you will need to convert it in your view statement.

For a quick example let’s make a custom view object that does a query against PER PEOPLE F and retrieves the persons full nameinto DisplayValue and the period ID into Value. The SQL to perform this query would be:

SELECT full name, person id FROM per people f

So lets create a view based on this query - since the results are unsorted, lets also add an ORDER BY clause to the SQL statementso it is easier to find names in the list.

CREATE OR REPLACE FORCE VIEW HXC CUI CUSTOM1 V(display value,value)AS SELECT full name DISPLAY VALUE,to char(person id) VALUEFROM per people f ORDER BY full name

We have used TO CHAR on the person id column to convert it to a VARCHAR2 and we have also specified the aliases for thecolumns so they match the expected names within the View Object. Note: Given the nature of HTML all possible selections for achoice list (both displayed text and the selection value) are part of the generated page. It is strongly advised that Choice Lists onlybe used when the result set shown is not excessive, otherwise the size of the page can be large, which may slow down rendering e.g.if the user is using a dial-up connection.

Information: There is an Applications Object Library profile which controls the maximum number of rows fetched for a ViewObject. This profile is called ’FND: View Object Max Fetch Size’ and is set to a default of 200. Without changing this profile option,this is the maximum number of choices that will available in a choice list component.

Information: OTL delivers a SQL script to create template views for all of the custom view objects - this is not run in a patch, butcan be run manually to create template views for testing, or alternatively you can copy and modify the script to contain your customview objects which can then be created by running the script. This script can be found under $HXC TOP/patch/115/sql/hxccuivw.sql.

2.7.2 Package Choice List

A package choice list is visually exactly the same as a normal choice list component on the page. The difference between the two isthe data source — in the case of a normal choice list, the data is queried from a table or view via the associated View Object. Fora package choice list the equivalent View Object is built from the result of a PL/SQL function call. The PL/SQL call should returnthe data to be shown in the choice in display value/value pairs (each separated by ’—’). The call be made with any of the supportedtokens — see section 4 — for the timecard - all parameters should be of type varchar2.

Currently only one instance of a Package Choice List component can exist on a Self-Service page. A Package Choice List componentis defined like any other component. It uses a context called PACKAGE CHOICE LIST of the configurable user interface component

24

Page 25: hxcconfiguiwp

qualifer flexfield. Attributes associated with this context, define the behaviour of this component, and tell the configurable userinterface code how to call the package. In QUALIFIER ATTRIBUTE1 the package and function name to be called are specified, andQUALIFIER ATTRIBUTE2 contains the parameter list for the function. Parameters for the function call are bound by position, soit is important to make sure the order they specified in the layout matches that of the function. Literal values may also be passed inthe parameter list - this could be used, for example, if you wanted to use the same function for a multiple components on the pagebut be able to identify each of the components and have the code behave slightly differently for each. As an example, lets create afunction called ’test’ in the package ’my custom code’ that takes 3 parameters - the person id of the user, the timecard start dateand a third literal value of ’TEST’:

FUNCTION test(p resource id in varchar2,p timecard start date in varchar2,p mode flag in varchar2)RETURN varchar2

The values for QUALIFIER ATTRIBUTE1 and QUALIFIER ATTRIBUTE2 for the component would be:

QUALIFIER ATTRIBUTE1 = my custom code.testQUALIFIER ATTRIBUTE2 = @RESOURCE IDENTIFIER ID|@TIMECARD BIND START DATE|TEST

And this is some basic function code which will convert the bind parameters into different types and return some test values tobe shown in the choice list. This is the function supporting the choice list, and so this is just an example, obviously a configuredfunction could perform any operation, as long as the return parameter meets the specification defined above.

FUNCTION test(p resource id in varchar2,p timecard start date in varchar2,p mode flag in varchar2)RETURN varchar2IS--l resource id NUMBER;l start date DATE;l return value VARCHAR2(200);--BEGIN---- convert parameters--l resource id := TO NUMBER(p resource id);l start date := fnd date.canonical to date(p timecard start date);---- switch base on the mode flag and set return value based on it--IF (p mode flag = ’TEST’) THENl return value := ’1|Test1|2|Test2|3|Test3’;ELSEl return value := ’10|Display1|20|Display2|30|Display3’;END IF;---- return values

25

Page 26: hxcconfiguiwp

--RETURN l return value;--END test;

Note: Given the nature of HTML all possible selections for a choice list (both displayed text and the selection value) are part ofthe generated page. It is strongly advised that Choice Lists only be used when the result set shown is not excessive.

Info: There is an Applications Object Library profile which controls the maximum number of rows fetched for a View Object.This profile is called ’FND: View Object Max Fetch Size’ and is set to a default of 200.

2.7.3 Custom Alternate Name components

OTL Alternate Functionality is a commonly configured option on the timecard interface, because it drastically simplifies data entryfor users. For example, the expenditure type seeded alias allows users to pick one value, which is converted by the system into anexpenditure type, hours (element) type and a system linkage function. Thus, the user is selecting one value, rather than three. Fora discussion of OTL alternate name functionality consult the OTL Application documentation.

To allow for simple configuration of alternate name components, OTL delivers five customizable alternate name objects. For theSelf-Service functionality of OTL only the ’OTL Alternate Name DFF Context’ type of alternate names are supported. This type ofalternate name is based on the context definition attached to the ’OTL Alternate Names’ descriptive FlexField. In the context youconfigure the definition of the alternate name and the value that you wish to deposit to OTL.

For example, the ELEMENTS EXPENDITURE SLF context has the following segments:

• PAYROLL ELEMENTS

• EXPENDITURE TYPE

• SYSTEM LINKAGE FUNCTION

• IDENTIFIER

IDENTIFIER is common to all alternate name definitions. This segment is used when you wish to define more than one alternatename with the same set of values, but with different names. In order to uniquely identify them the identifier segment should be used.For this example, when the ELEMENTS EXPENDITURE SLF alternate name type is submit, the values that are deposited are apayroll element, expenditure type and the system linkage function.

The steps for creating a custom alternate name component are

• Create context with the required segments in the OTL Alternate Names FlexField

• Create mappings for the alternate name definition. This is done using the alternate name mapping professional form. Performa query based on the ’OTL Alternate Name DFF Context’ and your context as the type and then enter the mappings yourequire. For each segment of your context, you should link the correct mapping component that will be used when depositingthe information into OTL.

• Once the alternate name context and mappings are complete it can be utilized by attaching the ’Self-Service timecard alternatename set defined for a user’ preference as needed.

• Next, your timecard layouts should be modified to include the custom alternate name component. These components aredelivered as VO definitions that are plugged into an LOV or choicelist component with some specific qualifiers set.

Lets use an example to illustrate how an alternate name could be added onto a timecard layout with an LOV component.

BEGIN HXC LAYOUT COMPONENTS" My Timecard Layout - ExpType PriceType"OWNER = "ORACLE"

26

Page 27: hxcconfiguiwp

COMPONENT VALUE = "PA EXPTYPE PRICETYPE"REGION CODE = "PA CUI ALTERNATE NAME"REGION CODE APP SHORT NAME = "PA"ATTRIBUTE CODE = "PA EXPTYPE PRICE TYPE ALIAS"ATTRIBUTE CODE APP SHORT NAME = "PA"NAME VALUE STRING = "PA EXPTYPE PRICE TYPE ALIAS"SEQUENCE = "240"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="My Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/04"

BEGIN HXC LAYOUT COMP QUALIFIERS"My Timecard Layout - ExpType PriceType"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "AlternateNameItem1VO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "HXC CUI ALIAS ITEM1 LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "5"QUALIFIER ATTRIBUTE6 ="HxcCuiDisplayValue|ALIAS ITEM 1-DISPLAY|CRITERIA|N|HxcCuiValue|DUMMY|PASSIVE CRITERIA|N|HxcCuiValue|ALIAS ITEM 1|RESULT|N|HxcCuiDisplayValue|ALIAS ITEM 1-DISPLAY|RESULT|N"QUALIFIER ATTRIBUTE8 = "DisplayValue"QUALIFIER ATTRIBUTE9 = "Value#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.AlternateNameItem1VO"QUALIFIER ATTRIBUTE11 =EXPENDITURE TYPE PRICE TYPE|TIMECARD BIND END DATE|TIMECARD BIND START DATE"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE24 = "EXPENDITURE TYPE PRICE TYPE"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "OTL ALIAS ITEM 1"QUALIFIER ATTRIBUTE27 = "Attribute1"QUALIFIER ATTRIBUTE28 = "ALIAS ITEM 1"LAST UPDATE DATE = "2004/05/04"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

Let’s go over the relevant qualifier settings to explain how it works.QUALIFIER ATTRIBUTE1: This specifies the custom alternate name view object to use for this component. OTL supports 5

of these custom definitions and the VO names for each of these are:AlternateNameItem1VO

AlternateNameItem2VOAlternateNameItem3VOAlternateNameItem4VOAlternateNameItem5VO

27

Page 28: hxcconfiguiwp

QUALIFIER ATTRIBUTE3: For each of the custom alternate name view objects there is an LOV region delivered which referencesthem - these regions are named:

HXC CUI ALIAS ITEM1 LOV (for use with AlternateNameItem1VO)HXC CUI ALIAS ITEM2 LOV (for use with AlternateNameItem2VO)HXC CUI ALIAS ITEM3 LOV (for use with AlternateNameItem3VO)HXC CUI ALIAS ITEM4 LOV (for use with AlternateNameItem4VO)HXC CUI ALIAS ITEM5 LOV (for use with AlternateNameItem5VO)

QUALIFIER ATTRIBUTE11: This qualifier contains the bind variables used for the alternate name definition - the first parametershould always be the type of alternate name, with the second being the timecard bind end date and the last the timecard bind startdate.

QUALIFIER ATTRIBUTE26, 27 and 28: These qualifiers contain values that tell the OTL deposit process how to handle thesealternate name objects. In qualifier attribute26 the OTL ALIAS ITEM1 context is specified which is used to identify the alternatename in the attribute structure - the actual context does not exist.

2.8 LOVs and JRAD/MDS

The Oracle Applications Self-Service framework now uses the MDS dictionary (aka JRAD) to store all definitions for Self Service pagesincluding LOVs. OTL supports custom LOVs, but at the current time there is no applications interface to create LOV objects in theMDS data dictionary (other than using a tool such as JDeveloper to create the regions by hand). Consult the ADF documentationfor a full description of the UI dictoinaries used in the development framework.

In order to allow continue configuration of LOVs using the AK professional forms OTL has provided a migration utility whichwill allow you to migrate definitions from AK to MDS.

This utility is available as a procedure in the package HXC LOV MIGRATION. The definition is:

PROCEDURE migrate lov region(p region code IN AK REGIONS VL.REGION CODE%TYPE DEFAULT NULL,p region app short name IN FND APPLICATION.APPLICATION SHORT NAME%TYPE DEFAULT NULL,p force IN VARCHAR2 DEFAULT NULL);

As you can see, this procedure takes 3 optional parameters. If no parameters are specified then the procedure will attempt tomigrate any LOV definitions created under application code 809 (HXC) that have no previously been migrated (there is also a scriptavailable to perform this initial migration that is run during an upgrade - this can be found at:

$APPL TOP/hxc/11.5/patch/115/sql/hxclovmig.sql).

If you are changing the definition of an LOV and need to migrate it again then you need to call the procedure with the forceparameter set to ’Y’ so that the previous definition will be overwritten. For example, to migrate the LOV with the region codeMY CUSTOM LOV which was created under the Oracle Time and Labor application (HXC/809), and overwriting any definition that waspreviously migrated you would issue the follow call to the procedure.

exec hxc lov migration.migrate lov region(p region code => ’MY CUSTOM LOV’,p region app short name => ’HXC’,p force => ’Y’);

2.8.1 LOV Custom Objects

Beginning with HXT.J Cumulative backports 1, patch 4634379, customizable list of values objects were introduced, facilitating easyaddition or replacement of list of values on the timecard. The BC4J object is called CustomLov1VO, and the custom MDS regionis called CuiCustomLov1RN. The BC4J object references the HXC CUI CUSTOM LOV1 V view, and this view must be present on thedatabase before the list of values will work.

28

Page 29: hxcconfiguiwp

3 Examples of Common Customizations

3.1 Adding a Comment Field to the Timecard Line

The delivered timecard layouts include a details page that has a comment text area field in which the users can enter up to 2000characters, or 240 characters if using Project Accounting as a recipient application, for commentary on the time entry.

Often people don’t want to take the functional performance hit of navigating off to the detail page, waiting for the page to render,click the Apply button on that subsequent page, and then waiting for the timecard page to render again. If the users don’t need toenter Project Accounting additional information, or if those Project Accounting additional information segments have been movedto the timecard matrix: see 3.13, then it can be very useful to move the comment text field onto the timecard matrix.

With release 11i HXT.J Cumulative Backports 1 (4634379) or later, this is now very easy, and simply a matter of adding aTimecardLineComment attribute to the layout, for example, the following component definition in the layout will add a commenttext area on the right hand side of the timecard matrix - i.e. after the Day columns:

############################################################################# Comment Field############################################################################BEGIN HXC LAYOUT COMPONENTS "ELP ChoiceListDff Proj-Pay Timecard Layout - Comment Text Field"OWNER = "ORACLE"SEQUENCE = "250"COMPONENT DEFINITION = "TEXT FIELD"RENDER TYPE = "WEB"PARENT COMPONENT = "ELP ChoiceListDff Proj-Pay Timecard Layout - Day Scope Building blocks for workertimecard matrix"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC CUI TIMECARD COMMENTS"ATTRIBUTE CODE APP SHORT NAME = "HXC"

BEGIN HXC LAYOUT COMP QUALIFIERS "ELP ChoiceListDff Proj-Pay Timecard Layout - Comment Text Field"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "TEXT FIELD"QUALIFIER ATTRIBUTE1 = "N"QUALIFIER ATTRIBUTE2 = "Y"QUALIFIER ATTRIBUTE3 = "50"QUALIFIER ATTRIBUTE4 = "3"QUALIFIER ATTRIBUTE5 = "4500"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|CSV|"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "R"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "TimecardLineComments"QUALIFIER ATTRIBUTE27 = "Attribute1"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

Clearly this is a standard text field attribute, with width 50 characters and height 3 lines. Thus, the users can clearly see 150characters in the text area when the timecard page is rendered, and can enter up to 4500 characters. This is because while this isonly one component the product distributes a TimecardLineComments attribute across all 30 segments of the timecard attribute row.Thus, rather than having just the 150 characters available in attribute1 there are 30 times 150 characters available. This also impliesthat only one TimecardLineComments component per timecard matrix should be configured, as the code will overwrite any values

29

Page 30: hxcconfiguiwp

entered into a separate TimecardLineComments component which is associated e.g. with Attribute2 of this timecard attribute. Withthis component in place, the timecard matrix lines appear, as per figure 3.

Figure 3: Timecard Matrix Line Comment Field

Note: None of the recipient application retrieval processes are configured to receive this data, i.e. comments entered into thisfield are only associated with the timecard, and while stored in the time store, they are not sent to Project Accounting, Payroll,Purchasing, Enterprise Assest Management or Human Resources.

3.2 Adding a Custom Choice List to the Timecard

Using the Configurable timecard, you can add your own custom choice lists-where the list of values is defined outside Oracle Timeand Labor. We support up to ten custom lists. We access these values using a set of named views, which must have two columnspresent, and a choice list component attached to the layout on which the custom choice list is required. The choice list com-ponent can also be used to show custom display-only fields that are populated by a query. This can be done by making thecomponent read-only (ie. QUALIFIER ATTRIBUTE30 = ’Y’) and enabling the ’Always Execute for Read-Only’ functionality(ie. QUALIFIER ATTRIBUTE3 = ’Y’) so that the query for the component wil.l always be executed, even if no value is stored.If multiple rows are returned by the query then only the first will be shown. The views are named: HXC CUI CUSTOMn Vwhere n is a number between 1 and 10. For example, HXC CUI CUSTOM1 V. These views must have at least two columns andthey must be called: ’DISPLAY VALUE’ and ’VALUE’. The column ’DISPLAY VALUE’ contains the values that are shown inthe choice list for the user to select, and consequently should be user-friendly for your user population. The ’VALUE’ columncontains the values that are actually written to the database, and are thus understood by custom code. Once the view is con-structed, you should include a choice list component in the layout of your choice. Set the view object name qualifier to CustomnVO,such as Custom1VO. Set the view object class qualifier to oracle.apps.hxc.selfservice.timecard.server.CustomnVO, such asoracle.apps.hxc.selfservice.timecard.server.Custom1VO. The custom view objects can only be used for situations where youdo not need bind parameters to be present in the query - for other cases you will need to create your own View Object to use for thecomponent.

As an example, let’s assume you want to record which machines a person worked with when submitting their time. The namesand IDs of these machines are stored in a table called ?UR MACHINES. You could create the following OTL custom view:

Create or replace view HXC CUI CUSTOM6 V(DISPLAY VALUE,VALUE)asselect machine name,machine idfrom our machines o

Then you add the following component definition to a layout:

############################################################################# Machine Name choice list on the timecard matrix############################################################################

30

Page 31: hxcconfiguiwp

BEGIN HXC LAYOUT COMPONENTS "Exception Timecard Layout - Machine Name"OWNER = "CUSTOM"COMPONENT VALUE = "MACHINENAME"SEQUENCE = "110"COMPONENT DEFINITION = "CHOICE LIST"RENDER TYPE = "WEB"PARENT COMPONENT ="Exception Timecard Layout - Day Scope Building blocks for worker timecard matrix"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD MACHINE NAME"ATTRIBUTE CODE APP SHORT NAME = "HXC"

BEGIN HXC LAYOUT COMP QUALIFIERS "Exception Timecard Layout - Machine Name"OWNER = "CUSTOM"QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"QUALIFIER ATTRIBUTE1 = "Custom6VO"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE10 = "oracle.apps.hxc.selfservice.timecard.server.Custom6VO"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Machine Name Info Type"QUALIFIER ATTRIBUTE27 = "Attribute1"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

For a prompt to show alongside (or above) the choice list, you would need to customize the AK definition for the timecard pageto add an AK region item called HXC TIMECARD MACHINE NAME, and then the long label would be used as the prompt forthe choice list. You can add AK region items using the AK Professional Forms. Once these two steps are done, the choice list willappear on the timecard. However, you must also create the corresponding OTL Information Types and Mapping components, andadd those mapping components to your deposit process so that the information entered by the user is successfully saved to the timestore. Details on creating mapping components, and adding mapping components to deposit processes can be found in the guideImplementing Oracle Time and Labor.

3.3 Adding a Custom LOV to the Timecard using the Custom LOV Objects

While it is possible to add a custom LOV to the timecard without using shipped configurable BC4J objects - see section 3.4 - thisresults in required customization to delivered code objects, specifically LovAM.xml and TimecardAM.xml. That method of adding acustom LOV to the timecard is desirable if you already have custom BC4J objects that you want to reuse with the timecard - forexample, perhaps there is an informational LOV that the business has included with the Purchasing product, and you wish to havethat same LOV on the timecard. However, if this is a relatively simple LOV, or you are just replacing the seeded LOVs with an LOVcontaining additional columns, then using the configurable LOV and not customizing the application module definitions, *AM.xml, isthe prefered strategy.

There are several steps involved:

1. Create the supporting database view

2. Add the LOV component to the timecard

3. Personalize the LOV region

31

Page 32: hxcconfiguiwp

Comparing these steps to the ones in section 3.4 it is clear it is much easier to use the configurable objects to add an LOV ontothe timecard.

To illustrate the process, we consider a specific example of adding a location field, where the location is determine from the USPayroll city and state tables, as a list of values to the timecard. Now, suppose this is a Project accounting and Payroll timecard, witha specific element called: Field Work, which if chosen the user should pick a location within their home state, but if it is anythingelse, then no location should be selectable (even if the user opens the LOV).

Clearly from the above example, we must have access to the users alternate name definitions - in this case we want to restrictthe list based on a specific hours type. In fact we have received many enhancement requests to provide an object that exposes thealternate name definition to the middle tier such that alias bind values can passed to supporting queries. This is enabled for the BC4Jobjects supporting this LOV, which means the alias definition id is exposed to the middle tier by the BC4J object. So, when writingthe database view, and setting the bind variables in the timecard layout defintion, care must be taken to bind the right alternatename definition in the layout - remember you can specify up to 10 alternate names - and retrieve the right alternate definition inthe view. In our example, consider a user with the alternate name preferences as specified in figure 4. In this case the user has twoalternate names specified, one for the expenditure type list and one for the payroll element (Hours Type) list. From this set up, it isclear this is an Entry Level Processing, ELP, user. In our case we want to change the list based on the hours type chosen, which meanswe must be careful to expose the second of the two alternate names in the view, and pass the second alternate name as the bindvariable. So in the view we reference ’TC W TCRD ALIASES|2|’ to return the second alternate name set as defined in the preferences,and we bind the variable "TIMECARD ALIAS 2" in the qualifier definition. This ensures we are properly specifying the alternate name(alias definition) in both places.

Figure 4: Alternate Name Definition

3.3.1 Create the supporting database view

The database view must expose the alias definition id in the select clause in order to ensure that the appropriate list of values isprovided to the user - in this case the list depends on the hours type chosen, so the configurable LOV BC4J object includes a aliasdefinition id as the bind variable, the query executed for the LOV in the middle tier is:

32

Page 33: hxcconfiguiwp

select lov1column1,lov1column2,lov1column3,lov1column4,lov1column5,lov1column6,lov1column7,lov1column8,lov1column9,lov1column10from hxc cui custom lov1 vwhere aliasdefinitionid = :1

This query has two important consequences:

1. The columns in the view must be aliased to lov1columnN

2. The view definition must include a column called aliasdefinitionid

Thus, the view definition must take form:

create or replace view HXC CUI CUSTOM LOV1 V(lov1column1,lov1column2,lov1column3,lov1column4,lov1column5,lov1column6,lov1column7,lov1column8,lov1column9,lov1column10,aliasdefinitionid)as(SQL Statement)

With the SQL statement forming the configurable part of the view. In our example case, the SQL statement has form:

select distinctcy.city name||’, ’||st.state abbrev "lov1column1",st.state name "lov1column2",cy.city name "lov1column3",st.state code||’-000-’||cy.city code "lov1column4",null "lov1column5",null "lov1column6",null "lov1column7",null "lov1column8",’PAEXPITDFF - ST’ "lov1column9",hav.alias value id "lov1column10",to number(hxc preference evaluation.resource preferences(fnd global.employee id,’TC W TCRD ALIASES|2|’))"aliasdefinitionid"from pay us states st,pay us city names cy,

33

Page 34: hxcconfiguiwp

per assignments asg,hr locations loc,hxc alias values havwhere st.state code <= 51and st.state code = cy.state codeand asg.person id = fnd global.employee idand asg.location id = loc.location idand loc.region 2 = st.state abbrevand hav.alias definition id =to number(hxc preference evaluation.resource preferences(fnd global.employee id,’TC W TCRD ALIASES|2|’))and hav.alias value name = ’Field Work’

While it is somewhat out of the scope of this section to discuss the SQL statement, it does highlight some typical configurationoptions. The use of FND GLOBAL functions to return person context into the view is key, as there is no mechanism within the customLOV BC4J objects to pass the person id as context. There are several functions available on the FND GLOBAL package, and all can beused to provide context to server-side SQL statements.

In the fourth column of the custom LOV, lov1column4 we have created our own key for this field - in this case a jurisdictioncode, which is artificial here because it excludes the county component, but for demonstration purposes will suffice. This is the valuethat will actually be stored in the time store, and available to recipient applications.

Also note, the resource preference call, which is used to determine the alias definition id used within the LOV. Only two parametersare passed, the first the person id is self explanatory, but the second, the string: TC W TCRD ALIASES|2| requires some explanation.In this case we are asking for the alias definition id of the second alternate name associated with the person as of SYSDATE - this isimportant because in our example case the layout used has two alternate name sets, one for expenditure type and one for hours type- and recall it is the hours type value that we want passed into the LOV to limit the users’ choices.

The location field in this case forms part of the Project Accounting descriptive flexfield structure, and as such we need not onlyto set the value of the location the user picks, but also the attribute category for that descriptive flexfield structure. In this case, itdoesn’t matter what value of location is chosen by the user, they are all associated with the ’ST’ attribute category, i.e. since this isfirst deposited in the OTL Time Store, we use the special prefix PAEXPITDFF - to identify this attribute as such. The fixed valuein lov1column9 is used as a return item from the LOV - see next section - to populate this attribute category properly. For moredetails on this style of configuration see section 3.13.

Lastly, we supply the alias value id in lov1column10 such that we can provide the alias value id chosen by the user in the hourstype choice list as a criterion for this LOV, i.e. if the user does not choose the alias value Field Work, then no choices will be available,which was our functional requirement.

3.3.2 Add the LOV component to the timecard

The custom LOV is added to the timecard layouts to ensure it is rendered for the user. This means we add the following componentto the layout definition:

BEGIN HXC LAYOUT COMPONENTS "ELP ChoiceListDff Proj-Pay Timecard Layout - Location"OWNER = "ORACLE"COMPONENT VALUE = "LOCATION"SEQUENCE = "260"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT = "ELP ChoiceListDff Proj-Pay Timecard Layout - Day Scope Building blocks for workertimecard matrix"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD LOCATION"ATTRIBUTE CODE APP SHORT NAME = "HXC"

34

Page 35: hxcconfiguiwp

BEGIN HXC LAYOUT COMP QUALIFIERS "ELP ChoiceListDff Proj-Pay Timecard Layout - Location"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "CustomLov1VO"QUALIFIER ATTRIBUTE2 = "Y"QUALIFIER ATTRIBUTE3 = "/oracle/apps/hxc/selfservice/configui/webui/CuiCustomLov1RN"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "12"QUALIFIER ATTRIBUTE6 = "Lov1column1|LOC-DISPLAY|CRITERIA|N|Lov1column10|HOURSTYPE|PASSIVE CRITERIA|Y|Lov1column4|LOC|RESULT|N|Lov1column1|LOC-DISPLAY|RESULT|N|Lov1column9|PADFFAC|RESULT|N"QUALIFIER ATTRIBUTE7 = "PADFFAC|Lov1column9"QUALIFIER ATTRIBUTE8 = "Lov1column1"QUALIFIER ATTRIBUTE9 = "Lov1column4"QUALIFIER ATTRIBUTE10 = "oracle.apps.hxc.selfservice.timecard.server.CustomLov1VO"QUALIFIER ATTRIBUTE11 = "TIMECARD ALIAS 2"QUALIFIER ATTRIBUTE14 = "Lov1column9|HOURSTYPE|Y#Lov1column1|LOC-DISPLAY|Y"QUALIFIER ATTRIBUTE15 = "Lov1column9 = ::Lov1column9#upper(Lov1column1) like upper(’%’||::Lov1column1||’%’)"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "R"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Paexpitdff Context"QUALIFIER ATTRIBUTE27 = "Attribute1"QUALIFIER ATTRIBUTE28 = "LOC"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

Consider the component definition above:

• The text ELP ChoiceListDff Proj-Pay Timecard Layout - Location corresponds to the component name.

• The component in this case is owned by ORACLE which identifies it as a seeded component. In a configuration file, this can beanything, but something other than Oracle should be used for custom layouts.

• In this case, the component value, of LOCATION isn’t used in the code anywhere, but represents a good label.

• The sequence corresponds to a unique number within the layout definition and tells the configurable UI code where to situatethe field with respect to the other fields defined in the layout.

• The component definition, LOV, is self-explanatory - this is a list of values style field.

• In this case render type means that we should show this component when the user accesses the timecard via a web browser.

• The parent component is the reference back to the timecard day matrix - i.e. this field is a child of the main table entry tableand thus should be shown inside that table.

• The next four data entries tell the code where to locate the label for the field, in this case it is the AK attribute calledHXC TIMECARD LOCATION within the HXC CUI TIMECARD region - and we should add this AK attribute via the AK forms toensure the label is shown on the timecard page.

• The next section of the component definition correspond to the component qualifiers - this is data which modifies the defaultcomponent behavior, and is necessary for a List of Values component. The items in bold above must be set this way whenusing the configurable LOV objects. They define the BC4J object, and the corresponding MDS region definition to use withthe list of values.

35

Page 36: hxcconfiguiwp

• QUALIFIER ATTRIBUTE2 is used to turn middle tier caching on an off for the SQL statement associated with the list of values.When testing it is a very good idea to set this to N such that you do not need to bounce the apache server repeatedly whiletesting your configuration. Once the configuration is fixed, and as long as for the same set of bind variables the same resultswill be shown, as is the case here, then the cache should be enabled for performance purposes. If this were a dynamic list, withlots of changes occurring, then the cache should remain disabled.

• QUALIFIER ATTRIBUTE5 specifies the display size of the field, in this case, 12 characters. The locations in the examples aresomewhat larger than this, but to save horizontal scrolling on the time entry page we reduce this value to a minimum.

• QUALIFIER ATTRIBUTE6 is discussed in much greater detail in later sections of this document, essentially this data controls thecriteria and results for the list of values. The value shown above indicates that the hours type value is a required criterion andthat any data in the location field itself should also be used to filter the results. It also indicates that the location field andlocation display field should be given the values from lov1column4 (our key value which will be stored) and lov1column1 (ourdisplay value), respectively. It also indicates that the fixed text in lov1column9 should be placed into the PADFFAC labeled field- which in this case is a hidden field storing the attribute category.

• QUALIFIER ATTRIBUTE7 indicates any additional result columns. This is used in conjunction with qualifier attribute6, and isused if the user simply types in a value to the location display value and hits Continue or Save without recourse to the LOV.It ensures that when the update code executes it understands that the value for the attribute category field must be populatedfrom the query corresponding to this component.

• QUALIFIER ATTRIBUTE8 and QUALIFIER ATTRIBUTE9 indicate the id (key) and display attributes, and these are set to theappropriate columns, as previously discussed.

• QUALIFIER ATTRIBUTE11 holds the bind values to pass to the query on execution - these are bind parameters to the query inaddition to the LOV criteria. When using the configurable LOV objects qualifier attribute11 must correspond to the bindvariable for the alternate name definition retrieved in the underlying view - i.e. in this case alternate name definition 2 (anynumber between 1 and 10) can be used.

• QUALIFIER ATTRIBUTE14 and QUALIFIER ATTRIBUTE15 indicate the where clause that should be used when the user entersvalues and then clicks on the LOV flashlight icon. In this case, the alias value id from the hours type field must equal thevalue in lov1column9, and the value entered as search reduction criteria should be like the value in the display column - thusas configured this is a case insensitive criteria which will match any partial value in the display column. I.e. if the user enters’GTON sq’, i.e. will match a value ’Washington Square’ in the list of values.

The rest of the qualifier attributes are the usual set for all layout components indicating where the field should appear, inside oroutside the days in the matrix, to the left or right of that matrix, and where the value should be stored - in this case attribute1 ofthe Project Accounting additional descriptive flexfield. Once that layout is uploaded, and the right hours type value is chosen in thehours type list - if the user opens the location LOV the LOV appears as per figure 5.

Obviously while it is good that the LOV works, the generic column names and system data which appears is confusing for theuser.

3.3.3 Personalize the LOV region

Use of the standard OAF personalization resolves the problem of the generic column names, and additional information showing tothe user. Care should be taken when creating the personalization to ensure it is done at the appropriate level - for example, if severaldifferent custom LOVs will be used on differing layouts for differing employee populations, obviously a personalization at site-levelwould be inappropriate. Using personalization we can hide the columns the user does not need to see (all but the display column),and rename that, such that when opened, the LOV now appears:

and thus a fully functional configurable LOV is added to the timecard with the minimum of customization - a SQL statement,and a configuration via a timecard layout file.

36

Page 37: hxcconfiguiwp

Figure 5: Custom LOV Showing Locations

3.4 Adding a Custom LOV to the Timecard without using the Custom LOV Objects

Creating a list of values (LOV) involves the following steps:

1. Create the View Object for the LOV

2. Create AK attributes used for the LOV screen

3. Create an AK region for rendering the LOV screen

4. Create AK region items inside the AK region for the LOV page

5. Run the migration script to copy the LOV definition from AK to the MDS repository

6. Modify a layout to include the LOV component

7. Include the new LOV View Object into your Apache/JServ environment

To further illustrate this process we will use a specific example and show the steps required to implement this example in atimecard layout. Scenario: Include a LOV on the timecard that allows the user to select from a list of people visible from theirsecurity profile. The user should be able to search on criteria such as full name, last name, date of birth, employee number, and thebusiness group of the person. Additionally, the Business Group ID of the person must be returned to a hidden field already definedon the screen with the alias of BUSINESSGROUP.

3.4.1 Create the View Object for the LOV

The query used for the view object should select all the columns that you would like to see shown in the LOV page. In addition thequery should select any other columns that you wish to restrict the query by or save as an attribute on the timecard. Initial step isto define the query according to your requirements, so for our example:

37

Page 38: hxcconfiguiwp

Figure 6: Custom LOV Showing Locations after personalization

select pers.person id,pers.full name,pers.last name,pers.date of birth,pers.employee number,bg.business group id,bg.name business group namefrom per people f pers,per business groups bgwhere pers.business group id = bg.business group id

Next, you need to decide the class and view usage name for your VO. In this example:Class Name: my.custom.server.CustomPersonVO View Usage Name: CustomPersonVO

3.4.2 Create AK attributes used for the LOV screen

Use the Define Attributes window, which is available from the professional forms AK Developer responsibility. Define attributes foreach of the items that you need to show on the LOV page. Complete the following fields: Attribute ID, Attribute Name, Application,Data Type, Value Length, Style and Label. Leave the other fields blank or at their default value.

So for our example, you would need to create attributes for the following fields:

person idfull namelast namedate of birthemployee number

38

Page 39: hxcconfiguiwp

business group idbusiness group name

Specifically:

Attribute ID: CUSTOM PERSON IDAttribute Name: My Custom LOV - Person IDApplication: Oracle Time and LaborData type: NumberValue Length: 15Style: TextLabel: Person ID

Attribute ID: CUSTOM FULL NAMEAttribute Name: My Custom LOV - Full NameApplication: Oracle Time and LaborData type: Varchar2Value Length: 240Style: TextLabel: Full Name

Attribute ID: CUSTOM LAST NAMEAttribute Name: My Custom LOV - Last NameApplication: Oracle Time and LaborData type: Varchar2Value Length: 40Style: TextLabel: Last Name

Attribute ID: CUSTOM DATE OF BIRTHAttribute Name: My Custom LOV - Date of BirthApplication: Oracle Time and LaborData type: DateValue Length: 1Style: TextLabel: Date of Birth

Attribute ID: CUSTOM EMPLOYEE NUMBERAttribute Name: My Custom LOV - Employee NumberApplication: Oracle Time and LaborData type: Varchar2Value Length: 30Style: TextLabel: Employee Number

Attribute ID: CUSTOM BUSINESS GROUP IDAttribute Name: My Custom LOV - Business Group IDApplication: Oracle Time and LaborData type: NumberValue Length: 15Style: TextLabel: Business Group ID

39

Page 40: hxcconfiguiwp

Attribute ID: CUSTOM BUSINESS GROUP NAMEAttribute Name: My Custom LOV - Business Group NameApplication: Oracle Time and LaborData type: Varchar2Value Length: 60Style: TextLabel: Business Group Name

3.4.3 Create an AK region for rendering the LOV screen

Region ID: MY CUSTOM LOVRegion Name: My custom LOVApplication Name: Oracle Time and LaborObject Name: ICX PROMPTSRegion Style: List of ValuesApplication Module Definition Name: oracle.apps.hxc.selfservice.timecard.server.TimecardAMDisplay Rows: 10 (or however many rows you want displayed in the LOV)Controller Object Type: oracle.apps.hxc.selfservice.configui.webui.LovCOAdd Indexed Children: (checked)

Leave all other fields blank or to their default value. Save the record.

3.4.4 Create AK region items inside the AK region for the LOV page

Next you need to create region items for each of the things you want to show on the LOV. Using the AK Regions window, query theregion that you created in the previous step, and with that row selected, click on the Region Items button. Complete the followingfields: Attribute Type, Application, Attribute Name, Sequence, Node Display, Queryable, View Usage Name, View Attribute Name.In addition, make a note of the value for Item Name - this will be auto-generated from the attribute code and you do not need tochange it, but you need to know it for when you create the LOV component definition.

So for our example, you would create the following region items inside the LOV region.

Attribute Type: AttributeApplication: Oracle Time and LaborAttribute Name: My Custom LOV - Person IDSequence: 10Node Display: CheckedQueryable: CheckedItem Name: CustomPersonIdView Usage Name: CustomPersonVOView Attribute Name: PersonId

Attribute Type: AttributeApplication: Oracle Time and LaborAttribute Name: My Custom LOV - Full NameSequence: 20Node Display: CheckedQueryable: CheckedItem Name: CustomFullNameView Usage Name: CustomPersonVOView Attribute Name: FullName

Attribute Type: Attribute

40

Page 41: hxcconfiguiwp

Application: Oracle Time and LaborAttribute Name: My Custom LOV - Last NameSequence: 30Node Display: CheckedQueryable: CheckedItem Name: CustomLastNameView Usage Name: CustomPersonVOView Attribute Name: LastName

Attribute Type: AttributeApplication: Oracle Time and LaborAttribute Name: My Custom LOV - Date of BirthSequence: 40Node Display: CheckedQueryable: CheckedItem Name: CustomDateOfBirthView Usage Name: CustomPersonVOView Attribute Name: DateOfBirth

Attribute Type: AttributeApplication: Oracle Time and LaborAttribute Name: My Custom LOV - Employee NumberSequence: 50Node Display: CheckedQueryable: CheckedItem Name: CustomEmployeeNumberView Usage Name: CustomPersonVOView Attribute Name: EmployeeNumber

Attribute Type: AttributeApplication: Oracle Time and LaborAttribute Name: My Custom LOV - Business Group IDSequence: 60Node Display: CheckedQueryable: CheckedItem Name: CustomBusinessGroupIdView Usage Name: CustomPersonVOView Attribute Name: BusinessGroupId

Attribute Type: AttributeApplication: Oracle Time and LaborAttribute Name: My Custom LOV - Business Group NameSequence: 70Node Display: CheckedQueryable: CheckedItem Name: CustomBusinessGroupNameView Usage Name: CustomPersonVOView Attribute Name: BusinessGroupName

41

Page 42: hxcconfiguiwp

3.4.5 Run the migration script to copy the LOV definition from AK to the MDS repository

3.4.6 Modify a layout to include the LOV component

For our example, the component definition is:-

######################################################################### My Custom Person LOV ########################################################################BEGIN HXC LAYOUT COMPONENTS "My Custom Layout - Custom Person LOV"OWNER = "CUSTOM"COMPONENT VALUE = "CUSTOMPERSON"SEQUENCE = "140"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="My Custom Layout - Day Scope Building blocks for worker timecard matrix"REGION CODE = "MY CUSTOM AK PROMPT REGION"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "MY CUSTOM PERSON PROMPT"ATTRIBUTE CODE APP SHORT NAME = "HXC"

BEGIN HXC LAYOUT COMP QUALIFIERS "My Custom Layout - Custom Person LOV"OWNER = "CUSTOM"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "CustomPersonVO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "MY CUSTOM LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "12" # display widthQUALIFIER ATTRIBUTE6 = "CustomFullName|CUSTOMPERSON-DISPLAY|CRITERIA|N|CustomPersonId|CUSTOMPERSON|RESULT|N|CustomFullName|CUSTOMPERSON-DISPLAY|RESULT|N|CustomBusinessGroupId|BUSINESSGROUP|RESULT|N"QUALIFIER ATTRIBUTE7 = "BUSINESSGROUP|CustomBusinessGroupId"QUALIFIER ATTRIBUTE8 = "CustomFullName"QUALIFIER ATTRIBUTE9 = "CustomPersonId"QUALIFIER ATTRIBUTE10 = "my.custom.server.CustomPersonVO"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "MYFLEX"QUALIFIER ATTRIBUTE27 = "Attribute1"QUALIFIER ATTRIBUTE28 = "CUSTOMPERSON"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

Note: If you wish to also show the new LOV field on the review and confirmation layouts you will need to modify them toinclude the component as well. The easiest way to accomplish this is to copy the component definition over from the timecard layout,changing the component name, parent component name and qualifier name. Then you just need to modify the copied definition tomake it render as a read only text field–this is done by adding a value of ’Y’ for qualifier attribute30:

QUALIFIER ATTRIBUTE30 = ’Y’

42

Page 43: hxcconfiguiwp

3.4.7 Include the new LOV View Object into your Apache/Jserv environment

First of all you need to compile any Java code that was generated when you created your View Objects. Typically you will have aVOImpl.java file, but there are others you can choose to create when you generate your VO. Once you have the class files you willneed to get these and the xml file to your apache/JServ environment. The easiest way to do this is to create a directory and thenprefix this to your JServ classpath. Note: In the directory you will need to maintain the full structure of the package you used tocreate your VO. For our example, the files are in the package ’my.custom.server’. So in the directory you add to your classpath youshould have the following structure/files (assuming ’custom’ is the name of your directory):

custom/my <directory>custom/my/custom/ <directory>custom/my/custom/server/ <directory>custom/my/custom/server/CustomPersonVO.xmlcustom/my/custom/server/CustomPersonVOImpl.class

After altering the JServ classpath to include your directory you should bounce Apache/JServ for the changes to take effect. Thefinal task needed to implement your new LOV is to compile your modified layout against the database, and if necessary assign it tothe relevant users via the preference screen.

3.5 Changing the title of the timecard page

The default title for the timecard entry page is:

Time Entry: @RI NAME, @RA NUMBER

Where RI NAME is the token for the name of the employee entering time and RA NUMBER is their employee number.To change the title modify the text associated with prompt HXC TIMECARD HEADER TITLE, within the AK HXC CUI TIMECARD

region. Alternatively, you can create a new prompt and then alter the layout definition to use that prompt instead of the deliveredone.

So, for example, lets change the title to say Timecard for Employee, where Employee is the name of the employee.Go to Application Developer Common Modules ¿ AK regions form, query for HXC CUI TIMECARD, highlight the correct row (if

you have more than one result from doing a partial match), and then press the ’Region Items’ button at the bottom of the form. Inthe region items form, query on the Attribute ’Timecard Header Title’ (you can look up the attribute names based on the attributecode by searching in the ’Seeded Prompts’ section. Refer Table 31: Timecard region seeded prompts) and then change the ’AttributeLong Label’ text for the item to:

Timecard for @RI NAME

3.6 Changing the label for a column in the Timecard

Changing any label in OTL can be done by editing the text for the label in the professional AK form. To identify the attribute namewhich you need to change there are two methods. Firstly, you can search for the text of the prompt in the reference section of thisdocument to find the name of the attribute. The second method, if the correct label cannot be found, or there are multiple choicesas to which it may be is the inspect the layout file.

Prompts can be attached to components in two ways - to best illustrate these two methods lets take a look at a couple of examplesusing the inter-period navigation control on the Projects timecard layout.

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Inter Period Nav Control"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD PERIOD LABEL"ATTRIBUTE CODE APP SHORT NAME = "HXC"

43

Page 44: hxcconfiguiwp

SEQUENCE = "100"COMPONENT DEFINITION = "INTER PERIOD NAV CONTROL"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Header Field Table Layout Component"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP PROMPTS "PERIOD GO LABEL" "AK PROMPT"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD PERIOD GO LABEL"ATTRIBUTE APP SHORT NAME = "HXC"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP PROMPTS

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Inter Period Nav Control"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "INTER PERIOD NAV CONTROL"QUALIFIER ATTRIBUTE1 = "N"QUALIFIER ATTRIBUTE16 = "1"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|TEMPLATE|CSV|"QUALIFIER ATTRIBUTE20 = "N"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

First of all, prompts can be directly attached to the component - this method is used when for example the prompt is associateddirectly with the component (eg. The label for a text field). This is the case for the inter-period navigation control - the prompt isset using attributes directly on the component itself:

REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD PERIOD LABEL"ATTRIBUTE CODE APP SHORT NAME = "HXC"

Here you can see the prompt for the component is referring to the attribute HXC TIMECARD PERIOD LABEL in the regionHXC CUI TIMECARD. The second way of attaching a prompt onto a component is used when the prompt is not directly associatedwith the component in question, or when more than one label needs to be attached. In the case of the inter-period navigation controlwe need a secondary label to use as the text for the ’Go’ button. This label is defined as a different entity attached to the component:

BEGIN HXC LAYOUT COMP PROMPTS "PERIOD GO LABEL" "AK PROMPT"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD PERIOD GO LABEL"ATTRIBUTE APP SHORT NAME = "HXC"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP PROMPTS

The label is referring to the attribute HXC TIMECARD PERIOD GO LABEL in the region HXC CUI TIMECARD. You willnote the key for the prompt entity is ’PERIOD GO LABEL’ - this value should not be changed. It is used internally by the component

44

Page 45: hxcconfiguiwp

to find the reference to the label (so we do not need to hardcode a message name), and also allows prompts to be reused on the layoutso they do not have to be queried multiple times. Once you have located the label using either of these methods, you can simply editthe text via the AK professional forms to the text you would like.

3.7 Adding a Component to the Timecard Header

Adding a component to the header section of the timecard is simply a case of creating your component, and adding it to the layoutas a child of the header table. To illustrate this example, let’s use the header section for the Projects timecard:

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Header Table Layout Component"OWNER = "ORACLE"SEQUENCE = "70"COMPONENT DEFINITION = "TABLE LAYOUT"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Top Level Building Block"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Header Table Layout Component"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "TABLE LAYOUT"QUALIFIER ATTRIBUTE1 = "2"QUALIFIER ATTRIBUTE3 = "2"QUALIFIER ATTRIBUTE16 = "1"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|CSV|"QUALIFIER ATTRIBUTE20 = "Y"QUALIFIER ATTRIBUTE21 = "Y"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Header Field Table Layout Component"OWNER = "ORACLE"SEQUENCE = "80"COMPONENT DEFINITION = "TABLE LAYOUT"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Header Table Layout Component"ATTRIBUTE1 = "TOP"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Header Field Table Layout Component"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "TABLE LAYOUT"QUALIFIER ATTRIBUTE1 = "2"QUALIFIER ATTRIBUTE3 = "2"QUALIFIER ATTRIBUTE16 = "1"

45

Page 46: hxcconfiguiwp

QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|CSV|"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "N"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTSBEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Inter Period Nav Control Label"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD PERIOD LABEL"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "90"COMPONENT DEFINITION = "DISPLAY LABEL"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Header Field Table Layout Component"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Inter Period Nav Control Label"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "DISPLAY LABEL"QUALIFIER ATTRIBUTE17 = "OraPromptText"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|TEMPLATE|CSV|"QUALIFIER ATTRIBUTE20 = "N"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Inter Period Nav Control"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD PERIOD LABEL"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "100"COMPONENT DEFINITION = "INTER PERIOD NAV CONTROL"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Header Field Table Layout Component"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP PROMPTS "PERIOD GO LABEL" "AK PROMPT"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION APP SHORT NAME = "HXC"

46

Page 47: hxcconfiguiwp

ATTRIBUTE CODE = "HXC TIMECARD PERIOD GO LABEL"ATTRIBUTE APP SHORT NAME = "HXC"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP PROMPTS

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Inter Period Nav Control"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "INTER PERIOD NAV CONTROL"QUALIFIER ATTRIBUTE1 = "N"QUALIFIER ATTRIBUTE16 = "1"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|TEMPLATE|CSV|"QUALIFIER ATTRIBUTE20 = "N"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Override Approver Label"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC CUI TIMECARD APPR OVERRIDE"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "110"COMPONENT DEFINITION = "DISPLAY LABEL"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Header Field Table Layout Component"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Override Approver Label"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "DISPLAY LABEL"QUALIFIER ATTRIBUTE17 = "OraPromptText"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|CSV|"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE25 = "CUI"QUALIFIER ATTRIBUTE26 = "COMPONENT PROPERTY"QUALIFIER ATTRIBUTE27 = "TIMECARD SHOW OVERRIDE APPROVER"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Override Approver"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"

47

Page 48: hxcconfiguiwp

REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC CUI TIMECARD APPR OVERRIDE"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "120"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Header Field Table Layout Component"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Override Approver"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "ApproverOverrideLOVVO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "HXC CUI OVERRIDE APPROVER LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "30"QUALIFIER ATTRIBUTE6 ="HxcCuiOvraprApproverName|OVERRIDE APPROVER-DISPLAY|CRITERIA|N|HxcCuiOvraprPersonId|OVERRIDE APPROVER|RESULT|N|HxcCuiOvraprApproverName|OVERRIDE APPROVER-DISPLAY|RESULT|N"QUALIFIER ATTRIBUTE8 = "ApproverName"QUALIFIER ATTRIBUTE9 = "PersonId#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.ApproverOverrideLOVVO"QUALIFIER ATTRIBUTE17 = "NONE"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "APPROVAL"QUALIFIER ATTRIBUTE27 = "Attribute10"QUALIFIER ATTRIBUTE28 = "OVERRIDE APPROVER"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Comments Field"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC CUI TIMECARD COMMENTS"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "130"COMPONENT DEFINITION = "TEXT FIELD"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Header Table Layout Component"ATTRIBUTE1 = "TOP"

48

Page 49: hxcconfiguiwp

LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Comments Field"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "TEXT FIELD"QUALIFIER ATTRIBUTE1 = "Y"QUALIFIER ATTRIBUTE2 = "Y"QUALIFIER ATTRIBUTE3 = "30"QUALIFIER ATTRIBUTE4 = "3"QUALIFIER ATTRIBUTE5 = "2000"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "N"QUALIFIER ATTRIBUTE25 = "TIME BUILDING BLOCK ATTRIBUTE"QUALIFIER ATTRIBUTE27 = "CommentText"QUALIFIER ATTRIBUTE28 = "Comments"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Template Label"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD TEMPLATE LABEL"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "140"COMPONENT DEFINITION = "DISPLAY LABEL"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Header Field Table Layout Component"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Template Label"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "DISPLAY LABEL"QUALIFIER ATTRIBUTE17 = "OraPromptText"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|TEMPLATE|CSV|"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE25 = "CUI"QUALIFIER ATTRIBUTE26 = "COMPONENT PROPERTY"QUALIFIER ATTRIBUTE27 = "TIMECARD TEMPLATE FUNCTIONALITY"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS

49

Page 50: hxcconfiguiwp

"Projects Timecard Layout - Template Control"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD TEMPLATE LABEL"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "150"COMPONENT DEFINITION = "TEMPLATE CONTROL"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Header Field Table Layout Component"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP PROMPTS "TEMPLATE SUBMIT BUTTON" "AK PROMPT"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD TEMPLATE SUBMIT"ATTRIBUTE APP SHORT NAME = "HXC"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP PROMPTS

BEGIN HXC LAYOUT COMP PROMPTS "TEMPLATE OVERWRITE LABEL" "AK PROMPT"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD TEMPLATE OW LABEL"ATTRIBUTE APP SHORT NAME = "HXC"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP PROMPTS

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Template Control"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "TEMPLATE CONTROL"QUALIFIER ATTRIBUTE1 = "N"QUALIFIER ATTRIBUTE16 = "2"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|TEMPLATE|CSV|"QUALIFIER ATTRIBUTE20 = "N"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

This header section renders a two-column layout - with the inter-period navigation control, template control, and override approvercontrol on the left, and the comments field on the right. Furthermore, the left side of this layout has a nested table to align the fieldsto the left of each other, rather than having them placed directly after their field label. So for our example, let’s add our component tothe left side of this two-column layout, and place it between the inter-period navigation control and the override approver component.To maintain the same appearance as exists already in the header field, this means we need to split the component into the label,and the rest of the component. Ok, so now on to defining our component. For our example, let’s say we want to show a read-onlyfield in the header that will display the users ’payroll code’ which is retrieved from a PL/SQL function call. Our example payrollcode function takes the parameter of the resource id and returns the code to be displayed. The function resides in the package

50

Page 51: hxcconfiguiwp

MY CUSTOM PACKAGE and has the following specification:

FUNCTION get payroll code(p resource id NUMBER)RETURN VARCHAR2;

Since we need to show a value based on a PL/SQL call, we can use the Package Choice List component. Normally this would beused to show an modifiable choice list on the page, but by setting it to be read-only it will only render a single value which is whatwe need. We also need to set qualifier attribute6 for the component since there will be no ’id’ value stored for the field since it is justreturned based on the employee id of the person entering time - the function used by the package choice list does need to return anid value, but it does not matter what the value is - we can just specify a dummy value.

So our current tasks for this implementation are:

• Create AK data for the component prompt

• Create wrapper PL/SQL function to call the payroll code function and return it in the format needed for the package choicelist

• Create the component to show the label for our custom field and add it to the layout

• Create the component to show the read-only function result and add it to the layout

3.7.1 Create AK data for the component prompt

Lets assume the following details are used for the prompt:

Region: MY CUSTOM TIMECARDApplication: Time and Labor EngineAttribute Code: CUSTOM TIMECARD PROMPTAttribute Long Label: Payroll Code

3.7.2 Create wrapper PL/SQL function to call the payroll code function and return it in the format needed forthe package choice list

Since the interface required for the package choice list is slightly different to the one we need to use, and also to allow for additionalcoding if needed, lets create a wrapper function which will call it and return the code in the correct format. Lets assume we createthis function in the package MY CUSTOM CODE

FUNCTION get display payroll code(p resource id IN VARCHAR2)RETURN VARCHAR2IS--l payroll code varchar2(60);--BEGIN---- call the payroll code function, making sure to convert the-- resource id to a number as needed by that interface.--l payroll code :=my custom package.get payroll code(to number(p resource id));

51

Page 52: hxcconfiguiwp

---- now return the result in the correct format just using a dummy-- id--RETURN ’1’ || l payroll code;END get display payroll code;

3.7.3 Create the component to show the label for our custom field and add it to the layout

So first of all, lets consider what sequence we will need to use for our component. Since we want to place it between the inter-periodnavigation control and the template control we can see the sequence of those two components is 100 and 110 respectively. To addour new component will need two new items added inbetween these numbers, so lets set our new label component to 104 and thefield to 105.

Using one of the existing labels in the timecard header as a basis, we make the following changes:

BEGIN HXC LAYOUT COMPONENTS "Custom Field - Payroll code label"REGION CODE = "MY CUSTOM TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "CUSTOM TIMECARD PROMPT"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "104"COMPONENT DEFINITION = "DISPLAY LABEL"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Header Field Table Layout Component"

BEGIN HXC LAYOUT COMP QUALIFIERS"Custom Field - Payroll code label"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "DISPLAY LABEL"QUALIFIER ATTRIBUTE17 = "OraPromptText"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|TEMPLATE|CSV|"QUALIFIER ATTRIBUTE20 = "N"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

You can see changes to the component name and qualifier name here, updates to the region and attribute code to point to thenew prompt we created earlier, and the sequence set to the number we decided on.

3.7.4 Create the component to show the read-only function result and add it to the layout

BEGIN HXC LAYOUT COMPONENTS "Custom Field - Payroll Code"OWNER = "ORACLE"SEQUENCE = "105"COMPONENT DEFINITION = "PACKAGE CHOICE LIST"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Header Field Table Layout Component"LAST UPDATE DATE = "2004/05/23"

BEGIN HXC LAYOUT COMP QUALIFIERS "Custom Field - Payroll Code"OWNER = "ORACLE"

52

Page 53: hxcconfiguiwp

QUALIFIER ATTRIBUTE CATEGORY = "PACKAGE CHOICE LIST"QUALIFIER ATTRIBUTE1 = "MY CUSTOM CODE.get display payroll code"QUALIFIER ATTRIBUTE2 = "@RESOURCE IDENTIFIER ID"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE30 = "Y"LAST UPDATE DATE = "2004/05/23"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

3.8 Adding a Component to the Timecard Matrix

The part of the layout that renders the timecard matrix for the Projects Timecard layout can be seen below:

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"OWNER = "ORACLE"SEQUENCE = "180"COMPONENT DEFINITION = "TIME BUILDING BLOCK"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Top Level Building Block"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP PROMPTS "TOTAL LABEL" "AK PROMPT"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC CUI TOTAL LABEL"ATTRIBUTE APP SHORT NAME = "HXC"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP PROMPTS

BEGIN HXC LAYOUT COMP PROMPTS "CALCULATE LABEL" "AK PROMPT"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC CUI CALCULATE"ATTRIBUTE APP SHORT NAME = "HXC"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP PROMPTS

BEGIN HXC LAYOUT COMP PROMPTS "ADD ANOTHER ROW LABEL" "AK PROMPT"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC CUI ADD ANOTHER ROW"ATTRIBUTE APP SHORT NAME = "HXC"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP PROMPTS

53

Page 54: hxcconfiguiwp

BEGIN HXC LAYOUT COMP PROMPTS "VERTICAL TOTAL LABEL" "AK PROMPT"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC CUI VERTICAL TOTAL LABEL"ATTRIBUTE APP SHORT NAME = "HXC"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP PROMPTS

BEGIN HXC LAYOUT COMP PROMPTS "HORIZONTAL TOTAL LABEL" "AK PROMPT"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC CUI HORIZONTAL TOTAL LABEL"ATTRIBUTE APP SHORT NAME = "HXC"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP PROMPTS

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "TIME BUILDING BLOCK"QUALIFIER ATTRIBUTE1 = "V"QUALIFIER ATTRIBUTE2 = "D"QUALIFIER ATTRIBUTE3 = "D"QUALIFIER ATTRIBUTE4 = "5"QUALIFIER ATTRIBUTE5 = "Y"QUALIFIER ATTRIBUTE6 = "Y"QUALIFIER ATTRIBUTE7 = "Y"QUALIFIER ATTRIBUTE8 = "Y"QUALIFIER ATTRIBUTE9 = "Y"QUALIFIER ATTRIBUTE10 = "RIGHT"QUALIFIER ATTRIBUTE16 = "1"QUALIFIER ATTRIBUTE20 = "Y"QUALIFIER ATTRIBUTE25 = "TIME BUILDING BLOCK"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout - Measure"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD QUANTITY"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "190"COMPONENT DEFINITION = "TEXT FIELD"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"

54

Page 55: hxcconfiguiwp

LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Measure"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "TEXT FIELD"QUALIFIER ATTRIBUTE1 = "N"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "5"QUALIFIER ATTRIBUTE4 = "1"QUALIFIER ATTRIBUTE6 = "OraTableCellNumberBand"QUALIFIER ATTRIBUTE7 = "OraTableCellNumber"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "N"QUALIFIER ATTRIBUTE25 = "TIME BUILDING BLOCK ATTRIBUTE"QUALIFIER ATTRIBUTE27 = "Measure"QUALIFIER ATTRIBUTE28 = "Measure"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - System Linkage Function"OWNER = "ORACLE"COMPONENT VALUE = "SYSTEMLINKAGEFUNCTION"SEQUENCE = "200"COMPONENT DEFINITION = "HIDDEN FIELD"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - System Linkage Function"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "HIDDEN FIELD"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|CSV|"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE23 = "FORM"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "PROJECTS"QUALIFIER ATTRIBUTE27 = "Attribute5"QUALIFIER ATTRIBUTE28 = "SYSLINKFUNC"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout - Project"

55

Page 56: hxcconfiguiwp

OWNER = "ORACLE"COMPONENT VALUE = "PROJECT"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD PROJECT"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "210"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Project"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "ProjectLOVVO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "HXC CUI PROJECT LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "12"QUALIFIER ATTRIBUTE6 ="HxcCuiProjectNumber|PROJECT-DISPLAY|CRITERIA|N|HxcCuiProjectId|PROJECT|RESULT|N|HxcCuiProjectNumber|PROJECT-DISPLAY|RESULT|N"QUALIFIER ATTRIBUTE8 = "ProjectNumber"QUALIFIER ATTRIBUTE9 = "ProjectId#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.ProjectLOVVO"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "PROJECTS"QUALIFIER ATTRIBUTE27 = "Attribute1"QUALIFIER ATTRIBUTE28 = "PROJECT"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout - Task"OWNER = "ORACLE"COMPONENT VALUE = "TASK"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD TASK"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "220"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"

56

Page 57: hxcconfiguiwp

PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP PROMPTS "HxcCuiTaskProjectId" "AK PROMPT"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD PROJECT"ATTRIBUTE APP SHORT NAME = "HXC"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP PROMPTS

BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout - Task"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "TaskLOVVO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "HXC CUI TASK LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "12"QUALIFIER ATTRIBUTE6 ="HxcCuiTaskNumber|TASK-DISPLAY|CRITERIA|N|HxcCuiTaskProjectId|PROJECT|PASSIVE CRITERIA|Y|HxcCuiTaskId|TASK|RESULT|N|HxcCuiTaskNumber|TASK-DISPLAY|RESULT|N"QUALIFIER ATTRIBUTE8 = "TaskNumber"QUALIFIER ATTRIBUTE9 = "TaskId#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.TaskLOVVO"QUALIFIER ATTRIBUTE14 ="HxcCuiTaskProjectId|PROJECT|Y#HxcCuiTaskProjectNumber|PROJECT-DISPLAY|Y"QUALIFIER ATTRIBUTE15 ="project id = ::HxcCuiTaskProjectId#upper(project number) = upper(::HxcCuiTaskProjectNumber)"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "PROJECTS"QUALIFIER ATTRIBUTE27 = "Attribute2"QUALIFIER ATTRIBUTE28 = "TASK"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Expenditure Type"OWNER = "ORACLE"COMPONENT VALUE = "EXPENDITURETYPE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD EXPTYPE"

57

Page 58: hxcconfiguiwp

ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "230"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Expenditure Type"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "ExpenditureType2LOVVO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "HXC CUI EXPTYPE2 LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "12"QUALIFIER ATTRIBUTE6 ="HxcCuiExptypeDispColumn|EXPTYPE-DISPLAY|CRITERIA|N|HxcCuiExptypeExpType|EXPTYPE|RESULT|N|HxcCuiExptypeDispColumn|EXPTYPE-DISPLAY|RESULT|N|HxcCuiExptypeSysLinkFunc|SYSLINKFUNC|RESULT|N"QUALIFIER ATTRIBUTE7 = "SYSLINKFUNC|SystemLinkageFunction"QUALIFIER ATTRIBUTE8 = "DisplayColumn"QUALIFIER ATTRIBUTE9 = "ExpenditureType"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.ExpenditureType2LOVVO"QUALIFIER ATTRIBUTE11 ="TIMECARD BIND END DATE|TIMECARD BIND END DATE|TIMECARD BIND START DATE|TIMECARD BIND END DATE|TIMECARD BIND END DATE|TIMECARD BIND START DATE"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "PROJECTS"QUALIFIER ATTRIBUTE27 = "Attribute3"QUALIFIER ATTRIBUTE28 = "EXPTYPE"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Delete button"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD DELETE"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "240"COMPONENT DEFINITION = "SUBMIT ICON"RENDER TYPE = "WEB"

58

Page 59: hxcconfiguiwp

PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout - Delete button"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "SUBMIT ICON"QUALIFIER ATTRIBUTE1 = "delete"QUALIFIER ATTRIBUTE2 = "deleteicon enabled.gif"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE5 = "DISABLED"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|CSV|"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "R"QUALIFIER ATTRIBUTE28 = "Delete"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Details button"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD DETAILS"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "250"COMPONENT DEFINITION = "SUBMIT ICON"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Details button"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "SUBMIT ICON"QUALIFIER ATTRIBUTE1 = "details"QUALIFIER ATTRIBUTE2 = "detailsicon enabled.gif"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE5 = "ENABLED"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|CSV|"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "R"QUALIFIER ATTRIBUTE28 = "Details"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

59

Page 60: hxcconfiguiwp

END HXC LAYOUT COMPONENTS

In order to add a component to the timecard matrix we first need to create the component. For this example, let’s use thecomponent from the Alternate Name component section of the document.

BEGIN HXC LAYOUT COMPONENTS" My Timecard Layout - ExpType PriceType"OWNER = "ORACLE"COMPONENT VALUE = "PA EXPTYPE PRICETYPE"REGION CODE = "PA CUI ALTERNATE NAME"REGION CODE APP SHORT NAME = "PA"ATTRIBUTE CODE = "PA EXPTYPE PRICE TYPE ALIAS"ATTRIBUTE CODE APP SHORT NAME = "PA"NAME VALUE STRING = "PA EXPTYPE PRICE TYPE ALIAS"SEQUENCE = "240"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="My Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/04"

BEGIN HXC LAYOUT COMP QUALIFIERS"My Timecard Layout - ExpType PriceType"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "AlternateNameItem1VO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "HXC CUI ALIAS ITEM1 LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "5"QUALIFIER ATTRIBUTE6 ="HxcCuiDisplayValue|ALIAS ITEM 1-DISPLAY|CRITERIA|N|HxcCuiValue|DUMMY|PASSIVE CRITERIA|N|HxcCuiValue|ALIAS ITEM 1|RESULT|N|HxcCuiDisplayValue|ALIAS ITEM 1-DISPLAY|RESULT|N"QUALIFIER ATTRIBUTE8 = "DisplayValue"QUALIFIER ATTRIBUTE9 = "Value#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.AlternateNameItem1VO"QUALIFIER ATTRIBUTE11 =?XPENDITURE TYPE PRICE TYPE|TIMECARD BIND END DATE|TIMECARD BIND START DATE"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE24 = "EXPENDITURE TYPE PRICE TYPE"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "OTL ALIAS ITEM 1"QUALIFIER ATTRIBUTE27 = "Attribute1"QUALIFIER ATTRIBUTE28 = "ALIAS ITEM 1"LAST UPDATE DATE = "2004/05/04"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

In order to add this component to the layout we need to firstly consider where we want to place it, for this example lets put it tothe right of the expenditure type field, using a sequence of 235. Next we need to identify the parts of the new component definition

60

Page 61: hxcconfiguiwp

we need to change in order to add it to our layout:

BEGIN HXC LAYOUT COMPONENTS" My Timecard Layout - ExpType PriceType"

We should ensure the component name is unique and it is also a good idea to make it ’fit’ with the other items in the layout. Inthis case, it is unique, but to easier identify the field let’s change the name:

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Custom Field - ExpType PriceType"

Next line we need to change is the sequence:

SEQUENCE = "240"

In order to place this field to the right of the expenditure type field we decided on a sequence of 235, so lets change it:

SEQUENCE = "235"

Next, we need to ensure it is referring to the timecard matrix as the parent component so it will be rendered in the correct place:

PARENT COMPONENT ="My Timecard Layout - Day Scope Building blocks for worker timecard matrix"

Looking at the current layout the correct parent component for the matrix on our layout is:

PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"

Although not strictly needed, we should update the qualifier name so it is the same as the component name.

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Custom Field - ExpType PriceType"

And that’s it! So our new component definition that we merge into our layout in the right spot is:

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Custom Field - ExpType PriceType"OWNER = "ORACLE"COMPONENT VALUE = "PA EXPTYPE PRICETYPE"REGION CODE = "PA CUI ALTERNATE NAME"REGION CODE APP SHORT NAME = "PA"ATTRIBUTE CODE = "PA EXPTYPE PRICE TYPE ALIAS"ATTRIBUTE CODE APP SHORT NAME = "PA"NAME VALUE STRING = "PA EXPTYPE PRICE TYPE ALIAS"SEQUENCE = "235"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/04"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - Custom Field - ExpType PriceType"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "AlternateNameItem1VO"

61

Page 62: hxcconfiguiwp

QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "HXC CUI ALIAS ITEM1 LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "5"QUALIFIER ATTRIBUTE6 ="HxcCuiDisplayValue|ALIAS ITEM 1-DISPLAY|CRITERIA|N|HxcCuiValue|DUMMY|PASSIVE CRITERIA|N|HxcCuiValue|ALIAS ITEM 1|RESULT|N|HxcCuiDisplayValue|ALIAS ITEM 1-DISPLAY|RESULT|N"QUALIFIER ATTRIBUTE8 = "DisplayValue"QUALIFIER ATTRIBUTE9 = "Value#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.AlternateNameItem1VO"QUALIFIER ATTRIBUTE11 =?XPENDITURE TYPE PRICE TYPE|TIMECARD BIND END DATE|TIMECARD BIND START DATE"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE24 = "EXPENDITURE TYPE PRICE TYPE"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "OTL ALIAS ITEM 1"QUALIFIER ATTRIBUTE27 = "Attribute1"QUALIFIER ATTRIBUTE28 = "ALIAS ITEM 1"LAST UPDATE DATE = "2004/05/04"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

3.9 Adding an OTL Information Type to the Timecard

The OTL Timecard allows for the addition of data fields that are not specific to an Oracle Application, but are necessary for anindividual company. The new data fields are available to the self-service timecard after first being defined in the Descriptive FlexField ’OTL Information Types’

To define the ’OTL Information Type’ Descriptive Flex Field: Navigation to define a new OTL Information Type DescriptiveFlex Field Context / Segment:

• System Administrator

– Application

∗ Flexfield∗ Descriptive∗ Segments

• Then: query on Title ’OTL Information Types’

– Unfreeze the Flexfield Definition

– Add a new, blank line (Context Code)

∗ Add a Name∗ Add Segments∗ Description∗ Value Set (optional)∗ Save the new Segments / Context∗ Re-Freeze the DFF

62

Page 63: hxcconfiguiwp

The new OTL Information Type is now available to be deposited with the self-service timecard.The new input field may allow for ’Free Text’, or a user defined Choice List or List of Values (LOV) entries. Defining user defined

Choice Lists or LOV’s was previously described in sections 2.7 and 2.8.The timecard attribute then has the new component added to the layout as other components, specifically identifying the new

information type on QUALIFIER ATTRIBUTE26 and QUALIFIER ATTRIBUTE27.

QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "New Information Type Context"QUALIFIER ATTRIBUTE27 = "ATTRIBUTE##"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

For Example: A new OTL Information Type called ”Machine Information” was created, with Attribute 5 called ”Machine Type”.A user defined choice list of ”Press, Lathe, Drill, etc.” was created using the view HXC CUI CUSTOM9 V. The view is referencedin the layout file as Custom9VO.

OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"QUALIFIER ATTRIBUTE1 = "Custom9VO"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE8 = "DisplayValue"QUALIFIER ATTRIBUTE9 = "Value"QUALIFIER ATTRIBUTE10 = "oracle.apps.hxc.selfservice.timecard.server.Custom9VO"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Machine Information"QUALIFIER ATTRIBUTE27 = "Attribute5"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

3.10 Adding additional element input values

Extra Element Input values may be added to a configured Timecard, with the extra input values validated and retrieved to BEE.The delivered Payroll and Exception layouts include an Alternate Name Hours Type component that reference an HR / Payroll

Hours Type (Element). The user enterable input values defined on an element are associated to the Element in the OTL InformationTypes Descriptive Flex Field when the OTL Generate Flex Mapping Process is executed for a specific Element Set. The segmentscreated are those defined in HR / Payroll as User enterable.

The Additional Input Value added to the configured layout must exist on all elements displayed to the user AND must be depositedto the same OTL Information Type Segment for all elements. The OTL Information Types Element segments should be defined toa specific Segment value, since the configured layout references a specific segment in QUALIFIER ATTRIBUTE27, with DummyElement Context defined in QUALIFIER ATTRIBUTE26.

The same segment may be defined for different elements input values if the Input Value’s sequence number is defined as 12, 13,14, or 15. (E.g. Element Input Value with Sequence number 12, will then have Segment 12 for all ELEMENT - ##### defined inthe OTL Information Types Descriptive Flex Field).

NOTE - If the sequence value is anything other than the 12-15, then the Generate Flex Mapping Process may define the inputvalues to different segment values for different elements, producing unexpected results on a configured timecard.

Add Company defined Choice Lists or LOVs based on information previously defined in sections 2.7 and 2.8.An example of adding an Input Value defined as OTL Information Types, Dummy Element Context, and Segment 12 for all

elements

63

Page 64: hxcconfiguiwp

QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Element Context"QUALIFIER ATTRIBUTE27 = "Attribute12"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

For Example: For all Hours Types available to a user, there is an input value ’Day’s Temperature Range’ that a user enters on thetimecard. The Element Input Value was added as Sequence Value 12, which became Segment 12 when the Generate Flex MappingProcess was executed. A user defined choice list of -50F to -40F, -39F to -30F, through to +101F to +120F, was created using theview HXC CUI CUSTOM9 V. The view is referenced in the layout file as Custom9VO.

OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"QUALIFIER ATTRIBUTE1 = "Custom9VO"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE8 = "DisplayValue"QUALIFIER ATTRIBUTE9 = "Value"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.Custom9VO"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Element Context"QUALIFIER ATTRIBUTE27 = "Attribute12"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

3.11 Configuring the Cost Center component

The seeded Exception and Payroll timecard layouts include a Cost Center component. The component references a specific FNDvalue set (US#Cost Center) and saves the cost center entries to SEGMENT1 of the Cost Allocation Key Flex Field. Within thedelivered OTL timecard LDT file, the cost center is referenced in the section marked ## Cost Center ##, as follows:

############################################################################# Cost center choice list on the timecard matrix############################################################################BEGIN HXC LAYOUT COMPONENTS "Exception Timecard Layout - Cost Center"OWNER = "CUSTOM"COMPONENT VALUE = "COSTCENTER"SEQUENCE = "120"COMPONENT DEFINITION = "CHOICE LIST"RENDER TYPE = "WEB"PARENT COMPONENT ="Exception Timecard Layout - Day Scope Building blocks for worker timecard matrix"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD COST CENTER"ATTRIBUTE CODE APP SHORT NAME = "HXC"

64

Page 65: hxcconfiguiwp

BEGIN HXC LAYOUT COMP QUALIFIERS "Exception Timecard Layout - Cost Center"OWNER = "CUSTOM"QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"QUALIFIER ATTRIBUTE1 = "CostCenterVO"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE10 = "oracle.apps.hxc.selfservice.timecard.server.CostCenterVO"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Cost Context"QUALIFIER ATTRIBUTE27 = "Attribute1"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

Example: Suppose you want to reference a different independent value set for the Cost Center component and save to Segment 4of the Cost Allocation Key. Perform these steps:

• Create the Independent Value Set, such as OTL ACCOUNT.

• Set up values for OTL ACCOUNT.

• Create a View referencing the Independent Value set, and using an OTL Custom Component. (In this example CustomComponent 9.)

CREATE OR REPLACE FORCE VIEW HXC CUI CUSTOM9 V( display value ,value )ASselect flex value display value, flex value id valuefrom fnd flex values vl fv, fnd flex value sets fvswhere fv.flex value set id = fvs.flex value set idand fvs.flex value set name = ’OTL ACCOUNT’

(Change the flex value set name (OTL ACCOUNT) to the name of the Independent Value Set you are using.). If you would liketo display the Cost Segment value and the Description, use the following sql to create the view (changing the Independent Value setname and View number from 1-10)

CREATE OR REPLACE FORCE VIEW HXC CUI CUSTOM9 V( display value,value)ASselect fv.flex value||’-’||fv.DESCRIPTION display value, to char(flex value id) valuefrom fnd flex values vl fv, fnd flex value sets fvswhere fv.flex value set id = fvs.flex value set idand fvs.flex value set name = ’OTL ACCOUNT’

Modify the Cost Center section of the Layout, Review and Confirmation Pages with the following example component.

############################################################################# Cost center choice list on the timecard matrix############################################################################BEGIN HXC LAYOUT COMPONENTS "Exception Timecard Layout - Cost Center"OWNER = "CUSTOM"COMPONENT VALUE = "COSTCENTER"

65

Page 66: hxcconfiguiwp

SEQUENCE = "120"COMPONENT DEFINITION = "CHOICE LIST"RENDER TYPE = "WEB"PARENT COMPONENT ="Exception Timecard Layout - Day Scope Building blocks for worker timecard matrix"

REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD COST CENTER"ATTRIBUTE CODE APP SHORT NAME = "HXC"

BEGIN HXC LAYOUT COMP QUALIFIERS "Exception Timecard Layout - Cost Center"OWNER = "CUSTOM"QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"QUALIFIER ATTRIBUTE1 = "Custom9VO"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.Custom9VO"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Cost Context"QUALIFIER ATTRIBUTE27 = "Attribute4"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

Note:

• The Cost Segment Values will be deposited in Segment 4 (QUALIFIER ATTRIBUTE27 = ”Attribute4” )

• The Value Set will be using the JAVA component Custom9VO, which calls the view created in step 3 (HXC CUI CUSTOM9 V).

• The view returns the independent value set.

If you need to place additional Cost Center Segments on the Self Service Layout, you must make the following additional changesto the .LDT:

1. Show the Cost Center Choice List on Timecard matrix X times in the ldt file (where X is the number of times a cost allocationkey flex segment should be shown)

2. Change the entry for SEQUENCE = ’120’ (above) to a value higher than 120, to show after the 1st Cost Center segment

3. Use a unique name for the new cost center segments (i.e replace ”Exception Timecard Layout - Cost Center” with a uniquename).

4. Ensure the BEGIN HXC LAYOUT COMPONENTS has a unique name for each Cost Allocation Key Flex Segment and matchesthe BEGIN HXC LAYOUT COMP QUALIFIERS

5. Ensure the View and VO numbers select the correct Value Set items

6. Ensure QUALIFIER ATTRIBUTE27 reflects the correct Cost Allocation Key FlexField

7. Define AK Attributes and Regions Items for the new segments, to display a Label other than Cost Center-see AK Items for theLabels on the Timecard, below.

66

Page 67: hxcconfiguiwp

8. Associate the new AK Regions and Attributes to the following lines in the Cost Center section of the LDT file:

• REGION CODE = ”HXC CUI TIMECARD”

• REGION CODE APP SHORT NAME = ”HXC”

• ATTRIBUTE CODE = ”HXC TIMECARD COST CENTER”

• ATTRIBUTE CODE APP SHORT NAME = ”HXC”

The text in bold here must use the new AK Region and Attributes for the Cost Allocation Key Flex Labels. AK Items for theLabels on the Timecard:

• Define Attributes

Attribute ID VALUE (Used on Timecard LDT File as ATTRIBUTE CODE)Attribute Name Meaningful Name (Used in Region )Application Oracle Time and Labor (or shown as Capture)ApplicationData Type VARCHAR2Label Value to Show on Timecard

• Define Region

Region ID VALUE (Used on Timecard LDT File as REGION CODE)Region Name Meaningful NameApplication Oracle Time and Labor (or shown as Capture)Object Name ICX PROMPTSRegion Style Page LayoutNumber of Columns 1

• After you have defined the Region, select ¡Region Items¿ button to add the attributes to the Region.

Attribute Type AttributeApplication Oracle Time and LaborAttribute Name Attribute Name (created above)Sequence #Item Style Text

3.12 Adding OTLR Detail to the Review and Confirmation Pages

With the March 2002 release of Oracle Time and Labor, the timecard review and confirmation pages can show the user-enteredtimecard data as if the OTL rules and policies had been applied. When the user clicks the Review button on the timecard, thetimecard calls OTLR and applies the proper rules and policies to the entered time. This OTLR API passes back a set of detail timebuilding blocks and attributes to the timecard. The timecard will not display these blocks and attributes on the screen unless specifieddetail components are present in the layout. NOTE: In addition to setting up the layout correctly, you must do the following foreach employee who is to review their time detail in Self-Service:

• Set the Evaluate OTL Rules segment of the Self Service Preference to allow Rules Evaluation to Yes.

• Assign the employee to OTLR structures and policies

• Set Autogen to Yes on the Assignment Time Information window

67

Page 68: hxcconfiguiwp

3.12.1 Creating the Detail Time Building Blocks in the Layout

Within the layout definition file, duplicate the usual TIME BUILDING BLOCK component that corresponds to the day matrix inthe review and confirmation layout, changing the component names, component qualifiers and sequences. Add the words HoursExplosion (exactly like that - upper case for the first letter of each word, lower case for all other letters, and a space between thewords) to the component name of all of the detail time components. The configurable UI will then recognize these components asrequiring detail time information only, and will associate the detail time blocks and attributes with these components. Two examplesare shipped with the product: Exception OTLR Details Review Layout and Payroll OTLR Details Review Layout. The filenames arehxczzhxclayt0028.ldt and hxczzhxclayt0004.ldt and can be found in the $Appl TOP/hxc/11.5/import/US directory.

3.13 Adding the Details Page DFF Segments to the Timecard matrix

If an implementation only has one PA DFF context, e.g. ’Global Data Elements’ or even just one specified context such as ’ST’, thenthey can include the segments associated with this flexfield context directly on the OTL timecard matrix and thus avoid the need forusers to drill down to the details page to enter this information.

Typically a user must click on the details page link in order to set the context as it driven from data on the main timecardmatrix, e.g. the system linkage function or the expenditure type. It is only once that value is known and has been posted to theapplication server that the system can render the appropriate DFF fields for the user. Clearly, if there is only one context this isunnecessary as there is only once choice for the context, and therefore the DFF segments are well specified without any choice oftimecard attribution.

Before attempting this implementation, note:

• The user will not be able to specify different values for different days, as they can on the details page, unless they use differenttimecard matrix lines that may require duplication of other timecard attribution (the same project, task, expenditure type).

• If existing timecards are opened within the new layout and different days have different DFF data, these entries will now besplit onto multiple timecard lines. This may be confusing for users at first.

3.13.1 Setting the Attribute Category

The trick then, with this implementation is to make the data in the time store appear exactly as it would have if the user hadnavigated to the details page and made the entries there.

The key point is to make the building block information type associated with these PA DFF timecard attributes be ’DummyPaexpitdff Context’ and have the appropriate attribute category, e.g. ’PAEXPITDFF - GLOBAL’ or ’PAEXPITDFF - ST’. Thisensures that the PA application understands what these attributes are, and that the generic retrieval code component of OTL canfind the data properly without modification.

This means in the layout definition, we must specify ’Dummy Paexpitdff Context’ and not the attribute category we want directly.i.e. QUALIFIER ATTRIBUTE26 must be ’Dummy Paexpitdff Context’ for any DFF component we add to the matrix. This ensuresany attributes created by the OTL timecard have the correct building block information type id, and can thus be found by the genericretrieval and will be sent to Projects correctly.

However, by default the attribute category given to a timecard attribute is the same as the building block information type id,which is bad now because the value ’Dummy Paexpitdff Context’ is unlikely to be a valid context in the expenditure items flexfielddefinition. Thus, we must set the attribute category attribute of the timecard attribute correctly. This can be done in one of twoways:

1. via a result item from an LOV (Hidden Field)

2. as a value coming from an Alias definition e.g. for a choice list or LOV (Hidden field)

Note although we must include a component supporting the attribute category in the layout definition, the user does not needto have any knowledge of the attribute category, however if the DFF fields only comprise free-text fields, then this is the onlyimplementation choice.

In all three cases, a component must exist in the layout definition supporting the attribute category ensuring proper functionof the timecard and retrieval. An example HIDDEN FIELD component, for use e.g. with a DFF structure that includes a choiceappears:

68

Page 69: hxcconfiguiwp

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - DFF Attribute Category"OWNER = "ORACLE"COMPONENT VALUE = "DFFATTRIBUTECATEGORY"SEQUENCE = "250"COMPONENT DEFINITION = "HIDDEN FIELD"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - DFF Attribute Category"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "HIDDEN FIELD"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|CSV|"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE23 = "FORM"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Paexpitdff Context"QUALIFIER ATTRIBUTE27 = "AttributeCategory"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

Note: this will include the hidden field in the HTML form, but will not show the value to the user.If the timecard layout has a custom LOV included in the layout, it is possible to set the attribute category from the custom LOV,

which is likely preferable to the method described below, but the choice list approach is likely more common. It is preferable, becausethe additional set up for the alias definition is not required.

3.13.2 Aliasing A Segment Value To Set The Attribute Category

If the DFF context definition includes a choice list component, and the timecard layout has no custom LOV included, then the leastobvious option for setting the attribute category is to use an OTL Alternate Name on one choice list segment. This ensures thatwhen the alternate name is resolved by the timecard deposit code, the attribute category and the appropriate segment value are setproperly.

To do this, execute the following steps:

A Navigate to Application Developer Responsibility - DFF segments form - Query for ’Expenditure Items’ DFF under ProjectsApplication, and create e.g. ’PA DFF ALTERNATE NAME’ context. This context will be used to generate the values in thealternate name definition form. Create at least two segments, with names, e.g.:

(a) DFF Segment Value (this will hold the actual value the user would have entered on the details page)

(b) DFF Attribute Category (this will be the ’GLOBAL’ for example)

You can include an identifier segment if any of the alias values are duplicates. Make sure the DFF Segment Value segment hasthe same value set as the corresponding segment in the PA Expenditure Items Flexfield definition. This will ensure that youcreate only value alias values.

69

Page 70: hxcconfiguiwp

For the DFF Attribute Category segment, open the segment definition form and enter the default type of ’Constant’ and thedefault value of ’GLOBAL’ (or whatever you want the attribute category to be) - this avoids the need to type in the values inthe alias definition page. Note: the alternate name translation engine adds the ’PAEXPITDFF - ’ prefix, so you should notinclude this in the segment or alternate value definitions.

Make sure both segments are required. Freeze the flexfield definition and save your work.

B Navigate to the Alternate Name Mapping form under an OTL Application Developer responsibility. Enter ’OTL Alternate NameDFF Context’ against value set/context, and then the context you created in step A, e.g. PA DFF ALTERNATE NAME’.Click in the lower block (under Attribute/Column Name) and the segments you created as part of this context will be autopopulated.

Against the DFF segment value column choose the dummy paexpitdff mapping component corresponding to the segment forthis segment, e.g. if you’re storing the segment value in attribute 5 in the PA DFF definition, pick mapping component:’PADFFAttribute5’. **NOTE** this is not necessarily the same as the segment you chose in step A to support this value inthe alternate name attribute. Typically you’d pick attribute1 for the segment value in the OTL Alternate Name attribute -this mapping component tells the OTL Alternate Name translation engine where to put the value in the real (PAEXPITDFF)attribute.

Against the DFF attribute category segment choose the mapping component: ’Dummy Paexpitdff Context’

Save your work.

C Next navigate to the Alternate Name Definition form, under the same responsibility. Provide some name for your alias definition,and then pick the context name you created in step A against the ’Type Name’ field. The ’Prompt’ field isn’t used on the selfservice timecard, but it is a good idea to fill this in anyway for reuse with timekeeper, provide some prompt, typically the sameas the segment prompt in the PA definition, e.g. ’Activity’. Save your work.

Now, for each value you want the users to be able to pick for this segment value, create an alternate name entry against thisalternate name definition, e.g. Alternate Name: ’Bicycling’ Date From: ’01-JAN-2000’ Date To: ¡null¿ Values (flex windowopens) Segment Value: ’Bicycling’ Segment Context ’GLOBAL’. Make sure the alternate name definitions are enabled. Again,recall that the alternate name translation engine adds the required ’PAEXPITDFF - ’ prefix automatically on deposit, so thisshould not be included in the alternate name value definition.

Save your work.

D Now in the layout definition create the segment entry as the aliased value, e.g. as:

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - Alternate Name DFF Activity"OWNER = "ORACLE"COMPONENT VALUE = "DFFALTNAMEACTIVITY"SEQUENCE = "260"COMPONENT DEFINITION = "CHOICE LIST"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - DFF Attribute Category"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"QUALIFIER ATTRIBUTE1 = "Custom1VO"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.Custom1VO"

70

Page 71: hxcconfiguiwp

QUALIFIER ATTRIBUTE17 = "NONE"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE24 = "PA DFF ALTERNATE NAME"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "OTL ALIAS 1"QUALIFIER ATTRIBUTE27 = "Attribute1"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

Note: It is very important to use Attribute1 and OTL ALIAS 1 in qualifier attribute 27 and 26, respectively. Also, you mustspecify the OTL Alternate Name context you created in Step A in qualifier attribute 24, or the alternate name translationengine can not work correctly.

E Add the supporting view. The choice list must fetch the alias values into the middle tier somehow, and it does this via theCustom1VO specified above. The supporting view definition would appear:

create or replace force view HXC CUI CUSTOM1 V(display value,value)as(select tl.alias value name,b.alias value idfrom hxc alias values tl tl,hxc alias values b,hxc alias definitions adwhere tl.language = userenv(’LANG’)and tl.alias value id = b.alias value idand b.alias definition id = ad.alias definition idand ad.alias definition name = <Alternate Name Definition>)/

Where Alternate Name Definition is replaced with the quoted name provided for the alternate name definition in step C above.This view ensures the right values are shown in the choice list.

F Next create a preference node and resource rule, attaching the alternate name definition to the ’Timecard Alternate Names’preference. If using more than one alternate name, ensure that the number of the ’OTL ALIAS n’ context specified in the layoutdefinition, matches the Timecard Alternate Name number in the preference. I.e. if in the layout you specified ’OTL ALIAS 3’because 1 and 2 were used in the layout already, ensure this preference has the right values for alternate name 1 and 2, and thenew PA DFF Alternate name is associated with the Timecard Alternate Name 3 segment. Also, create a preference node underthe same parent node, and attach the layout definition containing the PA DFF components in the main timecard matrix - thenassociate the parent node containing both preferences to the user population via the appropriate preference resource rule.

Once these six steps are complete, and the layout is uploaded the PA DFF segments will appear in the timecard matrix andwill be populated correctly in the database.

71

Page 72: hxcconfiguiwp

3.13.3 The Simple Approach: An Always-execute choice list

If the alias value set up is considered too implementation intensive, or if the DFF definition only contains free text field inputs, itis always possible to expose the attribute category value to the user, although not have them have to enter a value. This can bedone with an always-execute choice list component. So, instead of the component definition for attribute category above, we insteadspecify a choice list, as:

BEGIN HXC LAYOUT COMPONENTS"Projects Timecard Layout - DFF Attribute Category"OWNER = "ORACLE"COMPONENT VALUE = "DFFATTRIBUTECATEGORY"SEQUENCE = "250"COMPONENT DEFINITION = "CHOICE LIST"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Projects Timecard Layout - DFF Attribute Category"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"QUALIFIER ATTRIBUTE1 = "Custom1VO"QUALIFIER ATTRIBUTE4 = "Y"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.Custom1VO"QUALIFIER ATTRIBUTE17 = "NONE"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Paexpitdff Context"QUALIFIER ATTRIBUTE27 = "AttributeCategory"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

with the supporting view definition, HXC CUI CUSTOM1 V defined as:

create or replace force view HXC CUI CUSTOM1 V(display value,value)as(select ’Global Extra Info’,’PAEXPITDFF - GLOBAL’from dual)/

With this definition in place, the term ’Global Extra Info’ will appear to the users, but it will be auto-selected, and will be theonly value selectable, thus ensuring the value is properly recorded in the database without user intervention. This component cansafely be excluded from all other layouts - i.e. it is only required on the timecard layout.

72

Page 73: hxcconfiguiwp

3.13.4 Other Segment Values

Once the attribute category segment of the PA DFF attribute is properly set, you can simply add any other segment components tothe layout definition as normal. Remember to ensure that qualifier attribute 26 is set to ’Dummy Paexpitdff Context’ and not the’PAEXPITDFF’ prefix.

Note: if you have used a segment to alias the attribute category, as in the example above or below, do not include that samesegment again in the layout definition.

73

Page 74: hxcconfiguiwp

3.14 Configure Expenditure Type As Choice List Using Alternate Names in Projects PayrollLayout

Requirement:Configure the Expenditure Type LOV as a Choice List component can be achieved by making use of custom VO facility delivered byOTL and using Alternate Names. In a Projects and Payroll Layout, expenditure type is a combination of expenditure type, payrollelement and system linkage function. In order to render the combination of these values in a choice list we have to make use ofAlternate Names.

This requirement of adding a choice list to the timecard matrix involves the following steps:

=> Modify delivered custom VO view to perform the required action.=> Create AK data for the prompt.=> Create OTL Alternate Name mapping for the new data to determine where it is deposited.=> Modify the timecard layout ldt files to include the choice list component.=> Load the ldt files using FNDLOAD.=> Attach the layouts using the preference page.

3.14.1 Define a New OTL Alternate Names Type Descriptive Flexfield Context / Segment:

Navigate to System Administration - Application - Flexfield - Descriptive - Segments

Query on Title = OTL Alternate Names

Context Code - ET EXPENDITURE TYPES.Segments - Expenditure Type ( Attribute 1) ,System Linkage ( Attribute 2),Identifier (Attribute 3).

Figure 7: Defining New OTL Alternate Name

Save, Freeze, and Re-compile the Flexfield

74

Page 75: hxcconfiguiwp

3.14.2 Mapping the Segments/Attributes to respective components:

Navigate to OTL Application Developer (responsibility used to administer OTL that includes the Alternate Namessub-menu - Alternate Names - Alternate Name Mapping)

Query on Type Name = ET EXPENDITURE TYPES

Do the relevant Mapping Association for the Attributes.

Attribute/Column Name - Mapping Component Name

Expenditure Type - PA Expenditure TypeSystem Linkage - PA System Linkage FunctionIdentifier - ID Expenditure Type

Figure 8: Mapping Segements/Attributes to respective components

3.14.3 Creating Alternate Name for the Alternate Name Type ET EXPENDITURE TYPES:

Navigate to OTL Application Developer (responsibility used to administer OTL that includes the Alternate Namessub-menu - Alternate Names - Alternate Name Definition)

Create an Alternate Name Definition for the Alternate Names and give description for Alternate Name Definition.

Alternate Name Definition ET EXPENDITURE TYPEDescription - Expenditure Type for ET Time keepersSave the Definition.

Select the Alternate Name Type for which Alternate Names are Creating.

75

Page 76: hxcconfiguiwp

Add Alternate Names:

Alternate Name : Indirect Labor , Direct LaborFrom Date : Date from which the Alternate name available for the Created Alternate Name DefinitionTo Date : Expiry Date(Optional)Values : It is a descriptive flex field select the expenditure type,system linkage(ST/OT )Select the Enabled check box.

Attached to the preferences.

Attach the Alternate Name Definition created to the preference node Self Service Timecard Alternate Name Set Defined for a User

Figure 9: Preference Page

3.14.4 Create A Custom View and Define Layouts:

Creation of Custom View:

Create or replace force view HXC CUI CUSTOM1 V(display value,value)AS(select tl.alias value name,b.alias value idfrom hxc alias values tl tl,hxc alias values b,hxc alias definitions adwhere tl.language = userenv(’LANG’)and tl.alias value id = b.alias value idand b.alias definition id = ad.alias definition idand ad.alias definition name = ’AUS Expenditure Type’)/

76

Page 77: hxcconfiguiwp

Define Layouts:

The layout example section listed below were added to a copy of the delivered Projects Layouts layout set. The sample codehas specific entries highlighted to emphasize the specific lines / entry.Examples of New Defined layout sections New Name section and Alternate Name sections Custom Views used in sample layouts.

NOTE - The following sections displayed are only a part of the entire layout (ldt) files, and display the Alternate Name component.

Altered the Layouts:

BEGIN HXC LAYOUT COMPONENTS "B1 Projects Timecard Layout - Expenditure Type"OWNER = "ORACLE"COMPONENT VALUE = "DFFALTNAMEACTIVITY"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD EXPTYPE"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "235"COMPONENT DEFINITION = "CHOICE LIST"RENDER TYPE = "WEB"PARENT COMPONENT ="Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2007/07/02"

BEGIN HXC LAYOUT COMP QUALIFIERS"B1 Projects Timecard Layout - Expenditure Type"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"QUALIFIER ATTRIBUTE1 = "Custom1VO"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE8 = "DisplayValue"QUALIFIER ATTRIBUTE9 = "Value"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.Custom1VO"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE24 = "ET EXPENDITURE TYPES"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "OTL ALIAS 1"QUALIFIER ATTRIBUTE27 = "Attribute1"LAST UPDATE DATE = "2007/07/02"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

Load the layouts using FNDLOAD command:

FNDLOAD username/password@dbname 0 Y UPLOAD $HXC TOP/patch/115/import/hxclaytlayoutsld.lct ./layout.ldt

77

Page 78: hxcconfiguiwp

The output log has to be checked to ensure that there were no errors loading the layout.

Attach the custom layouts to the Self Service Timecard,Review and Confirmation Layout Page preference.

Time Entry Page showing the expenditure type as a choice list:

Figure 10: Time Entry Page

3.15 Configuring Cost Center as a LOV in Payroll Layout

Requirement:Configure Cost Center as an lov component on a payroll layout requires AK Region to be created for the LOV. This can be achievedby making use of custom VO delivered by OTL.

Assuming this is the case adding a List of Values to the timecard matrix involves the following steps:

=> Modify the delivered custom VO view to perform the required action.=> Create AK data for the prompt.=> Define AK Attributes which are to be displayed in the LOV.=> Define AK Region for the LOV and map the attributes define to Region as Region Items.=> Run the migration script to copy the LOV definition from AK to MDS repository=> Bounce apache after the migration is done.=> Modify the timecard layout ldt files to include the custom LOV.=> Load the ldt files using FNDLOAD command.=> Attach the layouts to the preference.

The following example will demonstrate how to add a new LOV component to the timecard matrix.

78

Page 79: hxcconfiguiwp

3.15.1 Create AK attributes used for the LOV screen :

Use the Define Attributes window, which is available from the professional forms AK Developer responsibility.

Define attributes for each of the items that you need to show on the LOV page.

Complete the following fields:

Attribute ID, Attribute Name, Application,Data Type, Value Length, Style and Label and leave the otherfields blank or at their default value.

So in our example, you would need to create attributes for the fields: display value and value

3.15.2 Create an AK region for rendering the LOV screen:

Region ID: B1 CUSTOM LOVRegion Name: B1 custom LOVApplication Name: Time and Labor EngineObject Name: ICX PROMPTSRegion Style: List of ValuesApplication Module Definition Name: oracle.apps.hxc.selfservice.configui.server.LovAMDisplay Rows: 10 (or however many rows you want displayed in the LOV)Controller Object Type: oracle.apps.hxc.selfservice.configui.webui.LovCOAdd Indexed Children: (checked)Leave all other fields blank or to their default value.Save the record.

Figure 11: AK Region

3.15.3 Create AK region items inside the AK region for the LOV page:

Here you need to create region items for each of the things you want to show on the LOV. Using the AK Regions window, query theregion that you created in the previous step, and with that row selected, click on the Region Items button.

Complete the following fields:

Attribute Type, Application, Attribute Name, Sequence, Node Display, Queryable, View Usage Name, View Attribute Name.

So for our example, you would create the following region items inside the LOV region.

79

Page 80: hxcconfiguiwp

Attribute Type: AttributeApplication: Time and Labor EngineAttribute Name: B1 Custom LOV - Costcenter ValueSequence: 10Node Display: Checked

Queryable: CheckedItem Name: CustomCostcenterValueView Usage Name: Custom1VOView Attribute Name: DisplayValue

Attribute Type: AttributeApplication: Time and Labor EngineAttribute Name: B1 Custom LOV - Costcenter Value IdSequence: 20Node Display: CheckedQueryable: CheckedItem Name: CustomCostcenterValueIdView Usage Name: Custom1VOView Attribute Name: Value

Figure 12: AK Region items

3.15.4 Migration of Ak Region to MDS Repository,Creation of Custom View and Define Layouts:

Run the migration script to copy the LOV definition from AK to the MDS repository

exec hxc lov migration.migrate lov region(p region code => ’B1 CUSTOM LOV’,p region app short name => ’HXC’,p force => ’Y’);

commit;

80

Page 81: hxcconfiguiwp

Bounce Apache to reflect the changes made in the AK Region on selfservice page.

Create A Custom View :

Create or Replace force view hxc cui custom1 vASselect flex value display value, to char(flex value id) valuefrom fnd flex values vl fv, fnd flex value sets fvswhere fv.flex value set id = fvs.flex value set idand fvs.flex value set name = ’US#Cost Center’and fv.enabled flag = ’Y/

Customization the ldt file:

BEGIN HXC LAYOUT COMPONENTS "B1 Payroll Timecard Layout - Cost Center"OWNER = "ORACLE"COMPONENT VALUE = "COSTCENTER"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD COST CENTER"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "190"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="Payroll Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2007/07/12"BEGIN HXC LAYOUT COMP QUALIFIERS "B1 Payroll Timecard Layout - Cost Center"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "Custom1VO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "B1 CUSTOM LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "12"QUALIFIER ATTRIBUTE6 = "CustomCostcenterValue|COSTCENTER-DISPLAY|CRITERIA|N| CustomCostcenterValueId|COSTCENTER|RESULT|N|CustomCostcenterValue|COSTCENTER-DISPLAY|RESULT|N"QUALIFIER ATTRIBUTE7 = "COSTCENTER|CustomCostcenterValueId"QUALIFIER ATTRIBUTE8 = "DisplayValue"QUALIFIER ATTRIBUTE9 = "Value#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.Custom1VO"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Cost Context"QUALIFIER ATTRIBUTE27 = "Attribute1"

81

Page 82: hxcconfiguiwp

QUALIFIER ATTRIBUTE28 = "COSTCENTER"LAST UPDATE DATE = "2007/07/12"END HXC LAYOUT COMP QUALIFIERSEND HXC LAYOUT COMPONENTS

Load the layouts using FNDLOAD command:

FNDLOAD username/password@dbname 0 Y UPLOAD $HXC TOP/patch/115/import/hxclaytlayoutsld.lct ./layout.ldtThe output log should be checked to ensure that there were no errors loading the layout.

Attach the custom Timecard Layout to the preference node to reflect the changes.

Figure 13: Preference page

Time entry page after modifying the cost center as an LOV.

Figure 14: Time Entry Page

82

Page 83: hxcconfiguiwp

3.16 Adding Custom LOVs, Custom Choice List and Text Field to a Payroll Layout

Requirement:Configure a timecard by adding 2 LOVs(seeded LOV and custom LOV) along with choice list and Text field that can capture attributeinformation for an Airlines Company.Note: This is an example to explain the Timecard configuration steps only.

Considering the above requirement, following is an outline of steps invovled:

=> Define AK Attributes which are to be displayed in the LOVs, Choice List and text field.=> Add the AK Attribute codes to the AK region.=> Define AK Region for the LOV and map the attributes defined to the Region as Region Items.=> Modify the delivered seeded custom VO view and create a new custom LOV VO view to perform the requiredaction.=> Create AK data for the prompts.=> Execute the LOV migration script to copy the LOV definition from AK to MDS repository=> Bounce apache.=> Modify the timecard layout ldt files to include the custom LOVs, choice list and text field.=> Load the ldt files using FNDLOAD command.=> Attach the layouts to the Timecard Layout preference.

After all the configuration is done, the final timecard should look like this.

Figure 15: Configured Airlines Timecard

83

Page 84: hxcconfiguiwp

The above timecard layout has been configured to capture Additional Element Input values that can be validated, deposited intime store and retrieved to BEE. Refer to section 3.10 for more details on usage on Adding additional element input values

The Elememt Input Values are captured on the configured layout via an Timecard attribute. These input values must exist forall elements displayed to the user AND must be deposited to the same OTL Information Type Segment for all elements.

The Additional Element Input Values are defined as follows :Source : Sequence 12Destination : Sequence 13Aircraft Model : Sequence 14Total Passengers : Sequence 15

Figure 16: Additional Element Input Values

84

Page 85: hxcconfiguiwp

3.16.1 Create AK attributes:

Navigate to AK Dev Responsibility - Define Attributes form and create the following Attributes

Figure 17: AK Attributes

Aircraft Type Choice listAttribute ID: HXC ART AIRCRAFTAttribute Name: Aircraft TypeApplication: Time and Labor EngineData Type: Varchar2Label: Aircraft Type

Changing the Hours Type PromptAttribute ID: HXC ART JOB TYPEAttribute Name: Job TypeApplication: Time and Labor EngineData Type: Varchar2Label: Job Type

Flight Source LOV PromptAttribute ID: HXC ART SOURCEAttribute Name: Flight SourceApplication: Time and Labor EngineData Type: Varchar2Label: Flight Source

Flight Destination LOV PromptAttribute ID: HXC ART DESTINATIONAttribute Name: Flight DestinationApplication: Time and Labor Engine

85

Page 86: hxcconfiguiwp

Data Type: Varchar2Label: Flight Destination

Flight Source LOV for city nameAttribute ID: HXC ART SOURCE CITY NAMEAttribute Name: Source City NameApplication: Time and Labor EngineData Type: Varchar2Label: Source City Name

Flight Destination LOV for city nameAttribute ID: HXC ART DEST CITY NAMEAttribute Name: Destination City NameApplication: Time and Labor EngineData Type: Varchar2Label: Destination City Name

Flight Destination LOV for Country NameAttribute ID: HXC ART DEST COUNTRYAttribute Name: Destination Country NameApplication: Time and Labor EngineData Type: Varchar2Label: Destination Country Name

Total Passengers text fieldAttribute ID: HXC ART PASSENGERSAttribute Name: Total PassengersApplication: Time and Labor EngineData Type: Varchar2Label: Total Passengers

and leave the other as per their default value.

86

Page 87: hxcconfiguiwp

3.16.2 Add Attributes to AK Region:

Navigate to AK Responsibility - Define Regions form and query for REGION ID = HXC CUI TIMECARD, Click on Region Itemsbutton and add the attributes as shown in the following figure. The remaning attributes that were created in the previous step wouldbe added to the LOV region at a later stage.

Figure 18: Add Attributes

3.16.3 Create database views:

Create view definition for AIRCRAFT TYPE choice list.

create table hxc aircraft models (aircraft model VARCHAR2(30),aircraft id NUMBER);

insert into hxc aircraft models values(’Bell P-39 Airacobra’, 101);insert into hxc aircraft models values(’ATR 72’, 202);insert into hxc aircraft models values(’Boeing 737’, 303);insert into hxc aircraft models values(’Airbus A380’, 404);insert into hxc aircraft models values(’McDonnell-Douglas MD-11’, 505);

create or replace view hxc cui custom1 v (display value, value) asselect aircraft model , aircraft id from hxc aircraft models;

Create view definition for Source and Destination city LOVs.

87

Page 88: hxcconfiguiwp

create table hxc city names (city name VARCHAR2(30),city id NUMBER,country name VARCHAR2(30));

insert into hxc city names values (’BANGALORE’, 111, ’INDIA’);insert into hxc city names values(’LONDON’, 222, ’UK’);insert into hxc city names values(’WASHINGTON’, 333, ’USA’);insert into hxc city names values (’SYDNEY’, 444, ’AUSTRALIA’);insert into hxc city names values(’DURBAN’, 555, ’SOUTH AFRICA’);

VIEW USED FOR THE SOURCE CITY NAME LOVCREATE OR REPLACE FORCE VIEW hxc cui custom lov1 v (lov1column1,lov1column2,lov1column3,lov1column4,lov1column5,lov1column6,lov1column7,lov1column8,lov1column9,lov1column10)AS(SELECT city name, city id , null, null, null, null, null, null, null, nullFROM hxc city names);

VIEW USED FOR THE DESTINATION CITY NAME LOVCREATE OR REPLACE FORCE VIEW XX cui custom lov2 v (lov2column1,lov2column2,lov2column3,lov2column4,lov2column5,lov2column6,lov2column7,lov2column8,lov2column9,lov2column10)AS(SELECT city name, city id , country name, null, null, null, null, null, null, nullFROM hxc city names);

3.16.4 Create AK regions for rendering the LOVs:

Navigate to AK Dev Responsibility - Define Regions form and create new LOV regions.

Region ID: HXC ART SOURCE LOVRegion Name: Configurable UI LOV

88

Page 89: hxcconfiguiwp

Application Name: Time and Labor EngineObject Name: ICX PROMPTSRegion Style: List of ValuesApplication Module Definition Name: oracle.apps.hxc.selfservice.configui.server.LovAMDisplay Rows: 10 (or however many rows you want displayed in the LOV)Controller Object Type: oracle.apps.hxc.selfservice.configui.webui.LovCOAdd Indexed Children: (checked)Leave all other fields blank or to their default value.Save the record.

Region ID: HXC ART DEST LOVRegion Name: Configurable UI LOVApplication Name: Time and Labor EngineObject Name: ICX PROMPTSRegion Style: List of ValuesApplication Module Definition Name: oracle.apps.hxc.selfservice.configui.server.LovAMDisplay Rows: 10 (or however many rows you want displayed in the LOV)Controller Object Type: oracle.apps.hxc.selfservice.configui.webui.LovCOAdd Indexed Children: (checked)Leave all other fields blank or to their default value.Save the record.

Figure 19: LOV AK Region

89

Page 90: hxcconfiguiwp

3.16.5 Create AK region items inside the AK region for the LOV page:

Here you need to create region items for each of the column you want to show on the LOV. Using the AK Regions window, querythe region that you created in the previous step, and with that row selected, click on the Region Items button.

So in our example, you would create the following region items inside the HXC ART SOURCE LOV region.

For the Source LOV, we make use of the seeded CustomLov1VO.xml that is delivered in the seeded product.

Attribute Type: AttributeApplication: Time and Labor EngineAttribute Name: Source City NameSequence: 10Node Display: CheckedQueryable: CheckedItem Name: HxcArtSourceCityNameView Usage Name: CustomLov1VOView Attribute Name: Lov1column1

For the Destination LOV, we make use of a new VO called XXDestLovVO that is not delivered in the seededproduct.

Attribute Type: AttributeApplication: Time and Labor EngineAttribute Name: Destination City NameSequence: 10Node Display: CheckedQueryable: CheckedItem Name: HxcArtDestCityNameView Usage Name: XXDestLovVOView Attribute Name: Lov2column1

Add another row Attribute Type: AttributeApplication: Time and Labor EngineAttribute Name: Destination Country NameSequence: 15Node Display: CheckedQueryable: CheckedItem Name: HxcArtDestCountryView Usage Name: XXDestLovVOView Attribute Name: Lov2column3

90

Page 91: hxcconfiguiwp

Figure 20: LOV AK Region items

91

Page 92: hxcconfiguiwp

3.16.6 Setting up the Custom LOV xml and java files:

For the Source City Name LOV, we reuse the delivered VO in $HXC TOP/java/selfservice/timecard/server/CustomLov1VO.xml butwith a customization.

We have to modify the query in the CustomLov1VO.xml file as given below because we do not require the aliasdefintionid columnin this example.

Actual query in the CustomLov1VO.xml :

select lov1column1,lov1column2,lov1column3,lov1column4,lov1column5,lov1column6,lov1column7,lov1column8,lov1column9,lov1column10from hxc cui custom lov1 vwhere aliasdefinitionid = :1

Modified Query in the CustomLov1VO.xml :

select lov1column1,lov1column2,lov1column3,lov1column4,lov1column5,lov1column6,lov1column7,lov1column8,lov1column9,lov1column10from hxc cui custom lov1 v

For the Destination City Name LOV,

Step 1 :Create a new custom VO $HXC TOP/java/selfservice/timecard/server/XXDestLovVO.xml

Query in the XXDestLovVO.xml :

select lov2column1,lov2column2,lov2column3,lov2column4,lov2column5,lov2column6,lov2column7,

92

Page 93: hxcconfiguiwp

lov2column8,lov2column9,lov2column10from XX cui custom lov2 v

and generate the XXDestLovVOImpl.java in the same location.

Step 2 :Add this newly created XXDestLovVO.xml to the Application Module $HXC TOP/java/selfservice/configui/server/LovAM.xml

After adding this to the AM, the file would have details about this new custom VO which was just created.

</ViewUsage><ViewUsageName="XXDestLovVO"ViewObjectName="oracle.apps.hxc.selfservice.timecard.server.XXDestLovVO" ></ViewUsage>

Place these modified and compiled .xml and .class files in the correct locations.

3.16.7 Migration of Ak Region to MDS Repository:

Run the migration script to copy the LOV definition from AK to the MDS repository

exec hxc lov migration.migrate lov region(p region code => ’HXC ART SOURCE LOV’,p region app short name => ’HXC’,p force => ’Y’);

exec hxc lov migration.migrate lov region(p region code => ’HXC ART DEST LOV’,p region app short name => ’HXC’,p force => ’Y’);

commit;

93

Page 94: hxcconfiguiwp

Figure 21: Flight Source and Destination LOVs

94

Page 95: hxcconfiguiwp

Bounce Apache to reflect the changes made in the AK Region on selfservice page.

3.16.8 LDT file customization to change prompt from Hours Type to Job Type:

BEGIN HXC LAYOUT COMPONENTS "Airlines Payroll Timecard Layout - Job Type"OWNER = "ORACLE"COMPONENT VALUE = "JOBTYPE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC ART JOB TYPE"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "180"COMPONENT DEFINITION = "PACKAGE CHOICE LIST"RENDER TYPE = "WEB"PARENT COMPONENT ="Payroll Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS "Airlines Payroll Timecard Layout - Job Type"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "PACKAGE CHOICE LIST"QUALIFIER ATTRIBUTE1 ="HXC DEPOSIT WRAPPER UTILITIES.timecard hours type list"QUALIFIER ATTRIBUTE2 ="@RESOURCE IDENTIFIER ID|@TIMECARD BIND START DATE|@TIMECARD BIND END DATE|ALIAS|@PAYROLL ELEMENTS|@PUBLIC TEMPLATE"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE24 = "PAYROLL ELEMENTS"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "OTL ALIAS 1"QUALIFIER ATTRIBUTE27 = "Attribute1"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

3.16.9 LDT file customization to include choice list:

BEGIN HXC LAYOUT COMPONENTS "Airways Payroll Timecard Layout - Aircraft Model"OWNER = "ORACLE"COMPONENT VALUE = "AIRCRAFT MODEL"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC ART AIRCRAFT"

95

Page 96: hxcconfiguiwp

ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "190"COMPONENT DEFINITION = "CHOICE LIST"RENDER TYPE = "WEB"PARENT COMPONENT ="Payroll Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS "Airways Payroll Timecard Layout - Aircraft Model"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"QUALIFIER ATTRIBUTE1 = "Custom1VO"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE8 = "DisplayValue"QUALIFIER ATTRIBUTE9 = "Value#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.Custom1VO"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Element Context"QUALIFIER ATTRIBUTE27 = "Attribute14"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

96

Page 97: hxcconfiguiwp

3.16.10 LDT file customization to include source and destination LOVs:

BEGIN HXC LAYOUT COMPONENTS "Airlines Payroll Timecard Layout - Source Terminal"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC ART SOURCE"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "192"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="Payroll Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Airlines Payroll Timecard Layout - Source Terminal"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "CustomLov1VO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "HXC ART SOURCE LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "10"QUALIFIER ATTRIBUTE6 ="HxcArtSourceCityName|SOURCE CITY NAME-DISPLAY|CRITERIA|N|HxcArtSourceCityName|SOURCE CITY NAME|RESULT|N|HxcArtSourceCityName|SOURCE CITY NAME-DISPLAY|RESULT|N"QUALIFIER ATTRIBUTE8 = "Lov1column1"QUALIFIER ATTRIBUTE9 = "Lov1column1"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.CustomLov1VO"QUALIFIER ATTRIBUTE17 = "NONE"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Element Context"QUALIFIER ATTRIBUTE27 = "Attribute12"QUALIFIER ATTRIBUTE28 = "SOURCE CITY NAME"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS "Airlines Payroll Timecard Layout - Destination Terminal"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC ART DESTINATION"ATTRIBUTE CODE APP SHORT NAME = "HXC"

97

Page 98: hxcconfiguiwp

SEQUENCE = "194"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="Payroll Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Airlines Payroll Timecard Layout - Destination Terminal"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "XXDestLovVO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "HXC ART DEST LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "10"QUALIFIER ATTRIBUTE6 ="HxcArtDestCityName|DESTINATION CITY NAME-DISPLAY|CRITERIA|N|HxcArtSourceCityName|SOURCE CITY NAME|PASSIVE CRITERIA|Y|HxcArtDestCityName|DESTINATION CITY NAME|RESULT|N|HxcArtDestCityName|DESTINATION CITY NAME-DISPLAY|RESULT|N"QUALIFIER ATTRIBUTE8 = "Lov2column1"QUALIFIER ATTRIBUTE9 = "Lov2column1"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.XXDestLovVO"QUALIFIER ATTRIBUTE14 ="HxcArtSourceCityName|SOURCE CITY NAME|Y"QUALIFIER ATTRIBUTE15 ="Lov2column1 NOT IN ( ::HxcArtSourceCityName)"QUALIFIER ATTRIBUTE17 = "NONE"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Element Context"QUALIFIER ATTRIBUTE27 = "Attribute13"QUALIFIER ATTRIBUTE28 = "DESTINATION CITY NAME"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

98

Page 99: hxcconfiguiwp

3.16.11 LDT file customization to include text field:

BEGIN HXC LAYOUT COMPONENTS "Airlines Payroll Timecard Layout - Total passengers"OWNER = "ORACLE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC ART PASSENGERS"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "196"COMPONENT DEFINITION = "TEXT FIELD"RENDER TYPE = "WEB"PARENT COMPONENT = "Payroll Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Airlines Payroll Timecard Layout - Total passengers"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "TEXT FIELD"QUALIFIER ATTRIBUTE1 = "N"QUALIFIER ATTRIBUTE2 = "Y"QUALIFIER ATTRIBUTE3 = "3"QUALIFIER ATTRIBUTE4 = "1"QUALIFIER ATTRIBUTE5 = "3"QUALIFIER ATTRIBUTE7 = "OraTableCellText"QUALIFIER ATTRIBUTE17 = "NONE"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Element Context"QUALIFIER ATTRIBUTE27 = "Attribute15"QUALIFIER ATTRIBUTE28 = "TOTAL PASSENGERS"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

Load the layouts using FNDLOAD command:

FNDLOAD username/password@dbname 0 Y UPLOAD $HXC TOP/patch/115/import/hxclaytlayoutsld.lct ./layout.ldtThe output log should be checked to ensure that there were no errors loading the layout.

Attach the custom Timecard Layout to the preference node to reflect the changes.

99

Page 100: hxcconfiguiwp

3.17 Configure an Entry Level Processing Timecard Layout to capture Project, Task and Expen-diture Type Information in Cost Allocation Key Flexfield segments

Requirement:Configure a timecard to capture Job and Location as timecard attributes in element input values, and additionally capture Project,Task and Expenditure Type in Cost Allocation Key Flexfield segments so that the Projects information can be retrieved to BEE aswell.

This configuration involves the following steps:

=> Create an element with additional input values Job and Location.=> Define Element Link, Element Set and run Generate Flexfield and Mapping process for this Element set.=> Define Job and Location AK Attributes and map them to the AK region.=> Add Project Id, Task Id and Expenditure Type as segments to the Cost Allocation KFF.=> Modify the ELP timecard layout ldt files to populate Project Id, Task Id and Expenditure Type in hiddenfield components which is stored in the Dummy Cost Context Attribute.=> Modify the ELP layout ldt file to show Job and Location fields.=> Load the ldt files using FNDLOAD command.=> Attach the layouts to the Time card layout preference.

The final timecard should look like this.

Figure 22: Configured ELP Timecard

100

Page 101: hxcconfiguiwp

The above timecard layout has been configured to capture Additional Element Input values and also capture Project, Task andExpenditure Type information in Cost Allocation KFF segments that can be validated, deposited in time store and retrieved to BEE.

The Additional Element Input Values are defined as follows :Job : Sequence 12Location : Sequence 13

Figure 23: Additional Element Input Values

101

Page 102: hxcconfiguiwp

3.17.1 Create AK attributes:

Navigate to AK Dev Responsibility - Define Attributes form and create the following Attributes

Figure 24: AK Attributes

Job Choice List Attribute ID: HXC TIMECARD JOBAttribute Name: Timecard Job PromptApplication: Time and Labor EngineItem Style: TextData Type: Varchar2Label: Job

Location Choice List Attribute ID: HXC TIMECARD LOCATIONAttribute Name: Timecard Location PromptApplication: Time and Labor EngineItem Style: TextData Type: Varchar2Label: Location

and leave the other fields to their default value.

102

Page 103: hxcconfiguiwp

3.17.2 Add Attributes to AK Region:

Navigate to AK Responsibility - Define Regions form and query for REGION ID = HXC CUI TIMECARD, Click on Region Itemsbutton and add the attributes as shown in the following figure.

Figure 25: Add Attributes

103

Page 104: hxcconfiguiwp

3.17.3 Create database views:

Create view definition for JOB choice list.

create or replace view hxc cui custom1 v (display value, value) asselect name , job id from per jobs;

Create view definition for LOCATION choice list.

create or replace view hxc cui custom2 v (display value, value) asselect state name , state code from pay us states;

3.17.4 Add Project Id, Task Id and Expenditure Type segments to Cost Allocation KFF:

Navigate to Key Flexfield Segments form and query for Title ”Cost Allocation Flexfield” and add the following segments to theappropriate context.

Name : Project IdWindow Prompt : Project IdColumn : SEGMENT11

Name : Task IdWindow Prompt : Task IdColumn : SEGMENT12

Name : Expenditure IdWindow Prompt : Expenditure IdColumn : SEGMENT13

Figure 26: Cost Allocation KFF Segments

104

Page 105: hxcconfiguiwp

3.17.5 LDT file hxczzhxclayt0025.ldt customization to include JOB and LOCATION choice lists:

BEGIN HXC LAYOUT COMPONENTS "Demo ELP Proj-Pay Timecard Layout - Job"OWNER = "ORACLE"COMPONENT VALUE = "JOB"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD JOB"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "218"COMPONENT DEFINITION = "CHOICE LIST"RENDER TYPE = "WEB"PARENT COMPONENT ="ELP Proj-Pay Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS "Demo ELP Proj-Pay Timecard Layout - Job"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"QUALIFIER ATTRIBUTE1 = "Custom1VO"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE8 = "DisplayValue"QUALIFIER ATTRIBUTE9 = "Value#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.Custom1VO"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Element Context"QUALIFIER ATTRIBUTE27 = "Attribute12"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS "Demo ELP Proj-Pay Timecard Layout - Location"OWNER = "ORACLE"COMPONENT VALUE = "LOCATION"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD LOCATION"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "220"COMPONENT DEFINITION = "CHOICE LIST"RENDER TYPE = "WEB"PARENT COMPONENT ="ELP Proj-Pay Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

105

Page 106: hxcconfiguiwp

BEGIN HXC LAYOUT COMP QUALIFIERS "Demo ELP Proj-Pay Timecard Layout - Location"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"QUALIFIER ATTRIBUTE1 = "Custom2VO"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE8 = "DisplayValue"QUALIFIER ATTRIBUTE9 = "Value#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.Custom2VO"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Element Context"QUALIFIER ATTRIBUTE27 = "Attribute13"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

3.17.6 LDT file hxczzhxclayt0025.ldt customization to add Cost Center field:

BEGIN HXC LAYOUT COMPONENTS "Demo ELP Proj-Pay Timecard Layout - Cost Center"OWNER = "ORACLE"COMPONENT VALUE = "COSTCENTER"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD COST CENTER"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "216"COMPONENT DEFINITION = "CHOICE LIST"RENDER TYPE = "WEB"PARENT COMPONENT ="ELP Proj-Pay Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS "Demo ELP Proj-Pay Timecard Layout - Cost Center"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"QUALIFIER ATTRIBUTE1 = "CostCenter2VO"QUALIFIER ATTRIBUTE4 = "N"QUALIFIER ATTRIBUTE8 = "DisplayValue"QUALIFIER ATTRIBUTE9 = "Value#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.CostCenter2VO"QUALIFIER ATTRIBUTE11 = "TIMECARD BIND END DATE|TIMECARD BIND END DATE"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"

106

Page 107: hxcconfiguiwp

QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Cost Context"QUALIFIER ATTRIBUTE27 = "Attribute1"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

3.17.7 LDT file hxczzhxclayt0025.ldt customization to map Project Information to Cost Allocation KFF:

BEGIN HXC LAYOUT COMPONENTS "Demo ELP Proj-Pay Timecard Layout - Project"OWNER = "ORACLE"COMPONENT VALUE = "PROJECT"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD PROJECT"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "202"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="ELP Proj-Pay Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/23"

BEGIN HXC LAYOUT COMP QUALIFIERS "Demo ELP Proj-Pay Timecard Layout - Project"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "ProjectLOVVO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "HXC CUI PROJECT LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "12"QUALIFIER ATTRIBUTE6 ="HxcCuiProjectNumber|PROJECT-DISPLAY|CRITERIA|N|HxcCuiProjectId|PROJECT|RESULT|N|HxcCuiProjectNumber|PROJECT-DISPLAY|RESULT|N|HxcCuiProjectId|PROJCAKF|RESULT|N"QUALIFIER ATTRIBUTE8 = "ProjectNumber"QUALIFIER ATTRIBUTE9 = "ProjectId#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.ProjectLOVVO"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "PROJECTS"QUALIFIER ATTRIBUTE27 = "Attribute1"QUALIFIER ATTRIBUTE28 = "PROJECT"LAST UPDATE DATE = "2004/05/23"

107

Page 108: hxcconfiguiwp

END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Demo ELP Proj-Pay Timecard Layout - Project Hidden"OWNER = "ORACLE"COMPONENT VALUE = "PROJECTID"SEQUENCE = "204"COMPONENT DEFINITION = "HIDDEN FIELD"RENDER TYPE = "WEB"PARENT COMPONENT ="ELP Proj-Pay Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Demo ELP Proj-Pay Timecard Layout - Project Hidden"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "HIDDEN FIELD"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|CSV|"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE23 = "FORM"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Cost Context"QUALIFIER ATTRIBUTE27 = "Attribute11"QUALIFIER ATTRIBUTE28 = "PROJCAKF"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS "Demo ELP Proj-Pay Timecard Layout - Task"OWNER = "ORACLE"COMPONENT VALUE = "TASK"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD TASK"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "206"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="ELP Proj-Pay Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/23"

BEGIN HXC LAYOUT COMP PROMPTS "HxcCuiTaskProjectId" "AK PROMPT"OWNER = "ORACLE"

108

Page 109: hxcconfiguiwp

REGION CODE = "HXC CUI TIMECARD"REGION APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD PROJECT"ATTRIBUTE APP SHORT NAME = "HXC"LAST UPDATE DATE = "2004/05/23"END HXC LAYOUT COMP PROMPTS

BEGIN HXC LAYOUT COMP QUALIFIERS "Demo ELP Proj-Pay Timecard Layout - Task"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "TaskLOVVO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "HXC CUI TASK LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "12"QUALIFIER ATTRIBUTE6 ="HxcCuiTaskNumber|TASK-DISPLAY|CRITERIA|N|HxcCuiTaskProjectId|PROJECT|PASSIVE CRITERIA|Y|HxcCuiTaskId|TASK|RESULT|N|HxcCuiTaskNumber|TASK-DISPLAY|RESULT|N|HxcCuiTaskId|TASKCAKF|RESULT|N"QUALIFIER ATTRIBUTE8 = "TaskNumber"QUALIFIER ATTRIBUTE9 = "TaskId#NUMBER"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.TaskLOVVO"QUALIFIER ATTRIBUTE14 ="HxcCuiTaskProjectId|PROJECT|Y#HxcCuiTaskProjectNumber|PROJECT-DISPLAY|Y"QUALIFIER ATTRIBUTE15 ="project id = ::HxcCuiTaskProjectId#upper(project number) = upper(::HxcCuiTaskProjectNumber)"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "PROJECTS"QUALIFIER ATTRIBUTE27 = "Attribute2"QUALIFIER ATTRIBUTE28 = "TASK"LAST UPDATE DATE = "2004/05/23"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Demo ELP Proj-Pay Timecard Layout - Task Hidden"OWNER = "ORACLE"COMPONENT VALUE = "TASKID"SEQUENCE = "208"COMPONENT DEFINITION = "HIDDEN FIELD"RENDER TYPE = "WEB"PARENT COMPONENT ="ELP Proj-Pay Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

109

Page 110: hxcconfiguiwp

BEGIN HXC LAYOUT COMP QUALIFIERS"Demo ELP Proj-Pay Timecard Layout - Task Hidden"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "HIDDEN FIELD"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|CSV|"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE23 = "FORM"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Cost Context"QUALIFIER ATTRIBUTE27 = "Attribute12"QUALIFIER ATTRIBUTE28 = "TASKCAKF"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS "Demo ELP Proj-Pay Timecard Layout - Expenditure Type"OWNER = "ORACLE"COMPONENT VALUE = "EXPENDITURETYPE"REGION CODE = "HXC CUI TIMECARD"REGION CODE APP SHORT NAME = "HXC"ATTRIBUTE CODE = "HXC TIMECARD EXPTYPE"ATTRIBUTE CODE APP SHORT NAME = "HXC"SEQUENCE = "210"COMPONENT DEFINITION = "LOV"RENDER TYPE = "WEB"PARENT COMPONENT ="ELP Proj-Pay Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/23"

BEGIN HXC LAYOUT COMP QUALIFIERS"Demo ELP Proj-Pay Timecard Layout - Expenditure Type"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "LOV"QUALIFIER ATTRIBUTE1 = "ExpenditureType2LOVVO"QUALIFIER ATTRIBUTE2 = "N"QUALIFIER ATTRIBUTE3 = "HXC CUI EXPTYPE2 LOV"QUALIFIER ATTRIBUTE4 = "809"QUALIFIER ATTRIBUTE5 = "12"QUALIFIER ATTRIBUTE6 ="HxcCuiExptypeDispColumn|EXPTYPE-DISPLAY|CRITERIA|N|HxcCuiExptypeExpType|EXPTYPE|RESULT|N|HxcCuiExptypeDispColumn|EXPTYPE-DISPLAY|RESULT|N|HxcCuiExptypeSysLinkFunc|SYSLINKFUNC|RESULT|N|HxcCuiExptypeExpType|EXPCAKF|RESULT|N"QUALIFIER ATTRIBUTE7 = "SYSLINKFUNC|SystemLinkageFunction"QUALIFIER ATTRIBUTE8 = "DisplayColumn"QUALIFIER ATTRIBUTE9 = "ExpenditureType"QUALIFIER ATTRIBUTE10 ="oracle.apps.hxc.selfservice.timecard.server.ExpenditureType2LOVVO"

110

Page 111: hxcconfiguiwp

QUALIFIER ATTRIBUTE11 ="TIMECARD BIND END DATE|TIMECARD BIND END DATE|TIMECARD BIND START DATE|TIMECARD BIND END DATE|TIMECARD BIND END DATE|TIMECARD BIND START DATE"QUALIFIER ATTRIBUTE17 = "OraTableCellText"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "PROJECTS"QUALIFIER ATTRIBUTE27 = "Attribute3"QUALIFIER ATTRIBUTE28 = "EXPTYPE"LAST UPDATE DATE = "2004/05/23"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

BEGIN HXC LAYOUT COMPONENTS"Demo ELP Proj-Pay Timecard Layout - Expenditure Type Hidden"OWNER = "ORACLE"COMPONENT VALUE = "EXPENDITURETYPE"SEQUENCE = "212"COMPONENT DEFINITION = "HIDDEN FIELD"RENDER TYPE = "WEB"PARENT COMPONENT ="ELP Proj-Pay Timecard Layout - Day Scope Building blocks for worker timecard matrix"LAST UPDATE DATE = "2004/05/24"

BEGIN HXC LAYOUT COMP QUALIFIERS"Demo ELP Proj-Pay Timecard Layout - Expenditure Type Hidden"OWNER = "ORACLE"QUALIFIER ATTRIBUTE CATEGORY = "HIDDEN FIELD"QUALIFIER ATTRIBUTE18 = "EXCLUDE"QUALIFIER ATTRIBUTE19 = "|CSV|"QUALIFIER ATTRIBUTE20 = "N"QUALIFIER ATTRIBUTE21 = "Y"QUALIFIER ATTRIBUTE22 = "L"QUALIFIER ATTRIBUTE23 = "FORM"QUALIFIER ATTRIBUTE25 = "FLEX"QUALIFIER ATTRIBUTE26 = "Dummy Cost Context"QUALIFIER ATTRIBUTE27 = "Attribute13"QUALIFIER ATTRIBUTE28 = "EXPCAKF"LAST UPDATE DATE = "2004/05/24"END HXC LAYOUT COMP QUALIFIERS

END HXC LAYOUT COMPONENTS

Load the layouts using FNDLOAD command:

FNDLOAD username/password@dbname 0 Y UPLOAD $HXC TOP/patch/115/import/hxclaytlayoutsld.lct ./layout.ldt

111

Page 112: hxcconfiguiwp

The output log should be checked to ensure that there are no errors loading the layout.

Attach the custom Timecard Layout to the preference node to reflect the changes.

3.17.8 Attributes data stored in database:

When a user submits a timecard using this layout, the HXC TIME ATTRIBUTES table stores data in the following format.

The row with Attribute Category ”Dummy Cost Context” stores the Project Id, Task Id and Expenditure Type in Attribute11, At-tribute12 and Attribute13 respectively as the Cost Allocation KFF is modified and the ldts are configured to store data in this format.

Figure 27: HXC TIME ATTRIBUTES table data

112

Page 113: hxcconfiguiwp

3.17.9 Batch Element Entry form showing the additional segments in Cost Allocation KFF:

Create a timecard with this configured layout and run Transfer Time from OTL to BEE process for the timecard to be transferredto BEE. When the batch is queried in BEE and the Element Lines are seen, the Cost Allocation KFF segments will contain the CostCenter information, Project, Taks and Expenditure Type Information entered in the timecard.

Figure 28: Cost Allocation KFF Segments in BEE

113

Page 114: hxcconfiguiwp

4 Technical Reference Guide

4.1 Components

Components are the visual items that build up an OTL layout file, and each component can have qualifiers which control variousaspects of how the component behaves. Along with qualifiers specific to each component, there are also a number of global qualifierswhich are settable for all components, although not necessarily used or supported - qualifiers are made to be global if they apply toa wide range of components.

This section covers all the components that the OTL Configurable UI supports along with their qualifiers, but inclusion heredoes not necessarily mean the component/qualifier is supported for use in customized layouts. The key for the tables defined belowis intended to act as a guide to the restricted components. Many of the development only qualifiers are subject to change withoutnotice and should not be changed.

Key to tables below

Many components and their qualifiers have very specific uses and are not intended to be changed or used other than by OTLdevelopment.

Table Entry MeaningD OTL Development Use Only - this field should be used, or the value

not changed from that delivered.! Caution - this attribute has usually been implemented for a very

specific purpose and should not be changed since it may have un-desirable side-affects.

M Applicable to the attributes on the timecard matrix only* Applicable to specific components onlyC Note - Value is case sensitive

Table 12: Component Tables Key

4.1.1 Global attributes

Context: GLOBAL DATA ELEMENTSDescription: Global attributes are present for all components, although that does not mean they actually have a use for allcomponents. An attribute is designated to be global if it applies to a significant number of components. Attributes marked as forOTL Development Use Only should not be altered by customers unless you have been instructed to do so by OTL Development. Theglobal attributes are shown in table 13.Notes:

1. Display modes can be used to remove or specifically include components in a particular layout context. This is primarilytargeted at the layouts that are re-used in different screens. Eg. The timecard entry layout is also used in the template createpage. By using the EXCLUDE setting, the component will not be shown if the current display mode exists in qualifier 19. TheINCLUDE setting means that the component will only be shown if the mode exists in qualifier 19.

2. The outside direction setting controls which side of the timecard matrix attributes are shown. Position is relative to the daylevel fields (ie. Measure, start/stop time) and individual positioning either side will be determined by the sequence set for eachcomponent.

114

Page 115: hxcconfiguiwp

No Purpose Description Valid Values Notes16 Component

LevelOracle Development UseOnly

N/A (D) (!)

17 Style Class CSS Style class Any valid style class name (*) (C)18 Display

Mode FlagThe display mode for thiscomponent1

INCLUDE,EXCLUDE

19 DisplayMode List

The display mode list used inconjunction with qualifier 18

TIMECARD, TEMPLATE, CSV (Export),

TIMECARD-SAVEFORLATER, TIMECARD-

SAVETEMPLATE, REVIEW, READ-ONLY,

DETAILS-REMOVE, REVIEW-REMOVE

20 DisplayOn NewLine

Force the component tobe rendered in a new ta-ble cell - DevelopmentUse Only

Y, N (D) (!)

21 Show Out-side Build-ing Block

Determines whether or not acomponent should be shownoutside the timecard matrix

Y,N (D)

22 Outside Di-rection

Determines which side ofthe timecard matrix the at-tribute will be shown2

L,R (M)

23 RenderType

* Oracle Development UseOnly *

(D)

24 DisplayModes

* Oracle Development UseOnly *

(D)

25 AccessMethod

Determines the accessmethod for the data source

FLEX, CUI, TIME BUILDING BLOCK,

TIME BUILDING BLOCK ATTRIBUTE, TIME-

CARD ATTRIBUTE, STATIC

26 Context The flex context for the datasource

A valid flex context (C)

27 ViewObjectAttribute

The flex attribute for thedata source

A valid attribute name within the flex context (C)

28 ComponentAlias

* Oracle Development UseOnly *

(D)

29 ComponentIdentifier

* Oracle Development UseOnly *

(D)

30 Read Only Sets the read-only flag (*)

Table 13: Global Attributes, applicable to every component. Required attribute(s) in bold.

115

Page 116: hxcconfiguiwp

4.1.2 Accrual Balance Component

Context: ACCRUAL BALANCE

Description: The Accrual Balance component has been added as an extra feature to our existing timecard entry screen to facilitateusers to see the Paid Time-Off Accrual balances he is entitled to and also assists him in entering the absence hours. This componentappears only in the Timecard Entry Screen and will not be available in Review and the Confirmation screens. This is a simple displaycomponent and all the display processing is done in the Java Component class. The Accrual Balances are shown to the user througha show/hide hyperlink region and by default the component will be in hide state. Selecting the hyperlink will evaluate and display theaccrual balances for the user. The display of this component is optional and is controlled via the preference ’Timecard allows displayof Accrual Balances’. By default this perference is set to ’No’ and hence the component will not appear in the TimeEntry Screen.For this component the display mode flag and the display mode list are configured to EXCLUDE and —TEMPLATE—CSV—respectively to ensure the component appears only in the Time-Entry Screen.

4.1.3 Choice List

Context:CHOICE LISTDescription: This component can be used to display a choice list (also known as a poplist) on your layout. The list is based on aSQL query on a database object as defined in the attached View Object.Notes: This component can be used in conjunction with the custom view object functionality provided with OTL, or with new ViewObjects. Other notes for qualifers described in the table:

1. If using a new View Object that you have defined please ensure the application module name and class are also specified sothat the object can be referenced correctly. See Application Modules for more information.

2. Enabling View Object caching should be used with caution. The cache is based on the static criteria bound to the viewobject, but in many views there are dynamic criteria referenced from global variables or profiles that may mean the same bindparameters may not result in the same set of data. In general this qualifier should always be set to ’N’.

3. The configurable UI will not usually execute a query unless there is an ’ID’ stored for a field since. This option forces theview object to execute even if there is no id - this should be used in conjunction with the read-only qualifier when you wish tocreate a read-only field based on a SQL query. When in this mode, the first row returned will be shown in the case of multiplematches.

4. This option is used to enable or disable prompt display - you may for example wish to disable prompt display if you want toformat your component along with others in a table and would prefer to render the labels separately from the components toget the correct alignment.

5. View Object bind parameters can either be associated with the View Object one at a time (ie. In each of the bind qualifiers1-5), or if support for more than 5 parameters is needed then the whole set can be defined in qualifier 1 using the format’BIND1—BIND2—BIND3—etc’.

116

Page 117: hxcconfiguiwp

No. Purpose Description Valid Values Notes1 ViewObject Name This is the name of the view object

that is attached to the choice list1Valid view ob-ject name

(C)

2 Cache Enabled Enable the cache for the View Object2 Y,N (!)3 Always Execute for Read

OnlyInstructs the view object to perform thequery associated even if there is no IDvalue stored.3

Y,N

4 Show Prompt Render associated prompt along with thecomponent4

Y,N

5 Required * Oracle Development Use Only * Y,N (D),(!)8 Displayed Attribute

NameThis is the name of the attribute in theView Object that should be used for thedisplayed value of the field

A valid attributename in the viewobject for thecomponent

(C)

9 ID Attribute Name This is the name of the attribute in theView Object that should be used for thestored value of the field

A valid attributename in the viewobject for thecomponent

(C)

10 View Object Class Full class reference of the view ob-ject for the component

A valid viewobject refer-ence

(C)

11 Bind Variable #1 Parameter to bind to the view object5 Valid bindparameterstructure

12 Bind Variable #2 Parameter to bind to the view object5 Valid bindparameterstructure

13 Bind Variable #3 Parameter to bind to the view object5 Valid bindparameterstructure

14 Bind Variable #4 Parameter to bind to the view object5 Valid bindparameterstructure

15 Bind Variable #5 Parameter to bind to the view object5 Valid bindparameterstructure

Table 14: Choice List Components. Required Attribute(s) are displayed in bold.

117

Page 118: hxcconfiguiwp

4.1.4 Descriptive FlexField

Context:DESCRIPTIVE FLEXDescription: This component is used to render a descriptive FlexField onto the page. At the current time its use is limited torendering the appropriate FlexField on the details page for each day.Notes:* Oracle Development Use Only *

No. Purpose Description Valid Values Notes1 FlexField Name Name of the descriptive FlexField A valid Flex-

Field name.2 FlexField App Short

NameApplication short name of the de-scriptive FlexField (eg. HXC)

A valid shortapplicationcode.

3 Default Context The default selected context for the Flex-Field

A valid context (D)(!)

4 Show Context List Flag to turn the context list for the Flex-Field on or off

Y,N (D)(!)

5 Region Name The region code for the page The correctregion code

(D)

6 Region ApplicationID

The application id of the region forthe page

A valid andcorrect appli-cation id

(D)

Table 15: Descriptive flexfield component qualifing attributes. Required attribute(s) are displayed in bold.

118

Page 119: hxcconfiguiwp

4.1.5 Display Header

Context:DISPLAY HEADERDescription: This component is used to display a header on the layout. The header text is retrieved from the prompt data attachedto the component.

4.1.6 Display Label

Context:DISPLAY LABELDescription:This component is used to show a label on the layout. The label text is retrieved from the prompt data attached tothe component.

4.1.7 Display Text

Context:DISPLAY TEXTDescription:This component is used to display a block of text on the page - it is intended for larger and usually multi-line sectionsof text (unlike the Display Label component which is intended for short label text). The source of text for the label is a standardOracle Applications message.

No. Purpose Description Valid Values Notes1 Message Name The alias of the message to display

(the alias links to a prompt objectattached to the component which inturn points to an FND message)

Valid messagealias name

Table 16: Display text component qualifing attributes. Required attribute(s) are displayed in bold.

4.1.8 Hidden Field

Context:HIDDEN FIELDDescription:The hidden field component is used to create a HTML form field, which is basically a non-visible form item which issubmitted along with the page. The common use for this common in the OTL configurable UI is in conjunction with LOVs when therequirement is for the LOV criteria to populate multiple IDs to be submitted when a value is selected.

4.1.9 Hours Type Table

Context:HOURSTYPE TABLEDescription: This component is used to display the Hours Type table on the confirmation pages of various layout sets.

4.1.10 Inter-Period Navigation Control

Context: INTER PERIOD NAV CONTROLDescription: This component is used to display the inter-period navigation choice list and ’go’ button on timecard entry layouts.Notes: Oracle Development Use Only

No. Purpose Description Valid Values Notes1 Show Prompt Flag to determine whether or not the com-

ponent should render its own promptY,N (D)

Table 17: Inter Period Navigational Control component qualifing attributes. Required attribute(s) are displayed in bold.

119

Page 120: hxcconfiguiwp

4.1.11 Key Notation

Context: KEY NOTATIONDescription: This component is used to control the display of some page key message such as the one for required fields.Notes: Oracle Development Use Only

No. Purpose Description Valid Values Notes1 Show Required Key Show required field message Y,N (D)

Table 18: Key notation component qualifing attributes. Required attribute(s) are displayed in bold.

4.1.12 List Of Values

Context: LOVDescription: This component is used to display a List-of-Values (LOV) component on a timecard layout. Various criteria can beset up to dynamically configure both the value available (based on other fields) as well as the fields that will be populated when aresult is selected from the list. This component is best suited for scenarios when a field has many possible values (since the data doesnot need to be included in the page, and the query fires only when the user does a search and Is often restricted further to improveperformance), or if there is a requirement for multiple fields to be populated, or the field to be restricted by other values the user hasentered on the page.Notes:

1. if using a new View Object that you have defined please ensure the application module name and class are also specified sothat the object can be referenced correctly. See Application Modules for more information.

2. Enabling View Object caching should be used with caution. The cache is based on the static criteria bound to the viewobject, but in many views there are dynamic criteria referenced from global variables or profiles that may mean the same bindparameters may not result in the same set of data. In general this qualifier should always be set to ’N’.

3. The qualifiers still reference the AK region name and application ID for backwards compatibility, but the LOV region must bemigrated to the MDS repository.

4. The display width is set as the width on the HTML component produced by the configurable UI. Depending on your fontsettings the number of characters that can be displayed for a given field width can vary.

5. This qualifier is used to set up the criteria used for the LOV. It is a tokenized string consisting of 4 items per criteria, eachseparated by a pipe symbol ’—’.Note: when a LOV component is rendered by the configurable UI it will actually render twocomponents. One contains the actual ID that is submitted and saved with the timecard (this component can be referred to bythe alias given to the LOV component in the layout definition). This ID component is rendered on the page as a hidden fieldand the ID value in the LOV should be returned to it.The other field that is rendered is the actual text field that can be seen onthe page. This field contains the ’display’ value for the LOV. This field has an implicit alias given to it of the base alias namefollowed by ’-DISPLAY’. This alias should also be populated as a result of the LOV. Bear in mind that if you create other fieldson the screen that are dependant on the ID of a field, then you should also take into account the ’display’ value to cover thescenario where a user is manually entering values into the LOV text fields (in this scenario the ID fields will not be populated).

6. If your LOV needs to populate additional columns from the query (eg. If one of the displayed fields has a composite primarykey and both fields need to be populated) then this qualifier can be used. This qualifier is used in conjunction with the LOVresult criteria - if the LOV is used on a page, then the additional results should be populated with that. This qualifier is used inthe cases when the LOV does not fire (and so the additional columns would not be populated usually). When the SQL query isperformed for the LOV this qualifier will be checked and additional results will be populated based on its contents. The format ofthis qualifier is: ¡Component Alias¿—¡View Object Attribute¿. Where ¡Component Alias¿ is the name of the component beingused to store the value (usually a hidden field component), and ¡View Object Attribute¿ is the name of the view object attributethat the column should be populated from. For example, the System Linkage Function is returned as a result of the Expenditure

120

Page 121: hxcconfiguiwp

Type query. Note that the in page population of result fields is handled in qualifier attribute6 as stated above - this qualifieris used for the case when the LOV functionality is not used on the screen and a value is entered manually. In this scenario,when the page is submitted, the query for the LOV will be executed with the manually entered value and if a unique result isfound the ’result’ columns will be populated using the attribute in the VO specified by this qualifier. To allow multiple resultcolumns to be specified, this qualifier is a token separated string consisting of ’ALIAS—View Object Attribute Name’ pairs.So for example, if you have a query and wish the component aliased as ’PROJECT’ to contain the value from the ’ProjectId’column in the VO, and the component aliased as ’PROJECTCODE’ to contain the value from the ’ProjectCode’ column in theVO, the qualifier would be: QUALIFIER ATTRIBUTE7 = ”PROJECT—ProjectId—PROJECTCODE—ProjectCode”

7. View Object bind parameters can either be associated with the View Object one at a time (ie. In each of the bind qualifiers1-5), or if support for more than 5 parameters is needed then the whole set can be defined in qualifier 1 using the format’BIND1—BIND2—BIND3—etc’.

8. If your LOV is dependant on the value of another field, then qualifiers 14 and 15 can be used to restrict the choices availablein the list based on that value. These settings are also used to ensure that the correct results are returned from queries on thefield. Qualifier 14 contains the mappings between items in the LOV and aliases in the timecard for the purposes of buildingthe query clause at runtime. There is a third value which is used to specify if this mapping is also to be used when the LOV isbuilt - in most cases this will be set to Y, but may be set to N in cases where the appropriate values are being passed into theLOV code using the criteria. The value for this qualifier is a double token separated list - for each dependent item there is atokenized string in the form ’Lov Item Name—Alias—Use in LOV’. If there is more than one dependent item more can be added,separating each one with a hash ’#’ - i.e. ’Item1—ALIAS1—Y#Item2—ALIAS2—Y’ Qualifier 15 is linked to the dependentitem list qualifier outlined above. The value for this qualifier is also a token separated string and contains the fragments of SQLto be added to the where clause if a value for the dependent item exists. There should be one entry on this list for each of thedependent items specified in qualifier 14 - each of the entries is separated by a hash sign ’#’. In order to reference the value ofthe dependent item, you can prefix the LOV item name with two colons. For example ’my column = ::Item1’. Note that forLOVs the displayed value is implicitly added to the where clause using UPPER to make it case-insensitive.

See the LOV and JRAD/MDS and example section for additional information about LOVs.

121

Page 122: hxcconfiguiwp

No Purpose Description Valid Values Note1 View Object name This is the name of the view object

that is attached to the LOV1Valid view object name (C)

2 Cache Enabled Cache the View Object?2 Y,N (D)(!)3 LOV AK Region

CodeAK region that defines the LOVpage3

Valid AK LOV region

4 LOV AK Region Ap-plication ID

Application ID of the AK regionthat defines the LOV page

Application ID for the AKLOV region specified

5 Display Width Display width of the LOV field4 Numeric6 LOV Criteria LOV criteria - this controls what val-

ues the LOV is restricted by, alongwith the values populated when a re-sult is selected (5)

Valid Criteria String5 (C)

7 Result Column Map-pings

Specifies additional columns to populatefrom the LOV query6

(C)

8 Displayed AttributeName

This is the name of the attribute in theView Object that should be used for thedisplayed value of the field

A valid attribute name in theview object for the component

(C)

9 ID Attribute Name This is the name of the attribute in theView Object that should be used for thestored value of the field

A valid attribute name in theview object for the component

(C)

10 View Object Class Full class reference of the view ob-ject for the component

A valid view object refer-ence

(C)

11 Bind Variable #1 Parameter to bind to the view object7 Valid bind parameter12 Bind Variable #2 Parameter to bind to the view object7 Valid bind parameter13 Bind Variable #3 Parameter to bind to the view object7 Valid bind parameter14 Dependant Item List Specifies a list of dependant fields that can

be used to restrict the LOV8(C)

15 Dependant Item WhereClause

Specifies the where clause fragment thatshould be appended for each of the abovedependant fields

(C)

Table 19: List of Values component qualifing attributes. Required attribute(s) are displayed in bold.

122

Page 123: hxcconfiguiwp

4.1.13 Message Box

Context:MESSAGE BOXDescription:This component displays an imbedded message dialog on the timecard page. The type of dialog and FND message touse for the text is defined in the qualifiers.Notes:Development Use Only

No. Purpose Description Valid Values Notes1 Type Type of dialog to display ERROR,

WARNING,INFORMA-TION

2 Text Message Name The alias of the message to display(the alias links to a prompt objectattached to the component which inturn points to an FND message)

Valid messagealias name

3 Display at the Top of thePage

Flag as to whether or not this dialog willbe shown in the page status region at thetop of the page

Y,N

Table 20: Message Box component qualifing attributes. Required attribute(s) are displayed in bold.

4.1.14 Notification Day Detail

Context:NOTIFICATION DAY DETAILDescription:This component is used to display the day detail in notification layouts.Notes:Development Use Only

4.1.15 Package Choice List

Context:PACKAGE CHOICE LISTDescription:This component is used to display a choice list on a layout that is based on the result of a PL/SQL function call ratherthan the traditional SQL query. Currently only one instance of a Package Choice List component can exist on a Self-Service page.Notes:See Package Choice List in the Configuration Concepts section for more information. Other notes from the qualifier table are:

1. Enabling View Object caching should be used with caution. The cache is based on the static criteria bound to the viewobject, but in many views there are dynamic criteria referenced from global variables or profiles that may mean the same bindparameters may not result in the same set of data. In general this qualifier should always be set to ’N’.

2. The configurable UI will not usually execute a query unless there is an ’ID’ stored for a field since. This option forces theview object to execute even if there is no id - this should be used in conjunction with the read-only qualifier when you wish tocreate a read-only field based on a SQL query. When in this mode, the first row returned will be shown in the case of multiplematches.

4.1.16 Page Status

Context: PAGE STATUSDescription:This shows a standard Oracle Applications framework page status component, which is used to render page controlsand messages.Notes:Oracle Development Use Only

123

Page 124: hxcconfiguiwp

No. Purpose Description Valid Values Notes1 Function Call Function call for the package choice

list (in package.function format)2 Parameter List List of parameters to be passed to the

function (passed by order)3 Cache Enabled Enable the cache for the View Object1 (!)4 Show Prompt Render associated prompt along with the

componentY,N

5 Required Oracle Development Use Only Y,N (D)(!)6 Always Execute for Read

OnlyInstructs the view object to perform thequery associated even if there is no IDvalue stored.2

Y,N

Table 21: Package Choice List component qualifing attributes. Required attribute(s) are displayed in bold.

No. Purpose Description Valid Values Notes1 Text Instruction Text instruction to include in the page

status component(D)

2 Required Field Controls whether or not the re-quired field component is displayed

Y,N (D)

Table 22: Page Status component qualifing attributes. Required attribute(s) are displayed in bold.

4.1.17 Spacer

Context:SPACERDescription:This component can be used to add extra white space between components on the page.Notes:

No. Purpose Description Valid Values Notes1 Spacer Type The orientation of the spacer VERTICAL,

HORIZON-TAL

2 Spacer Size The size of the spacer (in pixels) Numeric

Table 23: Spacer component qualifing attributes. Required attribute(s) are displayed in bold.

4.1.18 Submit Button

Context:SUBMIT BUTTONDescription:This component creates a submit button on the page.Notes: Oracle Internal Development Use Only.

4.1.19 Submit Icon

Context:SUBMIT ICONDescription:This component is the same as a submit button, but uses an icon as the displayed item rather than a rendered button.Notes: Oracle Internal Development Use Only.

124

Page 125: hxcconfiguiwp

No. Purpose Description Valid Values Notes1 Submit Action The form action parameter (used

to identify what submit button hasbeen used)

Alphanumericstring

(D)

Table 24: Submit Button component qualifing attributes. Required attribute(s) are displayed in bold.

No. Purpose Description Valid Values Notes1 Submit Action The form action parameter (used

to identify what submit button hasbeen used)

Alphanumericstring

(D)

2 Enabled Icon The icon to display when the buttonis enabled

Valid icon im-age

(D)

3 Disabled Icon The icon to display when the button isdisabled

Valid icon image (D)

4 Show When Dis-abled?

Flag to determine if the disabledicon should be shown

Y,N (D)

5 Default Value The default state of the icon DISABLED,ENABLED

(D)

Table 25: Submit Icon component qualifing attributes. Required attribute(s) are displayed in bold.

4.1.20 Summary Table

Context:SUMMARY TABLEDescription: Used to display the CLA summary table on a timecard layout.Notes: Oracle Internal Development Use Only.

No. Purpose Description Valid Values Notes1 VO Name This is the name of the view object

that is attached to the component(1)

Valid view ob-ject name

(D)(C)

2 Fully Qualified VOName

Full class reference of the view ob-ject for the component

A valid viewobject refer-ence

(D)(C)

Table 26: Summary Table component qualifing attributes. Required attribute(s) are displayed in bold.

4.1.21 Table Layout

Context:TABLE LAYOUTDescription: This component creates a HTML table layout based on any child components attached to it. It is primarily used forformatting of screens, achieving the desired layout and ensuring correct alignment of fields.Notes:

1. The table will render based on the number of columns and the child components attached to the table. Using the sequenceorder the component will display each child in a new table cell, moving to a new row once the column count has been reached.

125

Page 126: hxcconfiguiwp

No. Purpose Description Valid Values Notes1 Number of Columns The number of columns in the table1 Numeric2 Cell Spacing HTML Cell spacing set on the table Numeric3 Cell Padding HTML Cell padding set on the table Numeric4 Cell Width HTML Cell width set on the table Numeric5 Horizontal Alignment HTML Cell horizontal alignment set on

the table

Table 27: Table Layout component qualifing attributes. Required attribute(s) are displayed in bold.

4.1.22 Template Control

Context:TEMPLATE CONTROLDescription:This component is used to display the template control on the timecard entry page. The component consists of theprompt, choice list containing the available templates, an overwrite checkbox (which can be turned off via preferences) and the submitbutton.Notes: Oracle Internal Development Use Only

No. Purpose Description Valid Values Notes1 Show Prompt Flag to determine whether or not the com-

ponent should render its own promptY,N (D)

Table 28: Template Control component qualifing attributes. Required attribute(s) are displayed in bold.

4.1.23 Text Field

Context: TEXT FIELDDescription: This component is used to display a text field component on the layout.Notes:

1. The display width is set as the width on the HTML component produced by the configurable UI. Depending on your fontsettings the number of characters that can be displayed for a given field width can vary.

4.1.24 Timecard Fragmentation Cluster

Context: TIMECARD FRAGMENTATION CLUSTERDescription: This component is used to display a fragmented view of the timecard on layouts.Notes: Oracle Internal Development Only

4.1.25 Time Building Block

Context:TIME BUILDING BLOCKDescription: This component is used to control the rendering of the page based on timecard data. It is used to both control thedata linking of the all of attributes, and also to render the timecard matrix.Notes: Oracle Internal Development Use Only

4.2 Tokens

Table 31 displays the list of currently understood tokens, e.g. for use as bind parameters etc.

126

Page 127: hxcconfiguiwp

No. Purpose Description Valid Values Notes1 Show Label (Compo-

nent)Flag to determine whether or notthe component should render itsown prompt

Y,N

2 Show Label (ParentComponent)

Flag to determine whether or notthe parent component should renderthe prompt for the component

Y,N

3 Field Width Display width of the LOV field1 Numeric4 Field Height The height/number of lines to use for the

text fieldNumeric

5 Maximum Length The maximum length (in characters) toenforce for this field

Numeric

6 CSS Class CSS Style class Any valid styleclass name

7 Read-Only CSS Class CSS Style class to use when the field isrendered in read-only mode

Any valid styleclass name

Table 29: Text Field component qualifing attributes. Required attribute(s) are displayed in bold.

4.3 Seeded Prompts

4.3.1 HXC CUI TIMECARD Region

4.3.2 HXC CUI TIMECARD REVIEW Region

4.3.3 HXC CUI TIMECARD CONFIRMATION Region

4.4 Seeded Messages

4.5 CUI Error Codes

Codes in italics are internal development debugging messages and will not usually be seen.

127

Page 128: hxcconfiguiwp

No. Purpose Description Valid Values Notes1 Orientation Controls the orientation that the

building block is rendered inH,V (D)(!)

2 Grouping Controls the way the building blocksare grouped

D,N (D)(!)

3 Scope Scope of the building block D,T (D)(!)4 Building Block Num-

berNot used (D)(!)

5 Show Horizontal To-tal

Flag to determine if the horizontaltotal should be shown on the time-card matrix

Y,N

6 Show Vertical Total Flag to determine if the vertical to-tal should be shown on the timecardmatrix

Y,N

7 Add Row Button Flag to determine if the add rowbutton should be shown on the time-card matrix

Y,N

8 Recalculate Button Flag to determine if the calculatebutton should be shown on the time-card matrix

Y,N

9 Delete Enabled Not used Notused

10 Building Block Align-ment

Controls the alignment of the table cellsgenerated

(D)(!)

11 Building Block DisplayStyle

Not used (D)(!)

Table 30: Time Building Block component qualifing attributes. Required attribute(s) are displayed in bold.

128

Page 129: hxcconfiguiwp

Name DescriptionTIMECARD ID The ID of the timecard level building block for the current

timecard - this ID along with the version number is usedto uniquely identify a timecard row.

TIMECARD OVN The version number of the timecard - this number alongwith the ID is the key needed to uniquely identify atimecard. The version number is incremented each timechanges are made to a timecard.

TIMECARD START DATE The formatted start date of the timecard period.TIMECARD END DATE The formatted end date of the timecard period.TIMECARD BIND START DATE The start date of the timecard period in canonical format

- the primary use of this format is to pass the date in astandard character format (ie. Bind variables)

TIMECARD BIND END DATE The end date of the timecard period in canonical format- the primary use of this format is to pass the date in astandard character format (ie. Bind variables)

RESOURCE IDENTIFIER TYPE The type of resource the timecard is for - at the currenttime this will always be ’PERSON’.

RESOURCE IDENTIFIER NAME The name of the resource for the timecard (ie. The personsname).

RESOURCE IDENTIFIER ID The ID of the resource.BUSINESS GROUP ID The business group ID for the resource - primarily used for

bind variables.

Table 31: Currently recognized tokens

129

Page 130: hxcconfiguiwp

Code Name Long LabelHXC APPR FRAG HEADER TITLE Approval Fragmentation

HeaderReview Approver Com-ments: @RI NAME,@RA NUMBER

HXC CUI ADD ANOTHER ROW Timecard Add Another RowLabel

Add Another Row

HXC CUI ALTERNATE NAME4 Alternate Name Item 4 Label Alternate Name Item 4HXC CUI ALTERNATE NAME ITEM1 Alternate Name Item 1 Label Alternate Name Item 1HXC CUI ALTERNATE NAME ITEM2 Alternate Name Item 2 Label Alternate Name Item 2HXC CUI ALTERNATE NAME ITEM3 Alternate Name Item 3 Label Alternate Name Item 3HXC CUI ALTERNATE NAME ITEM5 Alternate Name Item 5 Label Alternate Name Item 5HXC CUI ANNUAL ACCRUAL Annual Leave Balance Annual Leave BalanceHXC CUI APPR REJECT COMMENT Approval Rejection Com-

mentApprover’s Comments:

HXC CUI CALCULATE Timecard Calculate Label CalculateHXC CUI COMMENTS LABEL Timecard Comments Export

LabelComments

HXC CUI HORIZONTAL TOTAL LABEL Timecard Horizontal TotalPrompt

Total

HXC CUI MONTHLY ACCRUAL Monthly Leave Balance Monthly Leave BalanceHXC CUI TIMECARD APPR OVERRIDE Timecard Approver Override Overriding ApproverHXC CUI TIMECARD AUDIT REASON Reason Label ReasonHXC CUI TIMECARD COMMENTS Comments CommentsHXC CUI TIMECARD FRAG BUTTON Approver Comments Approver CommentsHXC CUI TIMECARD PERIOD Timecard Period (days) Timecard Period (days)HXC CUI TIMECARD WEEK STARTING Week Starting Week StartingHXC CUI TOTAL LABEL Timecard Total Label TotalHXC CUI VERTICAL TOTAL Timecard Vertical Total

PromptTotal

HXC HOURSTYPE OVERTIME LABEL Timecard Hours Type Over-time Label

Premium

HXC HOURSTYPE REGULAR LABEL Timecard Hours Type Regu-lar Label

Regular

HXC HOURSTYPE TOTALHOURS LABEL Timecard Hours Type TotalHours Label

Total Hours Entered

HXC TEMPLATE LABEL CUI Template Label TemplateHXC TEMPLATE SUBMIT BUTTON CUI Template Go Button La-

belGo

Table 32: Timecard region seeded prompts (Part 1.)

130

Page 131: hxcconfiguiwp

Code Name Long LabelHXC TIMECARD APPLY SELECTED Apply to Selected label Apply to SelectedHXC TIMECARD AUDIT DAY Audit Page Day Header DayHXC TIMECARD AUDIT DTENTERED Audit Page Date Entered

HeaderDate Entered

HXC TIMECARD AUDIT HOURS Audit Page Hours Header HoursHXC TIMECARD AUDIT REASON Audit Page Reason ReasonHXC TIMECARD COMMENT Audit Page Comment CommentHXC TIMECARD CONTEXTLIST Timecard Context List

PromptContext List

HXC TIMECARD COST CENTER Timecard Cost CenterPrompt

Cost Center

HXC TIMECARD DELETE Delete Label DeleteHXC TIMECARD DETAILS Details Label Additional DetailsHXC TIMECARD DETAIL HEADER Timecard Details Header Additional De-

tails: @RI NAME,@RA NUMBER

HXC TIMECARD DETAIL TITLE Timecard Detail Title Detail Information: @!DE-TAIL DAY HEADER

HXC TIMECARD DUPLICATE Duplicate DuplicateHXC TIMECARD EXPTYPE Expenditure Type TypeHXC TIMECARD HEADER TITLE Timecard Header Title Time Entry: @RI NAME,

@RA NUMBERHXC TIMECARD HOURS TYPE Timecard Hours Type

PromptHours Type

HXC TIMECARD MEASURE Measure MeasureHXC TIMECARD NEW ENTRY Audit Page New Entry New EntryHXC TIMECARD OLD ENTRY Audit Page Old Entry Old EntryHXC TIMECARD PERIOD GO LABEL Timecard Period Go Button

LabelHXC TIMECARD PERIOD LABEL Timecard Period Label PeriodHXC TIMECARD PROJECT Project ProjectHXC TIMECARD QUANTITY Quantity HrsHXC TIMECARD SAVE TEMPL BUTTON Timecard Save As Template

Submit ButtonSave as a Template

HXC TIMECARD SAVE TEMPL LABEL Timecard Save As TemplateLabel

Template Name

HXC TIMECARD STARTTIME Start Time StartHXC TIMECARD STOPTIME Stop Time StopHXC TIMECARD SYSLINKFUNC System Linkage Function System Linkage FunctionHXC TIMECARD TASK Task TaskHXC TIMECARD TEMPLATE LABEL Timecard Template Label TemplateHXC TIMECARD TEMPLATE OW LABEL Timecard Template Over-

write LabelOverwrite Entry

HXC TIMECARD TEMPLATE SUBMIT Timecard Template SubmitLabel

Apply Template

HXC TIMECARD TIP TEXT Timecard Tip Text Enter your time for the twoweek time card period.

HXC TIMECARD TIP TITLE Timecard Tip Title Timecard PeriodStarting: @TIME-CARD START DATE

Table 33: Timecard region seeded prompts (Part 2.)131

Page 132: hxcconfiguiwp

Code Name Long LabelHXC TCNOTIFICATION HEADER Timecard Notification

Header TitleTimecard Entries

HXC TCREVIEW CHANGES HEADER TC Audit Page Header Change Reasons: @RI NAME,@RA NUMBER

HXC TCREVIEW COMMENTS LABEL Timecard Review Com-ments Label

Comments

HXC TCREVIEW HEADER TITLE Timecard ReviewHeader Title

Review: @RI NAME,@RA NUMBER

HXC TCREVIEW HOURS EXPLOSION Timecard Review HoursExplosion Matrix Header

Time Detail

HXC TCREVIEW PERIOD LABEL Timecard Review PeriodLabel

Timecard Period

HXC TCREVIEW PERIOD TEXT Timecard Review PeriodText

@TIMECARD PERIOD LENGTH

day(s)HXC TCREVIEW WEEKSTART LABEL Timecard Review Week

Starting LabelWeek Starting

HXC TC AUDIT HEADER Audit Summary Header Audit SummaryHXC TC CHANGE HEADER Audit Page Change

HeaderChanged Entries

HXC TC LATE HEADER Audit Page Late Header Late EntriesHXC TC REVIEW HOURS ENT HEADER Timecard Review Hours

Entered HeaderHours Entered

Table 34: Timecard Review region seeded prompts

Code Name Long LabelHXC TC AUDIT HEADER Audit Summary Header Audit SummaryHXC TC CHANGE HEADER Audit Page Change

HeaderChanged Entries

HXC TC CONF APPROVER LABEL Timecard ConfirmationApprover Label

Approver

HXC TC CONF HEADER Timecard ConfirmationHeader

Confirmation:@RI NAME,@RA NUMBER

HXC TC CONF HOURS ENT HEADER Timecard ConfirmationHours Entered Header

Hours Entered

HXC TC CONF SUMMARY HEADER Timecard ConfirmationSummary Header

Summary

HXC TC CONF VAC BAL LABEL Timecard ConfirmationVacation Balance Label

Vacation Balance

HXC TC LATE HEADER Audit Page Late Header

Table 35: Timecard Confirmation region seeded prompts

132

Page 133: hxcconfiguiwp

Message Name Message TextHXC SAVEFORLATER CONFIRM The timecard has been saved successfully.HXC SAVEASTEMPLATE CONFIRM The timecard has been successfully saved as a template.HXC SUBMIT CONFIRMATION Time entries for the given timecard period have been sub-

mitted successfully.HXC 366216 DUP ATTR ENTRY You have entered duplicate time attributes. This is not

currently supported. Enter unique time attribution oneach row.

HXC PROJECTS DETAIL TIP TEXTHXC TIMECARD TIP TEXT ¡b¿¡/b¿

Table 36: Seeded Timecard Messages

133

Page 134: hxcconfiguiwp

Error Code MeaningCUI COMPONENT MESSAGE NOT FOUND The message entity specified in the message alias on the

component could not be found (check it exists and thatthe alias is correct).

CUI COMPONENT PROMPT NOT FOUND The prompt entity specified in the prompt alias on thecomponent could not be found (check it exists and thatthe alias is correct).

CUI COMPONENT PROPERTY NOT FOUND The property specified for the component could not befound - confirm you have edited the layout correctly if thismessage is seen.

CUI INVALID RENDER METHOD Internal development code - an incorrect render methodfor the configurable UI to use has been specified

CUI INVALID QUERY METHOD Internal development code -an incorrect query method tofind the layout id has been specified

CUI NO COMPONENTS The layout was located, but no components were found init - if a script has been run to delete components from ta-bles it will usually leave the main row intact so the sameid can be reused to load the layout to avoid breaking pref-erences. Reload the layout to resolve this error.

CUI NO LAYOUT FOUND No layout was found with the ID specified for the user -confirm preferences are correct and that the layout has notbeen deleted manually from the tables

CUI NO RESOURCE ID No ID was found for the person - confirm the user has anemployee attached

CUI NULL LAYOUT NAME Internal development code - the layout name is null.CUI PARENT WEBBEAN NOT FOUND The parent webbean reference for the component could

not be found - check for PARENT BEAN attributes withaliases that do not resolve to another component (theyshould map to a COMPONENT ALIAS attribute on an-other component)

CUI PREF LAYOUT ID ERR The layout ID from the user preferences was not foundCUI PREF LAYOUT ID NULL The layout ID from the user preferences is nullCUI UNKNOWN RENDER METHOD Internal development code - an incorrect render method

for the configurable UI to use has been specifiedCUI UNKNOWN QUERY METHOD Internal development code -an incorrect query method to

find the layout id has been specified

Table 37: Configurable User Interface Error Codes

134

Page 135: hxcconfiguiwp

Error Code MeaningDFF INCOMPLETE FLEX CONTEXT Internal development code - the flex context is missing or

corruptDFF NULL FLEX APP SHORT NAME The FlexField application short name was not set for the

descriptive flex componentDFF NULL FLEX NAME The FlexField name was not set for the descriptive flex

componentDFF NULL FLEX REGION NAME The region name was not set for the descriptive flex com-

ponentDFF NULL FLEX REGION APP ID The region application id was not set for the descriptive

flex componentDH NULL LABEL The label for the display header component is not setHOURS TYPE MULTI ROWS Internal development code - the hours type query returned

multiple rowsINPD NO RESOURCE ID Internal development code -resource ID was not available

for the inter-period navigation controlLOV APP MODULE CREATE ERROR Internal development code - there was a problem creating

an application moduleLOV INCOMPLETE CRITERIA The criteria specified for the LOV component are incom-

plete - check that there are 4 values for each of the criteriaLOV INCOMPLETE MAP The result map specified for the LOV is not complete -

confirm there are 3 values set for each of the mapsLOV INVALID MAPPINGS There is a mismatch between the number of dependant

item lists and dependant item where clauses (qualifiers 14and 15 on the LOV component) - check the qualifiers toensure there is a dependant where clause specified for eachof the dependant items

LOV NULL REGION APP ID The application ID for the LOV region is not setLOV NULL REGION CODE The region code for the LOV region is not setLOV NULL COMPONENT ALIAS An alias reference in the LOV criteria could not be resolved

- check all alias references exist and are correctLOV QUERY COLUMNS INVALID The result column mappings for the LOV are incorrect -

check the values specifiedMB MESSAGE NOT FOUND The message alias referred to in the message box compo-

nent could not be resolved - check the message entity withthe alias exists

MB NULL TEXT The message attached to the message box component isnull

NULL DISPLAY LABEL The display label attached to the component is nullTBB BB NUM NOT SET Internal development code - the building block count prop-

erty count not be retrievedTC NO RESOURCE ID Internal development code -resource ID was not available

for the template controlTF NULL NAME Internal development code - the form field name for the

text field component is null

Table 38: Configurable User Interface Error Codes (Part 2)

135

Page 136: hxcconfiguiwp

5 Troubleshooting and Frequently Asked Questions

When reporting suspected bugs or issues with configuration using the OTL Configurable UI please ensure you include the followinginformation:

• A full java stack trace of the issue if applicable (if a generic framework error page is shown, click the link in the error messageto see the full stack trace - please include the full text when reporting errors).

• Details of your patch level - in particular the level of the Oracle Applications Framework you are running along with any relatedpatches you have applied.

• If the issue is with a configured timecard then please include all of the layout files, and any custom objects such as View Objectsand Application Modules

• Full and detailed steps to reproduce the error

In addition, if you are using a customized timecard then please try and reproduce the error using the delivered timecard layoutsif possible.

5.1 FAQ

136