Oracle OTL Timecard Layout Customication

January 11, 2017 | Author: FoolIsh | Category: N/A
Share Embed Donate


Short Description

Instructions and samples on how to customize Oracle OTL timecard layout...

Description

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 7, 2012

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

2012 Oracle Corporation. All rights reserved.

∗ The

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

1

Contributors Name Mark Stewart Andrew Rundell Joel Dupont John Finnegan Kris Van Der Pleog Anima Prasad Balakrishna Bayragi Amarnath Krishnamoorthy

Position Applications Developer Development Manager Applications Developer Principle Functional Analyst Functional Analyst Group Manager Senior Applications Engineer Senior Applications Engineer

Change Record Date February 1st , 2005 August 6th , 2007

Author Andrew Rundell Amritha Nuthi

Version 115.0 115.1

March 25th , 2008

Amritha Nuthi

115.2

February 09th , 2010

Amarnath Krishnamoorthy

115.3

June 07th , 2012

Balakrishna Bayragi

115.4

Change Reference Converted to PDF, WIKI, LaTeX Modified to indicate correct functionality for package choice list Modified to show only the delivered seeded layouts and to complete the missing lines in some examples Reviewed the document and added few examples which describes how to create custom choice list, LOV, prompts and text field Added section 3.18

Reference Documents Name Release 11i Documentation ADF

Description Oracle Applications Documentation - information on FNDLOAD and Flexfields Applications Development Framework - information on java objects, such as View Objects, Application Modules etc.

2

Contents 1 Introduction 1.1 Executive Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Structure of a Timecard Page . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Time Building Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 User Interface Component Hierarchy . . . . . . . . . . . . . . . . . . 1.3 Layout Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Delivered Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Payroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3 Projects and Payroll . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.4 Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.5 Enterprise Asset Management . . . . . . . . . . . . . . . . . . . . . . 1.4.6 Purchasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.7 Projects-Purchasing . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.8 Payroll Layout delivered in Release 12.1 . . . . . . . . . . . . . . . . 1.4.9 Project Layouts delivered in Release 12.1 . . . . . . . . . . . . . . . 1.4.10 Project and Payroll Layouts delivered in Release 12.1 . . . . . . . . 1.5 Using the OAF Personalization Functionality With Timecard Configuration

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

8 8 9 9 9 10 11 13 13 14 15 15 15 16 16 17 17 19

2 Timecard Configuration Basics 2.1 What can be configured on a Timecard . . . . . . . . 2.2 The Layout File . . . . . . . . . . . . . . . . . . . . . . 2.3 Using an Existing Layout as a Basis for Customization 2.4 Uploading Timecard Layouts . . . . . . . . . . . . . . 2.5 Labels and Messages . . . . . . . . . . . . . . . . . . . 2.5.1 Labels . . . . . . . . . . . . . . . . . . . . . . . 2.5.2 Messages . . . . . . . . . . . . . . . . . . . . . 2.6 Further Configuration Concepts . . . . . . . . . . . . . 2.6.1 View Objects . . . . . . . . . . . . . . . . . . . 2.6.2 Application Modules . . . . . . . . . . . . . . . 2.6.3 Apache/JServ server . . . . . . . . . . . . . . . 2.7 Delivered Configurable BC4J Objects . . . . . . . . . 2.7.1 Configurable Choice List Components . . . . . 2.7.2 Package Choice List . . . . . . . . . . . . . . . 2.7.3 Custom Alternate Name components . . . . . . 2.8 LOVs and JRAD/MDS . . . . . . . . . . . . . . . . . 2.8.1 LOV Custom Objects . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

20 20 21 21 21 22 22 22 22 22 23 23 23 23 24 26 28 28

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objects . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

29 29 30 31 32 34 36 37 37 38 40 40

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

3 Examples of Common Customizations 3.1 Adding a Comment Field to the Timecard Line . . . . . . . . . . . . . . 3.2 Adding a Custom Choice List to the Timecard . . . . . . . . . . . . . . 3.3 Adding a Custom LOV to the Timecard using the Custom LOV Objects 3.3.1 Create the supporting database view . . . . . . . . . . . . . . . . 3.3.2 Add the LOV component to the timecard . . . . . . . . . . . . . 3.3.3 Personalize the LOV region . . . . . . . . . . . . . . . . . . . . . 3.4 Adding a Custom LOV to the Timecard without using the Custom LOV 3.4.1 Create the View Object for the LOV . . . . . . . . . . . . . . . . 3.4.2 Create AK attributes used for the LOV screen . . . . . . . . . . 3.4.3 Create an AK region for rendering the LOV screen . . . . . . . . 3.4.4 Create AK region items inside the AK region for the LOV page . 3

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

3.5 3.6 3.7

3.8 3.9 3.10 3.11 3.12 3.13

3.14

3.15

3.16

3.17

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.7 Include the new LOV View Object into your Apache/Jserv environment . . . . . . . . . . . . . . . . . . . . . . Changing the title of the timecard page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the label for a column in the Timecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a Component to the Timecard Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.1 Create AK data for the component prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.3 Create the component to show the label for our custom field and add it to the layout . . . . . . . . . . . . . . 3.7.4 Create the component to show the read-only function result and add it to the layout . . . . . . . . . . . . . . . Adding a Component to the Timecard Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding an OTL Information Type to the Timecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding additional element input values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring the Cost Center component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding OTLR Detail to the Review and Confirmation Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.12.1 Creating the Detail Time Building Blocks in the Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding the Details Page DFF Segments to the Timecard matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.13.1 Setting the Attribute Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.13.2 Aliasing A Segment Value To Set The Attribute Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.13.3 The Simple Approach: An Always-execute choice list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.13.4 Other Segment Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configure Expenditure Type As Choice List Using Alternate Names in Projects Payroll Layout . . . . . . . . . . . . . 3.14.1 Define a New OTL Alternate Names Type Descriptive Flexfield Context / Segment: . . . . . . . . . . . . . . . 3.14.2 Mapping the Segments/Attributes to respective components: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.14.3 Creating Alternate Name for the Alternate Name Type ET EXPENDITURE TYPES: . . . . . . . . . . . . . . 3.14.4 Create A Custom View and Define Layouts: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring Cost Center as a LOV in Payroll Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.15.1 Create AK attributes used for the LOV screen : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.15.2 Create an AK region for rendering the LOV screen: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.15.3 Create AK region items inside the AK region for the LOV page: . . . . . . . . . . . . . . . . . . . . . . . . . . 3.15.4 Migration of Ak Region to MDS Repository,Creation of Custom View and Define Layouts: . . . . . . . . . . . Adding Custom LOVs, Custom Choice List and Text Field to a Payroll Layout . . . . . . . . . . . . . . . . . . . . . . 3.16.1 Create AK attributes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.16.2 Add Attributes to AK Region: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.16.3 Create database views: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.16.4 Create AK regions for rendering the LOVs: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.16.5 Create AK region items inside the AK region for the LOV page: . . . . . . . . . . . . . . . . . . . . . . . . . . 3.16.6 Setting up the Custom LOV xml and java files: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.16.7 Migration of Ak Region to MDS Repository: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.16.8 LDT file customization to change prompt from Hours Type to Job Type: . . . . . . . . . . . . . . . . . . . . . 3.16.9 LDT file customization to include choice list: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.16.10 LDT file customization to include source and destination LOVs: . . . . . . . . . . . . . . . . . . . . . . . . . . 3.16.11 LDT file customization to include text field: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configure an Entry Level Processing Timecard Layout to capture Project, Task and Expenditure Type Information in Cost Allocation Key Flexfield segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.17.1 Create AK attributes: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.17.2 Add Attributes to AK Region: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.17.3 Create database views: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.17.4 Add Project Id, Task Id and Expenditure Type segments to Cost Allocation KFF: . . . . . . . . . . . . . . . . 3.17.5 LDT file hxczzhxclayt0025.ldt customization to include JOB and LOCATION choice lists: . . . . . . . . . . . .

4

42 42 43 43 43 45 51 51 52 52 53 62 63 64 67 68 68 68 69 72 73 74 74 75 75 76 78 79 79 79 80 83 85 87 87 88 90 92 93 95 95 97 99 100 102 103 104 104 105

3.17.6 LDT file hxczzhxclayt0025.ldt customization to add Cost Center field: . . . . . . . . . . . . . . . . 3.17.7 LDT file hxczzhxclayt0025.ldt customization to map Project Information to Cost Allocation KFF: 3.17.8 Attributes data stored in database: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.17.9 Batch Element Entry form showing the additional segments in Cost Allocation KFF: . . . . . . . . 3.18 Confirmation Check box on Timecard review page for Time Accuracy . . . . . . . . . . . . . . . . . . . . 4 Technical Reference Guide 4.1 Components . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Global attributes . . . . . . . . . . . . . . . . . . . 4.1.2 Accrual Balance Component . . . . . . . . . . . . 4.1.3 Choice List . . . . . . . . . . . . . . . . . . . . . . 4.1.4 Descriptive FlexField . . . . . . . . . . . . . . . . . 4.1.5 Display Header . . . . . . . . . . . . . . . . . . . . 4.1.6 Display Label . . . . . . . . . . . . . . . . . . . . . 4.1.7 Display Text . . . . . . . . . . . . . . . . . . . . . 4.1.8 Hidden Field . . . . . . . . . . . . . . . . . . . . . 4.1.9 Hours Type Table . . . . . . . . . . . . . . . . . . 4.1.10 Inter-Period Navigation Control . . . . . . . . . . 4.1.11 Key Notation . . . . . . . . . . . . . . . . . . . . . 4.1.12 List Of Values . . . . . . . . . . . . . . . . . . . . 4.1.13 Message Box . . . . . . . . . . . . . . . . . . . . . 4.1.14 Notification Day Detail . . . . . . . . . . . . . . . 4.1.15 Package Choice List . . . . . . . . . . . . . . . . . 4.1.16 Page Status . . . . . . . . . . . . . . . . . . . . . . 4.1.17 Spacer . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.18 Submit Button . . . . . . . . . . . . . . . . . . . . 4.1.19 Submit Icon . . . . . . . . . . . . . . . . . . . . . . 4.1.20 Summary Table . . . . . . . . . . . . . . . . . . . . 4.1.21 Table Layout . . . . . . . . . . . . . . . . . . . . . 4.1.22 Template Control . . . . . . . . . . . . . . . . . . . 4.1.23 Text Field . . . . . . . . . . . . . . . . . . . . . . . 4.1.24 Timecard Fragmentation Cluster . . . . . . . . . . 4.1.25 Time Building Block . . . . . . . . . . . . . . . . . 4.2 Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

106 107 112 113 114

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

116 116 116 118 118 120 121 121 121 121 121 121 122 122 125 125 125 125 126 126 126 127 127 128 128 128 128 128 129 129 129 129 129 129

5 Troubleshooting and Frequently Asked Questions 138 5.1 FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

5

List of Tables 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

Payroll Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projects Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projects and Payroll Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exception Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enterprise Asset Management Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Purchasing Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projects-Purchasing Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R12.1 Payroll Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projects Layouts - With Project & Task details concatenated . . . . . . . . . . . . . . . . . . . . . . . . Projects and Payroll Layouts - With Project & Task details concatenated . . . . . . . . . . . . . . . . . Delivered Custom Choice List View Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Component Tables Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Global Attributes, applicable to every component. Required attribute(s) in bold. . . . . . . . . . . . . . Choice List Components. Required Attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . . . . Descriptive flexfield component qualifing attributes. Required attribute(s) are displayed in bold. . . . . Display text component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . Inter Period Navigational Control component qualifing attributes. Required attribute(s) are displayed in Key notation component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . List of Values component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . Message Box component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . Package Choice List component qualifing attributes. Required attribute(s) are displayed in bold. . . . . Page Status component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . Spacer component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . . . Submit Button component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . Submit Icon component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . Summary Table component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . Table Layout component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . Template Control component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . Text Field component qualifing attributes. Required attribute(s) are displayed in bold. . . . . . . . . . . Time Building Block component qualifing attributes. Required attribute(s) are displayed in bold. . . . . Currently recognized tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timecard region seeded prompts (Part 1.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timecard region seeded prompts (Part 2.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timecard Review region seeded prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timecard Confirmation region seeded prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Seeded Timecard Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configurable User Interface Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configurable User Interface Error Codes (Part 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . bold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13 13 14 15 15 15 16 16 17 18 24 116 117 119 120 121 121 122 124 125 126 126 126 127 127 127 128 128 129 130 131 132 133 134 134 135 136 137

List of Figures 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

Time Building Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . What can be Configured . . . . . . . . . . . . . . . . . . . . . . . . . . Timecard Matrix Line Comment Field . . . . . . . . . . . . . . . . . . Alternate Name Definition . . . . . . . . . . . . . . . . . . . . . . . . . Custom LOV Showing Locations . . . . . . . . . . . . . . . . . . . . . Custom LOV Showing Locations after personalization . . . . . . . . . Defining New OTL Alternate Name . . . . . . . . . . . . . . . . . . . Mapping Segements/Attributes to respective components . . . . . . . Preference Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time Entry Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AK Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AK Region items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Preference page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time Entry Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configured Airlines Timecard . . . . . . . . . . . . . . . . . . . . . . . Additional Element Input Values . . . . . . . . . . . . . . . . . . . . . AK Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOV AK Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOV AK Region items . . . . . . . . . . . . . . . . . . . . . . . . . . . Flight Source and Destination LOVs . . . . . . . . . . . . . . . . . . . Configured ELP Timecard . . . . . . . . . . . . . . . . . . . . . . . . . Additional Element Input Values . . . . . . . . . . . . . . . . . . . . . AK Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cost Allocation KFF Segments . . . . . . . . . . . . . . . . . . . . . . HXC TIME ATTRIBUTES table data . . . . . . . . . . . . . . . . . . Cost Allocation KFF Segments in BEE . . . . . . . . . . . . . . . . . Confirmation Check box on Timecard review page for Time Accuracy

7

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12 20 30 32 37 38 74 75 76 78 79 80 82 82 83 84 85 87 89 91 94 100 101 102 103 104 112 113 114

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

Document Structure There are five sections to this document: • Section 1 provides introductory material, including and executive overview, which is appropriate background reading for people wishing 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 employed when 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 configurable user interface. • Finally, section 5 describes what to do in the case of an unexplained configuration error, and contains a list of frequently asked questions. For very simple timecard configurations, e.g. just changing a prompt or moving a field from one place to another, only the first three sections are required reading. For more complex configurations, e.g. adding a dependent list of values, the technical reference section is invaluable. This version of the document applies to HXT.H onwards, Oracle Applications Release 11i.10, Release 12.0 and Release 12.1

1 1.1

Introduction Executive Overview

Oracle Time & Labor (OTL) permits configuration of the timecard interface. Inclusion or exclusion of UI features, e.g. labels and buttons, as well as choosing the fields shown on the timecard lie within the configuration module. These fields can be the delivered set, 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 is known as a layout. Currently, a layout describes the user interface for one page, and thus there are OTL layouts for the timecard entry, review, confirmation, notification, approval, audit and details pages, as well as a layout that describes what information is available for offline time entry — the export layout. This enables the maximum level of configuration. Layouts are held in normal text files; these are loaded into the database using the standard applications loader utility (FNDLOAD), and configuration file supplied by OTL. There are many delivered layouts that provide a timecard user interface configured for various applications, or combinations of 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 as height, 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

of which are known as component qualifiers, or just qualifiers. The column names in the OTL database for these qualifiers are QUALIFIER ATTRIBUTE1 through QUALIFIER ATTIRBUTE30. Use of a flexfield to store this extra information ensures a consistent approach to user interface components within the configurable user interface module, and makes it easier to add support for additional components in the future. In conjuction with the standard Oracle Applications Development Framework (ADF) personalization feature, the OTL timecard configurable 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 generated in the OTL time store. In this way, the most appropriate configuration is efficiently and accurately created. This document uses many OTL concepts to streamline the configuration for the application, and thus the relationship between the data and the user interface components on the page is now described.

1.2 1.2.1

Structure of a Timecard Page Time Building Blocks

When entering time, you actually create objects (database records) called time building blocks. Time entry for a particular day creates a new time building block, each entry being a separate block. Each time building block may store information about what that 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 until 5: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 there is 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 without a parent) is the TIMECARD time building block, and represents the range of time for which this timecard exists, such as a week or a month. Time building blocks have one or more child blocks and one parent block. You can attach blocks to other blocks, and build the complete timecard for a period of time. Each day associated with this timecard is a child time building block of that TIMECARD time building block. Day building blocks are range building blocks, and represent the amount of time within that day (they start at midnight on that particular day, and end at one second before midnight on the same day). Each day may have one or more time building 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 the other 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 so on. 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 are used to ensure that the timecard user interface makes sense. However, in principle, it is clear that there is a correspondance between the 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 a timecard 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 hierarchy can be seen below: • message box components to be show for errors/warnings/confirmations • page status 9

• 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 for example, in the header table the outer table definition allows us to show the navigation/override/template fields on one side of the page and the comments field on the other side. The nested table allows us to make sure that the field labels and components are aligned with each other to improve the visual appearance of the page. Note: For readers experienced with the ADF, it is clear that each of these OTL configurable user interface components maps to a OAF web bean, and that the hierarchy described here is added in 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 type of 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 can approve time, e.g. all the projects entries, all the payroll entries — this layout type is used in conjunction with the Entry Level Approval 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, Payroll Review Layout, Payroll Confirmation Layout, Payroll Notification Layout etc., is sometimes referred to as a layout set. 10

1.4

Delivered Layouts

In order to facilitate rapid implementation, a number of common timecard layout sets are delivered with OTL. These meet many requirements 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 where Oracle 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 are layouts with both the projects application and payroll application fields defined, and an Exception-based time reporting layout.

11

Figure 1: Time Building Blocks

12

1.4.1

Payroll

The payroll layouts delivered with the product are listed in table 1. Layout Name Payroll Timecard Layout Payroll Review Layout Payroll Confirmation Layout Payroll Export Timecard Layout Payroll Fragmented Timecard View Payroll Notification Layout Payroll OTLR Details Review Layout Payroll OTLR Details Notification Layout

Layout Code PAYROLL-TIMECARD PAYROLL-REVIEW PAYROLL-CONFIRMATION PAYROLL-EXPORT-LAYOUT PAYROLL-FRAGMENT PAYROLL-NOTIFICATION PAYROLL-HE-REVIEW PAYROLL-HE-NOTIFICATION

Layout Type TIMECARD REVIEW CONFIRMATION EXPORT FRAGMENT NOTIFICATION REVIEW NOTIFICATION

Filename hxczzhxclayt0000.ldt hxczzhxclayt0005.ldt hxczzhxclayt0001.ldt hxczzhxclayt0002.ldt hxczzhxclayt0003.ldt hxczzhxclayt0051.ldt hxczzhxclayt0004.ldt hxczzhxclayt0047.ldt

Table 1: Payroll Layouts

1.4.2

Projects

The projects layouts delivered with the product are listed in table 2. Layout Name Projects Timecard Layout Projects Review Layout Projects Confirmation Layout Projects Details Layout Projects Export Timecard Layout Projects Notification Layout Projects Fragmented Timecard View Projects Change and Late Audit Entry Layout Projects Change and Late Review Layout Projects Change and Late Confirmation Layout Projects Change and Late Audit Notification Layout

Layout Code PROJECTS-TIMECARD PROJECTS-REVIEW PROJECTS-CONFIRMATION PROJECTS-DETAIL PROJECTS-NOTIFICATION PROJECTS-FRAGMENT PROJECTS-AUDIT-LAYOUT

Layout Type TIMECARD REVIEW CONFIRMATION DETAIL EXPORT NOTIFICATION FRAGMENT AUDIT

Filename hxczzhxclayt0019.ldt hxczzhxclayt0020.ldt hxczzhxclayt0017.ldt hxczzhxclayt0065.ldt hxczzhxclayt0018.ldt hxczzhxclayt0052.ldt hxczzhxclayt0058.ldt hxczzhxclayt0014.ldt

PROJECTS-AUDIT-REVIEW

REVIEW

hxczzhxclayt0016.ldt

PROJECTS-AUDIT-CONFIRMATION

CONFIRMATION

hxczzhxclayt0013.ldt

PROJECTS-AUDIT-NOTIFICATION

NOTIFICATION

hxczzhxclayt0048.ldt

PROJECTS-EXPORT-TIMECARD

Table 2: Projects Layouts

13

1.4.3

Projects and Payroll

The projects-payroll layouts delivered with the product are listed in table 3. Layout Name Projects and Payroll Timecard Layout Projects and Payroll Review Layout

Layout Code PROJECTS-ALTERNATE-TIMECARD PROJECTS-ALTERNATE-REVIEW

Layout Type TIMECARD REVIEW CONFIRMATION

Filename hxczzhxclayt0015.ldt hxczzhxclayt0010.ldt hxczzhxclayt0007.ldt hxczzhxclayt0012.ldt hxczzhxclayt0021.ldt hxczzhxclayt0053.ldt hxczzhxclayt0009.ldt

Projects and Payroll Confirmation Layout

PROJECTS-AL-CONFIRMATION

Projects and Payroll Details Layout Projects and Payroll Export Layout

PROJECTS-ALTERNATE-DETAIL PROJPAYROLL-EXPORT-LAYOUT

Projects and Payroll Notification Layout Projects and Payroll Fragmented Timecard View

PROJECTS-ALTERNATE-NOTIF PROJECTS-ALTERNATE-FRAGMENT

DETAIL EXPORT NOTIFICATION FRAGMENT

Projects and Payroll Change and Late Audit Entry Layout Projects and Payroll Change and Late Review Layout Projects and Payroll Change and Late Confirmation Layout Projects and Payroll Change and Late Notification Layout Entry Level Processing Projects Payroll Timecard Layout Entry Level Processing Projects Payroll Review Layout Entry Level Processing Projects Payroll Confirmation Layout Entry Level Processing Projects Payroll Details Layout Entry Level Processing Projects Payroll Export Layout Entry Level Processing Projects Payroll Notification Layout

PROJECTS-ALT-AUDIT-LAYOUT

AUDIT

hxczzhxclayt0034.ldt

PROJECTS-ALTERNATE-CLA-REVIEW

REVIEW

hxczzhxclayt0033.ldt

PROJECTS-AL-CLA-CONFIRMATION

CONFIRMATION

hxczzhxclayt0006.ldt

PROJECTS-ALTERNATE-CLA-NOTIF

NOTIFICATION

hxczzhxclayt0049.ldt

ELP-PROJECTS-PAYROLL-TIMECARD

TIMECARD

hxczzhxclayt0025.ldt

ELP-PROJECTS-PAYROLL-REVIEW

REVIEW

hxczzhxclayt0032.ldt

ELP-PROJECTS-PAYROLL-CONF

CONFIRMATION

hxczzhxclayt0023.ldt

ELP-PROJECTS-PAYROLL-DETAIL

DETAIL

hxczzhxclayt0024.ldt

ELP-PROJ-PAY-EXPORT-LAYOUT

EXPORT

hxczzhxclayt0035.ldt

ELP-PROJECTS-PAYROLL-NOTIF

NOTIFICATION

hxczzhxclayt0050.ldt

Table 3: Projects and Payroll Layouts

14

1.4.4

Exception

The exception layouts delivered with the product are listed in table 4. Layout Name Exception Layout Timecard Entry Page Layout Timecard Confirma-

Layout Code EXCEPTION-TIMECARD EXCEPTION-REVIEW EXCEPTION-CONFIRMATION

Layout Type TIMECARD REVIEW CONFIRMATION

Filename hxczzhxclayt0030.ldt hxczzhxclayt0029.ldt hxczzhxclayt0026.ldt

Export Timecard Layout Layout Timecard Notifica-

EXCEPTION-EXPORT-LAYOUT EXCEPTION-NOTIFICATION

EXPORT NOTIFICATION

hxczzhxclayt0027.ldt hxczzhxclayt0046.ldt

Fragmented Timecard View OTLR Details Review Lay-

EXCEPTION-FRAGMENT EXCEPTION-HE-REVIEW

FRAGMENT REVIEW

hxczzhxclayt0064.ldt hxczzhxclayt0028.ldt

EXCEPTION-HE-NOTIFICATION

NOTIFICATION

hxczzhxclayt0045.ldt

Exception Layout Timecard Review Page

Exception tion Page Exception Exception tion Page Exception Exception out Exception Layout

OTLR Details Notification

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 EAM Confirmation Layout EAM Review Layout EAM Timecard Layout

Layout Code EAM-CONFIRMATION EAM-REVIEW EAM-TIMECARD

Layout Type CONFIRMATION REVIEW TIMECARD

Filename eamhxclayt.ldt eamhxclayre.ldt 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 Purchasing Timecard Layout Purchasing Review Timecard Layout Purchasing Confirmation Timecard Layout Purchasing Notification Timecard Layout

Layout Code PURCHASING-TIMECARD PURCHASING-REVIEW-TIMECARD PURCHASING-CONF-TIMECARD PURCHASING-NOTIF-TIMECARD

Table 6: Purchasing Layouts

15

Layout Type TIMECARD REVIEW CONFIRMATION NOTIFICATION

Filename pozzhxclayt0054.ldt pozzhxclayt0055.ldt pozzhxclayt0056.ldt pozzhxclayt0057.ldt

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 ProjectsPurchasing. Layout Name Timecard Layout Review Timecard Layout Confirmation Timecard Layout Audit Entry Layout CLA Review Layout CLA Confirmation

Layout Code PROJECTS-PURCHASING-TIMECARD PROJECTS-PURCHASING-REVIEW

PROJECTS-PURCHASING-CONFIRM PA-PO-AUDIT PROJECTS-PURCHASING-CLA-REVIEW PA-PO-CLA-CONFIRM

Layout Type TIMECARD REVIEW CONFIRMATION AUDIT REVIEW CONFIRMATION

Filename pazzhxclayt0039.ldt pazzhxclayt0040.ldt pazzhxclayt0041.ldt pazzhxclayt0042.ldt pazzhxclayt0043.ldt 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 Payroll OTLR Details Confirmation Layout

Layout Code PAYROLL-HE-CONFIRMATION

Table 8: R12.1 Payroll Layouts

16

Layout Type CONFIRMATION

Filename hxczzhxclayt0081.ldt

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 Projects Timecard Layout - With Project & Task details concatenated Projects Review Layout - With Project & Task details concatenated Projects Confirmation Layout With Project & Task details concatenated Projects Details Layout - With Project & Task details concatenated Projects Export Timecard Layout With Project & Task details concatenated Projects Notification Layout - With Project & Task details concatenated Projects Fragmented Timecard View - With Project & Task details concatenated Projects Change and Late Audit Entry Layout - With Project & Task details concatenated Projects Change and Late Review Layout - With Project & Task details concatenated Projects Change and Late Confirmation Layout - With Project & Task details concatenated Projects Change and Late Audit Notification Layout - With Project & Task details concatenated

Layout Code PROJECTS-DETAILS-TIMECARD

Layout Type TIMECARD

Filename hxczzhxclayt0082.ldt

PROJECTS-DETAILS-REVIEW

REVIEW

hxczzhxclayt0083.ldt

PROJECTS-DET-CONFIRM

CONFIRMATION

hxczzhxclayt0088.ldt

PROJECTS-DET-DETAIL

DETAIL

hxczzhxclayt0087.ldt

PROJECTS-DET-EXP-TIMECARD

EXPORT

hxczzhxclayt0086.ldt

PROJECTS-DET-NOTIF

NOTIFICATION

hxczzhxclayt0084.ldt

PROJECTS-DET-FRAGMENT

FRAGMENT

hxczzhxclayt0085.ldt

PROJECTS-DET-AUDIT-LAYOUT

AUDIT

hxczzhxclayt0091.ldt

PROJECTS-DET-AUDIT-REV

REVIEW

hxczzhxclayt0089.ldt

PROJECTS-DET-AUDIT-CONFIRM

CONFIRMATION

hxczzhxclayt0092.ldt

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

Layout Name Projects and Payroll Timecard Layout - With Project & Task details concatenated Projects and Payroll Review Layout - With Project & Task details concatenated

Layout Code PROJECTS-DET-ALT-TIMECARD

Layout Type TIMECARD

Filename hxczzhxclayt0093.ldt

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 - With Project & Task details concatenated Projects and Payroll Export Layout - With Project & Task details concatenated

PROJECTS-DET-ALT-DETAIL

DETAIL

hxczzhxclayt0098.ldt

PROJPAY-DETAIL-EXPORT

EXPORT

hxczzhxclayt0099.ldt

Projects and Payroll Notification Layout - With Project & Task details concatenated Projects and Payroll Fragmented Timecard View - With Project & Task details concatenated

PROJECTS-DET-ALT-NOTIF

NOTIFICATION

hxczzhxclayt0095.ldt

PROJECTS-DET-ALT-FRAG

FRAGMENT

hxczzhxclayt0096.ldt

Projects and Payroll Change and Late Audit Entry Layout - With Project & Task details concatenated Projects and Payroll Change and Late Review Layout - With Project & Task details concatenated Projects and Payroll Change and Late Confirmation Layout - With Project & Task details concatenated Projects and Payroll Change and Late Notification Layout - With Project & Task details concatenated Entry Level Processing Projects - Payroll Timecard Layout - With Project & Task details concatenated Entry Level Processing Projects - Payroll Review Layout - With Project & Task details concatenated Entry Level Processing Projects - Payroll Confirmation Layout - With Project & Task details concatenated Entry Level Processing Projects - Payroll Details Layout - With Project & Task details concatenated Entry Level Processing Projects - Payroll Export Layout - With Project & Task details concatenated Entry Level Processing Projects - Payroll Notification Layout - With Project & Task details concatenated

PROJECTS-DET-ALT-AUD-LAYOUT

AUDIT

hxczzhxclayt0104.ldt

PROJECTS-DET-ALT-CLA-REVIEW

REVIEW

hxczzhxclayt0101.ldt

PROJECTS-DET-ALT-CLA-CONF

CONFIRMATION

hxczzhxclayt0103.ldt

PROJECTS-DET-ALT-CLA-NOTIF

NOTIFICATION

hxczzhxclayt0102.ldt

ELP-PROJ-DET-PAY-TIMECARD

TIMECARD

hxczzhxclayt0105.ldt

ELP-PROJ-DET-PAY-REVIEW

REVIEW

hxczzhxclayt0106.ldt

ELP-PROJ-DET-PAY-CONF

CONFIRMATION

hxczzhxclayt0110.ldt

ELP-PROJ-DET-PAY-DETAIL

DETAIL

hxczzhxclayt0109.ldt

ELP-PROJ-DET-PAY-EXP-LAYOUT

EXPORT

hxczzhxclayt0108.ldt

ELP-PROJ-DET-PAY-NOTIF

NOTIFICATION

hxczzhxclayt0107.ldt

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

18

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 be Personalized using the standard Oracle Applications Framework (OAF) functionality. All changes to the page must be made via the Oracle 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 the OTL timecard configuration utility, the pages rendered in the pop-up list of values windows are not. Thus, the OAF Personalization functionality can be used to personalize those windows. For example, if the project id column in the Projects LOV pop-up should be hidden, a customer should create a personalization at the desired level and hide that column. If the columns should be renamed or reordered, again, this should be done via the personalization framework delivered with the OAF.

19

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 covers the majority of customizations, which are to the timecard header — the comments field, period list control and template control widgets — and timecard matrix — the time attributes and time entry fields. In summary, the minimal number of steps to configure a 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 the configurable user interface. Thus use the personalization framework to modify to those user interface components, e.g. to change the branding, 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 form GREEN = AK prompts that can be modified in the AK region item or attribute forms RED = Attribute components in the timecard layout that can be modified via the configuration LDTs BLACK = Information on the timecard layout that can be controlled via preferences

20

2.2

The Layout File

As previously mentioned, the timecard layout containing a set of user interface component, and associated qualifer descriptions, is held in a simple text file. Use FNDLOAD, the generic AOL loader utility, to upload the file data into the OTL Configurable User Interface database tables. Read the AOL documentation, within the Oracle Applications release 11i documentation, for more information on FNDLOAD. In common with all FNDLOAD compatible files, OTL delivers a configuration file, which defines the structure of the layout files. This configuration file defines the entities, and entity attributes that are present within the file, which are in the form of name value pairs unless part of the developer key for the attribute. For example, the HXC LAYOUT entity has two keys, the layout name, and the application short name that owns the layout (at the moment this is only OTL) and then a number of attributes, such as the display layout name and the layout type. In OTL, each of the entities definied in the configuration file maps to an OTL table, e.g. the HXC LAYOUTS entity maps to the HXC LAYOUTS table. Each of the entity keys, or entity attributes in the loader file maps directly or via a key to columns in those entities. E.g. DISPLAY LAYOUT NAME maps to the database 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 requirements, and then use it as a starting point for your custom layout. To avoid overwriting the delivered OTL layouts you must give your new timecard layouts new names. Even if you do not plan to use the delivered layouts this change should still be made to avoid your custom layout being overwritten when OTL patches are applied to your environment. In order to rename the layout, you need to 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 file to 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 following command from the command line: FNDLOAD username/password@dbname 0 Y UPLOAD $HXC TOP/patch/115/import/hxclaytlayoutsld.lct ./layout.ldt This 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

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, for small amounts of text, use a prompt, otherwise use a message, which can be considerably more descriptive. For example, the tip at the top of the timecard page is a message, while the Project label in the timecard matrix is a prompt. All component prompts and other 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, is defined as a region containing one or more region items. For OTL, the region is just a ’container’ for all of the prompts - to see an example 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 have a one-to-one mapping between region items and attributes. When creating region items there are many possible settings, but OTL will only use a subset of these fields when querying labels - the ones used, and that should be set (other than mandatory fields such as 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 region item), along with the region code and application you have created the region items under - this information will be needed to utilize these 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 customizable solution for longer sections of text. When creating messages you should note the message name you have specified, along with the application 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 the ADF are described in the following sections, within the context of configuring the OTL timecard interface. Specially, the business objects (BC4J or JBO) layer — these are java objects that contain or are business data — affect timecard interface configuration as the data used by the user interface components is dependent on those objects. View objects and Application Modules are two of the business 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 you require 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 View Object to perform this query. Some customizations may be done using the Custom Choice List Components that OTL delivers. View Objects delivered by OTL should not be modified since these changes will be overwritten whenever a patch applied with changes to the View Object is applied. View Objects can be developed using the wizard supplied with JDeveloper. Once created, the BC4J objects should then be added to the classpath for the Apache/JServ server so they will be available for use within the OTL timecard screen. Note: any custom View Objects should be contained in a custom Application Module (see below for additional information).

22

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 own custom View Objects then you should also create an Application Module to contain them. In order for the timecard page to function properly with custom view objects, the OTL configurable user interface code must instantiate the custom containing application module before the custom view object from which to retrieve the appropriate business data. Thus, the configurable user interface must know the name of the custom application module. So when referencing a view object as part of the qualifiers for a user interface component, 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 layout matches 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 changes will 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 the AK 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 the user has logged out and signed in again.

2.7 2.7.1

Delivered Configurable BC4J Objects Configurable Choice List Components

To allow easy implementation of choice list components, OTL delivers a number of ’Configurable Choice Lists’. What this basically means is that we deliver a View Object based on a configurable view, so rather than a customer having to use JDeveloper to create their own BC4J view objects and application module, they can just alter the definition of the underlying configurable view and then add 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 component on the timecard interface, but components will default the attributes that specify these to the same names, so they do not need to be specified in the layout. The Value column is the value that will actually be submitted with the timecard - the contents of the DisplayValue column does not need to be meaningful at all as far as the submit process is concerned (although for the benefit of anyone 23

View Object Name Custom1VO Custom2VO Custom3VO Custom4VO Custom5VO Custom6VO Custom7VO Custom8VO Custom9VO Custom10VO

View Object Class oracle.apps.hxc.selfservice.timecard.server.Custom1VO oracle.apps.hxc.selfservice.timecard.server.Custom2VO oracle.apps.hxc.selfservice.timecard.server.Custom3VO oracle.apps.hxc.selfservice.timecard.server.Custom4VO oracle.apps.hxc.selfservice.timecard.server.Custom5VO oracle.apps.hxc.selfservice.timecard.server.Custom6VO oracle.apps.hxc.selfservice.timecard.server.Custom7VO oracle.apps.hxc.selfservice.timecard.server.Custom8VO oracle.apps.hxc.selfservice.timecard.server.Custom9VO oracle.apps.hxc.selfservice.timecard.server.Custom10VO

Configurable View Name HXC CUI CUSTOM1 V HXC CUI CUSTOM2 V HXC CUI CUSTOM3 V HXC CUI CUSTOM4 V HXC CUI CUSTOM5 V HXC CUI CUSTOM6 V HXC CUI CUSTOM7 V HXC CUI CUSTOM8 V HXC CUI CUSTOM9 V 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, so if 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 name into 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 statement so 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) VALUE FROM 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 the columns so they match the expected names within the View Object. Note: Given the nature of HTML all possible selections for a choice list (both displayed text and the selection value) are part of the generated page. It is strongly advised that Choice Lists only be 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 View Object. 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, but can be run manually to create template views for testing, or alternatively you can copy and modify the script to contain your custom view 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 is the data source — in the case of a normal choice list, the data is queried from a table or view via the associated View Object. For a package choice list the equivalent View Object is built from the result of a PL/SQL function call. The PL/SQL call should return the data to be shown in the choice in display value/value pairs (each separated by ’—’). The call be made with any of the supported tokens — 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 component is defined like any other component. It uses a context called PACKAGE CHOICE LIST of the configurable user interface component

24

qualifer flexfield. Attributes associated with this context, define the behaviour of this component, and tell the configurable user interface code how to call the package. In QUALIFIER ATTRIBUTE1 the package and function name to be called are specified, and QUALIFIER ATTRIBUTE2 contains the parameter list for the function. Parameters for the function call are bound by position, so it is important to make sure the order they specified in the layout matches that of the function. Literal values may also be passed in the parameter list - this could be used, for example, if you wanted to use the same function for a multiple components on the page but be able to identify each of the components and have the code behave slightly differently for each. As an example, lets create a function called ’test’ in the package ’my custom code’ that takes 3 parameters - the person id of the user, the timecard start date and 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.test QUALIFIER 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 to be shown in the choice list. This is the function supporting the choice list, and so this is just an example, obviously a configured function 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 varchar2 IS -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’) THEN l return value := ’1|Test1|2|Test2|3|Test3’; ELSE l return value := ’10|Display1|20|Display2|30|Display3’; END IF; --- return values 25

-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 of the 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 entry for users. For example, the expenditure type seeded alias allows users to pick one value, which is converted by the system into an expenditure type, hours (element) type and a system linkage function. Thus, the user is selecting one value, rather than three. For a 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 the Self-Service functionality of OTL only the ’OTL Alternate Name DFF Context’ type of alternate names are supported. This type of alternate name is based on the context definition attached to the ’OTL Alternate Names’ descriptive FlexField. In the context you configure 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 alternate name 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 a payroll 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. Perform a query based on the ’OTL Alternate Name DFF Context’ and your context as the type and then enter the mappings you require. For each segment of your context, you should link the correct mapping component that will be used when depositing the information into OTL. • Once the alternate name context and mappings are complete it can be utilized by attaching the ’Self-Service timecard alternate name set defined for a user’ preference as needed. • Next, your timecard layouts should be modified to include the custom alternate name component. These components are delivered 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

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 QUALIFIERS END 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 AlternateNameItem2VO AlternateNameItem3VO AlternateNameItem4VO AlternateNameItem5VO

27

QUALIFIER ATTRIBUTE3: For each of the custom alternate name view objects there is an LOV region delivered which references them - 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 parameter should always be the type of alternate name, with the second being the timecard bind end date and the last the timecard bind start date. QUALIFIER ATTRIBUTE26, 27 and 28: These qualifiers contain values that tell the OTL deposit process how to handle these alternate name objects. In qualifier attribute26 the OTL ALIAS ITEM1 context is specified which is used to identify the alternate name 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 pages including LOVs. OTL supports custom LOVs, but at the current time there is no applications interface to create LOV objects in the MDS data dictionary (other than using a tool such as JDeveloper to create the regions by hand). Consult the ADF documentation for 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 which will 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 to migrate any LOV definitions created under application code 809 (HXC) that have no previously been migrated (there is also a script available 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 force parameter set to ’Y’ so that the previous definition will be overwritten. For example, to migrate the LOV with the region code MY CUSTOM LOV which was created under the Oracle Time and Labor application (HXC/809), and overwriting any definition that was previously 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 easy addition or replacement of list of values on the timecard. The BC4J object is called CustomLov1VO, and the custom MDS region is called CuiCustomLov1RN. The BC4J object references the HXC CUI CUSTOM LOV1 V view, and this view must be present on the database before the list of values will work. 28

3 3.1

Examples of Common Customizations 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 2000 characters, 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 to enter Project Accounting additional information, or if those Project Accounting additional information segments have been moved to 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 a TimecardLineComment attribute to the layout, for example, the following component definition in the layout will add a comment text 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 worker timecard 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 QUALIFIERS END 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 150 characters in the text area when the timecard page is rendered, and can enter up to 4500 characters. This is because while this is only 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 implies that only one TimecardLineComments component per timecard matrix should be configured, as the code will overwrite any values 29

entered into a separate TimecardLineComments component which is associated e.g. with Attribute2 of this timecard attribute. With this 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 this field 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 Time and Labor. We support up to ten custom lists. We access these values using a set of named views, which must have two columns present, and a choice list component attached to the layout on which the custom choice list is required. The choice list component can also be used to show custom display-only fields that are populated by a query. This can be done by making the component 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 V where n is a number between 1 and 10. For example, HXC CUI CUSTOM1 V. These views must have at least two columns and they must be called: ’DISPLAY VALUE’ and ’VALUE’. The column ’DISPLAY VALUE’ contains the values that are shown in the choice list for the user to select, and consequently should be user-friendly for your user population. The ’VALUE’ column contains the values that are actually written to the database, and are thus understood by custom code. Once the view is constructed, 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 as oracle.apps.hxc.selfservice.timecard.server.Custom1VO. The custom view objects can only be used for situations where you do 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 the component. As an example, let’s assume you want to record which machines a person worked with when submitting their time. The names and 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) as select machine name ,machine id from our machines o Then you add the following component definition to a layout: ############################################################################ # Machine Name choice list on the timecard matrix ############################################################################ 30

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 QUALIFIERS END 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 page to add an AK region item called HXC TIMECARD MACHINE NAME, and then the long label would be used as the prompt for the choice list. You can add AK region items using the AK Professional Forms. Once these two steps are done, the choice list will appear on the timecard. However, you must also create the corresponding OTL Information Types and Mapping components, and add those mapping components to your deposit process so that the information entered by the user is successfully saved to the time store. Details on creating mapping components, and adding mapping components to deposit processes can be found in the guide Implementing 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 - this results in required customization to delivered code objects, specifically LovAM.xml and TimecardAM.xml. That method of adding a custom LOV to the timecard is desirable if you already have custom BC4J objects that you want to reuse with the timecard - for example, perhaps there is an informational LOV that the business has included with the Purchasing product, and you wish to have that same LOV on the timecard. However, if this is a relatively simple LOV, or you are just replacing the seeded LOVs with an LOV containing additional columns, then using the configurable LOV and not customizing the application module definitions, *AM.xml, is the 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

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 onto the timecard. To illustrate the process, we consider a specific example of adding a location field, where the location is determine from the US Payroll city and state tables, as a list of values to the timecard. Now, suppose this is a Project accounting and Payroll timecard, with a specific element called: Field Work, which if chosen the user should pick a location within their home state, but if it is anything else, 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 restrict the list based on a specific hours type. In fact we have received many enhancement requests to provide an object that exposes the alternate name definition to the middle tier such that alias bind values can passed to supporting queries. This is enabled for the BC4J objects supporting this LOV, which means the alias definition id is exposed to the middle tier by the BC4J object. So, when writing the database view, and setting the bind variables in the timecard layout defintion, care must be taken to bind the right alternate name definition in the layout - remember you can specify up to 10 alternate names - and retrieve the right alternate definition in the view. In our example, consider a user with the alternate name preferences as specified in figure 4. In this case the user has two alternate names specified, one for the expenditure type list and one for the payroll element (Hours Type) list. From this set up, it is clear this is an Entry Level Processing, ELP, user. In our case we want to change the list based on the hours type chosen, which means we must be careful to expose the second of the two alternate names in the view, and pass the second alternate name as the bind variable. 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 is provided to the user - in this case the list depends on the hours type chosen, so the configurable LOV BC4J object includes a alias definition id as the bind variable, the query executed for the LOV in the middle tier is:

32

select lov1column1, lov1column2, lov1column3, lov1column4, lov1column5, lov1column6, lov1column7, lov1column8, lov1column9, lov1column10 from hxc cui custom lov1 v where 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 distinct cy.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

per assignments asg, hr locations loc, hxc alias values hav where st.state code => => => => =>

3.14.1

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.

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

3.14.2

Mapping the Segments/Attributes to respective components:

Navigate to OTL Application Developer (responsibility used to administer OTL that includes the Alternate Names sub-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 Type System Linkage - PA System Linkage Function Identifier - 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 Names sub-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 TYPE Description - Expenditure Type for ET Time keepers Save the Definition. Select the Alternate Name Type for which Alternate Names are Creating.

75

Add Alternate Names: Alternate Name : Indirect Labor , Direct Labor From Date : Date from which the Alternate name available for the Created Alternate Name Definition To 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 id from hxc alias values tl tl, hxc alias values b, hxc alias definitions ad where tl.language = userenv(’LANG’) and tl.alias value id = b.alias value id and b.alias definition id = ad.alias definition id and ad.alias definition name = ’AUS Expenditure Type’) /

76

Define Layouts: The layout example section listed below were added to a copy of the delivered Projects Layouts layout set. The sample code has 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 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

77

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 achieved by 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

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 other fields 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 LOV Region Name: B1 custom LOV Application Name: Time and Labor Engine Object Name: ICX PROMPTS Region Style: List of Values Application Module Definition Name: oracle.apps.hxc.selfservice.configui.server.LovAM Display Rows: 10 (or however many rows you want displayed in the LOV) Controller Object Type: oracle.apps.hxc.selfservice.configui.webui.LovCO Add 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 the region 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

Attribute Type: Attribute Application: Time and Labor Engine Attribute Name: B1 Custom LOV - Costcenter Value Sequence: 10 Node Display: Checked Queryable: Checked Item Name: CustomCostcenterValue View Usage Name: Custom1VO View Attribute Name: DisplayValue Attribute Type: Attribute Application: Time and Labor Engine Attribute Name: B1 Custom LOV - Costcenter Value Id Sequence: 20 Node Display: Checked Queryable: Checked Item Name: CustomCostcenterValueId View Usage Name: Custom1VO View 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

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 v AS select flex value display value, to char(flex value id) value from fnd flex values vl fv, fnd flex value sets fvs where fv.flex value set id = fvs.flex value set id and 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|COSTCENTE |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

QUALIFIER ATTRIBUTE28 = "COSTCENTER" LAST UPDATE DATE = "2007/07/12" 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 The 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

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 attribute information 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 required action. => 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

The above timecard layout has been configured to capture Additional Element Input values that can be validated, deposited in time 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 for all 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 12 Destination : Sequence 13 Aircraft Model : Sequence 14 Total Passengers : Sequence 15

Figure 16: Additional Element Input Values

84

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 list Attribute ID: HXC ART AIRCRAFT Attribute Name: Aircraft Type Application: Time and Labor Engine Data Type: Varchar2 Label: Aircraft Type Changing the Hours Type Prompt Attribute ID: HXC ART JOB TYPE Attribute Name: Job Type Application: Time and Labor Engine Data Type: Varchar2 Label: Job Type Flight Source LOV Prompt Attribute ID: HXC ART SOURCE Attribute Name: Flight Source Application: Time and Labor Engine Data Type: Varchar2 Label: Flight Source Flight Destination LOV Prompt Attribute ID: HXC ART DESTINATION Attribute Name: Flight Destination Application: Time and Labor Engine

85

Data Type: Varchar2 Label: Flight Destination Flight Source LOV for city name Attribute ID: HXC ART SOURCE CITY NAME Attribute Name: Source City Name Application: Time and Labor Engine Data Type: Varchar2 Label: Source City Name Flight Destination LOV for city name Attribute ID: HXC ART DEST CITY NAME Attribute Name: Destination City Name Application: Time and Labor Engine Data Type: Varchar2 Label: Destination City Name Flight Destination LOV for Country Name Attribute ID: HXC ART DEST COUNTRY Attribute Name: Destination Country Name Application: Time and Labor Engine Data Type: Varchar2 Label: Destination Country Name Total Passengers text field Attribute ID: HXC ART PASSENGERS Attribute Name: Total Passengers Application: Time and Labor Engine Data Type: Varchar2 Label: Total Passengers and leave the other as per their default value.

86

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 Items button and add the attributes as shown in the following figure. The remaning attributes that were created in the previous step would be 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 insert insert insert insert

into into into into into

hxc hxc hxc hxc hxc

aircraft aircraft aircraft aircraft aircraft

models models models models models

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

create or replace view hxc cui custom1 v (display value, value) as select aircraft model , aircraft id from hxc aircraft models; Create view definition for Source and Destination city LOVs.

87

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

into into into into into

hxc hxc hxc hxc hxc

city city city city city

names names names names names

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

VIEW USED FOR THE SOURCE CITY NAME LOV CREATE 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, null FROM hxc city names ); VIEW USED FOR THE DESTINATION CITY NAME LOV CREATE 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, null FROM 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 LOV Region Name: Configurable UI LOV 88

Application Name: Time and Labor Engine Object Name: ICX PROMPTS Region Style: List of Values Application Module Definition Name: oracle.apps.hxc.selfservice.configui.server.LovAM Display Rows: 10 (or however many rows you want displayed in the LOV) Controller Object Type: oracle.apps.hxc.selfservice.configui.webui.LovCO Add Indexed Children: (checked) Leave all other fields blank or to their default value. Save the record. Region ID: HXC ART DEST LOV Region Name: Configurable UI LOV Application Name: Time and Labor Engine Object Name: ICX PROMPTS Region Style: List of Values Application Module Definition Name: oracle.apps.hxc.selfservice.configui.server.LovAM Display Rows: 10 (or however many rows you want displayed in the LOV) Controller Object Type: oracle.apps.hxc.selfservice.configui.webui.LovCO Add Indexed Children: (checked) Leave all other fields blank or to their default value. Save the record.

Figure 19: LOV AK Region

89

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, query the 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: Attribute Application: Time and Labor Engine Attribute Name: Source City Name Sequence: 10 Node Display: Checked Queryable: Checked Item Name: HxcArtSourceCityName View Usage Name: CustomLov1VO View Attribute Name: Lov1column1

For the Destination LOV, we make use of a new VO called XXDestLovVO that is not delivered in the seeded product. Attribute Type: Attribute Application: Time and Labor Engine Attribute Name: Destination City Name Sequence: 10 Node Display: Checked Queryable: Checked Item Name: HxcArtDestCityName View Usage Name: XXDestLovVO View Attribute Name: Lov2column1 Add another row Attribute Type: Attribute Application: Time and Labor Engine Attribute Name: Destination Country Name Sequence: 15 Node Display: Checked Queryable: Checked Item Name: HxcArtDestCountry View Usage Name: XXDestLovVO View Attribute Name: Lov2column3

90

Figure 20: LOV AK Region items

91

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 but with a customization. We have to modify the query in the CustomLov1VO.xml file as given below because we do not require the aliasdefintionid column in this example. Actual query in the CustomLov1VO.xml : select lov1column1, lov1column2, lov1column3, lov1column4, lov1column5, lov1column6, lov1column7, lov1column8, lov1column9, lov1column10 from hxc cui custom lov1 v where aliasdefinitionid = :1 Modified Query in the CustomLov1VO.xml : select lov1column1, lov1column2, lov1column3, lov1column4, lov1column5, lov1column6, lov1column7, lov1column8, lov1column9, lov1column10 from 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

lov2column8, lov2column9, lov2column10 from 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. 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

Figure 21: Flight Source and Destination LOVs

94

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

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

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

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

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

3.17

Configure an Entry Level Processing Timecard Layout to capture Project, Task and Expenditure 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 as well. 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 hidden field 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

The above timecard layout has been configured to capture Additional Element Input values and also capture Project, Task and Expenditure 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 12 Location : Sequence 13

Figure 23: Additional Element Input Values

101

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 JOB Attribute Name: Timecard Job Prompt Application: Time and Labor Engine Item Style: Text Data Type: Varchar2 Label: Job Location Choice List Attribute ID: HXC TIMECARD LOCATION Attribute Name: Timecard Location Prompt Application: Time and Labor Engine Item Style: Text Data Type: Varchar2 Label: Location and leave the other fields to their default value.

102

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 Items button and add the attributes as shown in the following figure.

Figure 25: Add Attributes

103

3.17.3

Create database views:

Create view definition for JOB choice list.

create or replace view hxc cui custom1 v (display value, value) as select name , job id from per jobs; Create view definition for LOCATION choice list.

create or replace view hxc cui custom2 v (display value, value) as select 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 the appropriate context. Name : Project Id Name : Task Id Name : Expenditure Id Window Prompt : Project Id Window Prompt : Task Id Window Prompt : Column : SEGMENT11 Column : SEGMENT12 Column : SEGMENT13

Figure 26: Cost Allocation KFF Segments

104

Expenditure Id

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

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

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

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

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

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

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

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, Attribute12 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

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 transferred to BEE. When the batch is queried in BEE and the Element Lines are seen, the Cost Allocation KFF segments will contain the Cost Center information, Project, Taks and Expenditure Type Information entered in the timecard.

Figure 28: Cost Allocation KFF Segments in BEE

113

3.18

Confirmation Check box on Timecard review page for Time Accuracy

A check box will be displayed on the timecard review page forcing the users to confirm Time entered for Accuracy. The Timecard Submit button will be enabled only when the checkbox is checked. Please note that this feature is available from R12.1.HRMS.RUP5 onwards. Additionally the message displayed next to check box can be configured. Use HXC MANDATORY TCD CHECK PROPMT messge associated via the standard FND MESSAGES infrastructure to display user or business specific message. To enable this feature, QUALIFIER ATTRIBUTE12 need to be set to ’Y’ for TOP level TIME BUILDING BLOCK component of the review layout only. This QUALIFIER ATTRIBUTE12 needs to be set for the component having the COMPONENT DEFINITION = ”TIME BUILDING BLOCK”. Please note that it does not have any PARENT COMPONENT associated to it.

Figure 29: Confirmation Check box on Timecard review page for Time Accuracy

eg., BEGIN HXC LAYOUT COMPONENTS "Payroll Review Layout - Top Level Building Block" OWNER = "ORACLE" SEQUENCE = "20" COMPONENT DEFINITION = "TIME BUILDING BLOCK" RENDER TYPE = "WEB" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Payroll Review Layout - Top Level Building Block" 114

OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "TIME BUILDING BLOCK" QUALIFIER ATTRIBUTE1 = "H" QUALIFIER ATTRIBUTE2 = "N" QUALIFIER ATTRIBUTE3 = "T" QUALIFIER ATTRIBUTE4 = "1" QUALIFIER ATTRIBUTE5 = "N" QUALIFIER ATTRIBUTE6 = "N" QUALIFIER ATTRIBUTE7 = "N" QUALIFIER ATTRIBUTE8 = "N" QUALIFIER ATTRIBUTE9 = "N" QUALIFIER ATTRIBUTE12 = "Y" QUALIFIER ATTRIBUTE20 = "Y" QUALIFIER ATTRIBUTE25 = "TIME BUILDING BLOCK" QUALIFIER ATTRIBUTE30 = "Y" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS

115

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 various aspects of how the component behaves. Along with qualifiers specific to each component, there are also a number of global qualifiers which are settable for all components, although not necessarily used or supported - qualifiers are made to be global if they apply to a wide range of components. This section covers all the components that the OTL Configurable UI supports along with their qualifiers, but inclusion here does not necessarily mean the component/qualifier is supported for use in customized layouts. The key for the tables defined below is intended to act as a guide to the restricted components. Many of the development only qualifiers are subject to change without notice 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 OTL development. Table Entry D !

M * C

Meaning 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 undesirable side-affects. Applicable to the attributes on the timecard matrix only Applicable to specific components only Note - Value is case sensitive Table 12: Component Tables Key

4.1.1

Global attributes

Context: GLOBAL DATA ELEMENTS Description: Global attributes are present for all components, although that does not mean they actually have a use for all components. An attribute is designated to be global if it applies to a significant number of components. Attributes marked as for OTL Development Use Only should not be altered by customers unless you have been instructed to do so by OTL Development. The global 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 primarily targeted at the layouts that are re-used in different screens. Eg. The timecard entry layout is also used in the template create page. By using the EXCLUDE setting, the component will not be shown if the current display mode exists in qualifier 19. The INCLUDE 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 day level fields (ie. Measure, start/stop time) and individual positioning either side will be determined by the sequence set for each component.

116

No 16

Purpose Component Level Style Class Display Mode Flag Display Mode List

Description Oracle Development Use Only CSS Style class The display mode for this component1 The display mode list used in conjunction with qualifier 18

Valid Values N/A

Notes (D) (!)

Any valid style class name INCLUDE,EXCLUDE

(*) (C)

20

Display On New Line

Y, N

(D) (!)

21

Show Outside Building Block Outside Direction

Force the component to be rendered in a new table cell - Development Use Only Determines whether or not a component should be shown outside the timecard matrix Determines which side of the timecard matrix the attribute will be shown2 * Oracle Development Use Only * * Oracle Development Use Only * Determines the access method for the data source

Y,N

(D)

L,R

(M)

The flex context for the data source The flex attribute for the data source

A valid flex context

(C)

A valid attribute name within the flex context

(C)

17 18 19

22

23 24 25

Render Type Display Modes Access Method

26

Context

27

View Object Attribute Component Alias Component Identifier Read Only

28 29 30

TIMECARD, TEMPLATE, CSV (Export), TIMECARD-SAVEFORLATER, TIMECARDSAVETEMPLATE, REVIEW, READ-ONLY, DETAILS-REMOVE, REVIEW-REMOVE

(D) (D) FLEX, CUI, TIME BUILDING BLOCK, TIME BUILDING BLOCK ATTRIBUTE, TIMECARD ATTRIBUTE, STATIC

* Oracle Development Use Only * * Oracle Development Use Only * Sets the read-only flag

(D) (D) (*)

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

117

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 facilitate users to see the Paid Time-Off Accrual balances he is entitled to and also assists him in entering the absence hours. This component appears only in the Timecard Entry Screen and will not be available in Review and the Confirmation screens. This is a simple display component and all the display processing is done in the Java Component class. The Accrual Balances are shown to the user through a show/hide hyperlink region and by default the component will be in hide state. Selecting the hyperlink will evaluate and display the accrual balances for the user. The display of this component is optional and is controlled via the preference ’Timecard allows display of 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 LIST Description: This component can be used to display a choice list (also known as a poplist) on your layout. The list is based on a SQL 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 View Objects. 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 so that 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 view object, but in many views there are dynamic criteria referenced from global variables or profiles that may mean the same bind parameters 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 the view object to execute even if there is no id - this should be used in conjunction with the read-only qualifier when you wish to create a read-only field based on a SQL query. When in this mode, the first row returned will be shown in the case of multiple matches. 4. This option is used to enable or disable prompt display - you may for example wish to disable prompt display if you want to format your component along with others in a table and would prefer to render the labels separately from the components to get 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 qualifiers 1-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’.

118

No. 1

Purpose ViewObject Name

2 3

Cache Enabled Always Execute for Read Only

4

Show Prompt

5 8

Required Displayed Name

9

ID Attribute Name

This is the name of the attribute in the View Object that should be used for the stored value of the field

10

View Object Class

Full class reference of the view object for the component

11

Bind Variable #1

Parameter to bind to the view object5

12

Bind Variable #2

Parameter to bind to the view object5

13

Bind Variable #3

Parameter to bind to the view object5

14

Bind Variable #4

Parameter to bind to the view object5

15

Bind Variable #5

Parameter to bind to the view object5

Attribute

Description This is the name of the view object that is attached to the choice list1 Enable the cache for the View Object2 Instructs the view object to perform the query associated even if there is no ID value stored.3 Render associated prompt along with the component4 * Oracle Development Use Only * This is the name of the attribute in the View Object that should be used for the displayed value of the field

Valid Values Valid view object name Y,N Y,N

(!)

Y,N Y,N A valid attribute name in the view object for the component A valid attribute name in the view object for the component A valid view object reference Valid bind parameter structure Valid bind parameter structure Valid bind parameter structure Valid bind parameter structure Valid bind parameter structure

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

119

Notes (C)

(D),(!) (C)

(C)

(C)

4.1.4

Descriptive FlexField

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

Purpose FlexField Name

Description Name of the descriptive FlexField

2

FlexField App Short Name

Application short name of the descriptive FlexField (eg. HXC)

3

Default Context

4

Show Context List

5

Region Name

The default selected context for the FlexField Flag to turn the context list for the FlexField on or off The region code for the page

6

Region ID

The application id of the region for the page

Application

Valid Values A valid FlexField name. A valid short application code. A valid context

Notes

(D)(!)

Y,N

(D)(!)

The correct region code A valid and correct application id

(D) (D)

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

120

4.1.5

Display Header

Context:DISPLAY HEADER Description: This component is used to display a header on the layout. The header text is retrieved from the prompt data attached to the component. 4.1.6

Display Label

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

Display Text

Context:DISPLAY TEXT Description:This component is used to display a block of text on the page - it is intended for larger and usually multi-line sections of text (unlike the Display Label component which is intended for short label text). The source of text for the label is a standard Oracle Applications message. No. 1

Purpose Message Name

Description The alias of the message to display (the alias links to a prompt object attached to the component which in turn points to an FND message)

Valid Values Valid message alias name

Notes

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

4.1.8

Hidden Field

Context:HIDDEN FIELD Description:The hidden field component is used to create a HTML form field, which is basically a non-visible form item which is submitted along with the page. The common use for this common in the OTL configurable UI is in conjunction with LOVs when the requirement 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 TABLE Description: 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 CONTROL Description: 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. 1

Purpose Show Prompt

Description Flag to determine whether or not the component should render its own prompt

Valid Values Y,N

Notes (D)

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

121

4.1.11

Key Notation

Context: KEY NOTATION Description: 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. 1

Purpose Show Required Key

Description Show required field message

Valid Values Y,N

Notes (D)

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

4.1.12

List Of Values

Context: LOV Description: This component is used to display a List-of-Values (LOV) component on a timecard layout. Various criteria can be set up to dynamically configure both the value available (based on other fields) as well as the fields that will be populated when a result is selected from the list. This component is best suited for scenarios when a field has many possible values (since the data does not need to be included in the page, and the query fires only when the user does a search and Is often restricted further to improve performance), or if there is a requirement for multiple fields to be populated, or the field to be restricted by other values the user has entered 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 so that 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 view object, but in many views there are dynamic criteria referenced from global variables or profiles that may mean the same bind parameters 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 be migrated 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 font settings 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, each separated by a pipe symbol ’—’.Note: when a LOV component is rendered by the configurable UI it will actually render two components. One contains the actual ID that is submitted and saved with the timecard (this component can be referred to by the alias given to the LOV component in the layout definition). This ID component is rendered on the page as a hidden field and 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 on the page. This field contains the ’display’ value for the LOV. This field has an implicit alias given to it of the base alias name followed by ’-DISPLAY’. This alias should also be populated as a result of the LOV. Bear in mind that if you create other fields on the screen that are dependant on the ID of a field, then you should also take into account the ’display’ value to cover the scenario 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 primary key and both fields need to be populated) then this qualifier can be used. This qualifier is used in conjunction with the LOV result criteria - if the LOV is used on a page, then the additional results should be populated with that. This qualifier is used in the cases when the LOV does not fire (and so the additional columns would not be populated usually). When the SQL query is performed for the LOV this qualifier will be checked and additional results will be populated based on its contents. The format of this qualifier is: ¡Component Alias¿—¡View Object Attribute¿. Where ¡Component Alias¿ is the name of the component being used to store the value (usually a hidden field component), and ¡View Object Attribute¿ is the name of the view object attribute that the column should be populated from. For example, the System Linkage Function is returned as a result of the Expenditure 122

Type query. Note that the in page population of result fields is handled in qualifier attribute6 as stated above - this qualifier is 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 is found the ’result’ columns will be populated using the attribute in the VO specified by this qualifier. To allow multiple result columns 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 the VO, 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 qualifiers 1-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 available in the list based on that value. These settings are also used to ensure that the correct results are returned from queries on the field. Qualifier 14 contains the mappings between items in the LOV and aliases in the timecard for the purposes of building the 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 is built - 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 the LOV code using the criteria. The value for this qualifier is a double token separated list - for each dependent item there is a tokenized 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 dependent item list qualifier outlined above. The value for this qualifier is also a token separated string and contains the fragments of SQL to 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 the dependent items specified in qualifier 14 - each of the entries is separated by a hash sign ’#’. In order to reference the value of the dependent item, you can prefix the LOV item name with two colons. For example ’my column = ::Item1’. Note that for LOVs 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.

123

No 1

Purpose View Object name

2 3

Cache Enabled LOV AK Region Code LOV AK Region Application ID Display Width LOV Criteria

4 5 6

7 8

Result Column Mappings Displayed Attribute Name

9

ID Attribute Name

10

View Object Class

11 12 13 14

Bind Variable #1 Bind Variable #2 Bind Variable #3 Dependant Item List

15

Dependant Item Where Clause

Description This is the name of the view object that is attached to the LOV1 Cache the View Object?2 AK region that defines the LOV page3 Application ID of the AK region that defines the LOV page Display width of the LOV field4 LOV criteria - this controls what values the LOV is restricted by, along with the values populated when a result is selected (5) Specifies additional columns to populate from the LOV query6 This is the name of the attribute in the View Object that should be used for the displayed value of the field This is the name of the attribute in the View Object that should be used for the stored value of the field Full class reference of the view object for the component Parameter to bind to the view object7 Parameter to bind to the view object7 Parameter to bind to the view object7 Specifies a list of dependant fields that can be used to restrict the LOV8 Specifies the where clause fragment that should be appended for each of the above dependant fields

Valid Values Valid view object name

Note (C)

Y,N Valid AK LOV region

(D)(!)

Application ID for the AK LOV region specified Numeric Valid Criteria String5

(C) A valid attribute name in the view object for the component

(C)

A valid attribute name in the view object for the component

(C)

A valid view object reference Valid bind parameter Valid bind parameter Valid bind parameter

(C)

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

124

(C)

(C) (C)

4.1.13

Message Box

Context:MESSAGE BOX Description:This component displays an imbedded message dialog on the timecard page. The type of dialog and FND message to use for the text is defined in the qualifiers. Notes:Development Use Only No. 1

Purpose Type

Description Type of dialog to display

2

Text Message Name

3

Display at the Top of the Page

The alias of the message to display (the alias links to a prompt object attached to the component which in turn points to an FND message) Flag as to whether or not this dialog will be shown in the page status region at the top of the page

Valid Values ERROR, WARNING, INFORMATION Valid message alias name

Notes

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 DETAIL Description: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 LIST Description:This component is used to display a choice list on a layout that is based on the result of a PL/SQL function call rather than 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 view object, but in many views there are dynamic criteria referenced from global variables or profiles that may mean the same bind parameters 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 the view object to execute even if there is no id - this should be used in conjunction with the read-only qualifier when you wish to create a read-only field based on a SQL query. When in this mode, the first row returned will be shown in the case of multiple matches.

4.1.16

Page Status

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

125

No. 1

Purpose Function Call

2

Parameter List

3 4

Cache Enabled Show Prompt

5 6

Required Always Execute for Read Only

Description Function call for the package choice list (in package.function format) List of parameters to be passed to the function (passed by order) Enable the cache for the View Object1 Render associated prompt along with the component Oracle Development Use Only Instructs the view object to perform the query associated even if there is no ID value stored.2

Valid Values

Notes

(!) Y,N Y,N Y,N

(D)(!)

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

Purpose Text Instruction

2

Required Field

Description Text instruction to include in the page status component Controls whether or not the required field component is displayed

Valid Values

Notes (D)

Y,N

(D)

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

Spacer

Context:SPACER Description:This component can be used to add extra white space between components on the page. Notes: No. 1

Purpose Spacer Type

Description The orientation of the spacer

2

Spacer Size

The size of the spacer (in pixels)

Valid Values VERTICAL, HORIZONTAL Numeric

Notes

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

4.1.18

Submit Button

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

Submit Icon

Context:SUBMIT ICON Description: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.

126

No. 1

Purpose Submit Action

Description The form action parameter (used to identify what submit button has been used)

Valid Values Alphanumeric string

Notes (D)

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

Purpose Submit Action

2

Enabled Icon

3

Disabled Icon

4

Show When abled? Default Value

5

Dis-

Description The form action parameter (used to identify what submit button has been used) The icon to display when the button is enabled The icon to display when the button is disabled Flag to determine if the disabled icon should be shown The default state of the icon

Valid Values Alphanumeric string

Notes (D)

Valid icon image Valid icon image

(D)

Y,N

(D)

DISABLED, ENABLED

(D)

(D)

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

Summary Table

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

Purpose VO Name

2

Fully Qualified Name

VO

Description This is the name of the view object that is attached to the component (1) Full class reference of the view object for the component

Valid Values Valid view object name

Notes (D)(C)

A valid view object reference

(D)(C)

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

4.1.21

Table Layout

Context:TABLE LAYOUT Description: This component creates a HTML table layout based on any child components attached to it. It is primarily used for formatting 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 sequence order the component will display each child in a new table cell, moving to a new row once the column count has been reached.

127

No. 1 2 3 4 5

Purpose Number of Columns Cell Spacing Cell Padding Cell Width Horizontal Alignment

Description The number of columns in the table1 HTML Cell spacing set on the table HTML Cell padding set on the table HTML Cell width set on the table HTML Cell horizontal alignment set on the table

Valid Values Numeric Numeric Numeric Numeric

Notes

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

Template Control

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

Purpose Show Prompt

Description Flag to determine whether or not the component should render its own prompt

Valid Values Y,N

Notes (D)

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

4.1.23

Text Field

Context: TEXT FIELD Description: 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 font settings the number of characters that can be displayed for a given field width can vary.

4.1.24

Timecard Fragmentation Cluster

Context: TIMECARD FRAGMENTATION CLUSTER Description: 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 BLOCK Description: This component is used to control the rendering of the page based on timecard data. It is used to both control the data 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.

128

No. 1

Purpose Show Label (Component)

2

Show Label (Parent Component)

3 4

Field Width Field Height

5

Maximum Length

6

CSS Class

7

Read-Only CSS Class

Description Flag to determine whether or not the component should render its own prompt Flag to determine whether or not the parent component should render the prompt for the component Display width of the LOV field1 The height/number of lines to use for the text field The maximum length (in characters) to enforce for this field CSS Style class CSS Style class to use when the field is rendered in read-only mode

Valid Values Y,N

Notes

Y,N

Numeric Numeric Numeric Any class Any class

valid style name valid style 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.

129

No. 1

Purpose Orientation

2

Grouping

3 4

Scope Building Block Number Show Horizontal Total

5

6

Show Vertical Total

7

Add Row Button

8

Recalculate Button

9

Delete Enabled

10

Building Block Alignment Building Block Display Style Show Confirmation Checkbox on Timecard Review page

11 12

Description Controls the orientation that the building block is rendered in Controls the way the building blocks are grouped Scope of the building block Not used Flag to determine if the horizontal total should be shown on the timecard matrix Flag to determine if the vertical total should be shown on the timecard matrix Flag to determine if the add row button should be shown on the timecard matrix Flag to determine if the calculate button should be shown on the timecard matrix Not used

Valid Values H,V

Notes (D)(!)

D,N

(D)(!)

D,T

(D)(!) (D)(!)

Y,N

Y,N

Y,N

Y,N

Not used (D)(!)

Controls the alignment of the table cells generated Not used Enable Confirmation Check on Timecard Review Page to confirm the Time Accuracy

(D)(!) Y,N

Table 30: Time Building Block component qualifing attributes. Required attribute(s) are displayed in bold.

130

Name TIMECARD ID

TIMECARD OVN

TIMECARD START DATE TIMECARD END DATE TIMECARD BIND START DATE

TIMECARD BIND END DATE

RESOURCE IDENTIFIER TYPE RESOURCE IDENTIFIER NAME RESOURCE IDENTIFIER ID BUSINESS GROUP ID

Description The ID of the timecard level building block for the current timecard - this ID along with the version number is used to uniquely identify a timecard row. The version number of the timecard - this number along with the ID is the key needed to uniquely identify a timecard. The version number is incremented each time changes are made to a timecard. The formatted start date of the timecard period. The formatted end date of the timecard period. The start date of the timecard period in canonical format - the primary use of this format is to pass the date in a standard character format (ie. Bind variables) The end date of the timecard period in canonical format - the primary use of this format is to pass the date in a standard character format (ie. Bind variables) The type of resource the timecard is for - at the current time this will always be ’PERSON’. The name of the resource for the timecard (ie. The persons name). The ID of the resource. The business group ID for the resource - primarily used for bind variables.

Table 31: Currently recognized tokens

131

Code HXC APPR FRAG HEADER TITLE

HXC CUI ADD ANOTHER ROW HXC HXC HXC HXC HXC HXC HXC

CUI CUI CUI CUI CUI CUI CUI

ALTERNATE NAME4 ALTERNATE NAME ITEM1 ALTERNATE NAME ITEM2 ALTERNATE NAME ITEM3 ALTERNATE NAME ITEM5 ANNUAL ACCRUAL APPR REJECT COMMENT

HXC CUI CALCULATE HXC CUI COMMENTS LABEL HXC CUI HORIZONTAL TOTAL LABEL HXC HXC HXC HXC HXC HXC HXC HXC HXC

CUI CUI CUI CUI CUI CUI CUI CUI CUI

MONTHLY ACCRUAL TIMECARD APPR OVERRIDE TIMECARD AUDIT REASON TIMECARD COMMENTS TIMECARD FRAG BUTTON TIMECARD PERIOD TIMECARD WEEK STARTING TOTAL LABEL VERTICAL TOTAL

HXC HOURSTYPE OVERTIME LABEL HXC HOURSTYPE REGULAR LABEL HXC HOURSTYPE TOTALHOURS LABEL HXC TEMPLATE LABEL HXC TEMPLATE SUBMIT BUTTON

Name Approval Header

Fragmentation

Timecard Add Another Row Label Alternate Name Item 4 Label Alternate Name Item 1 Label Alternate Name Item 2 Label Alternate Name Item 3 Label Alternate Name Item 5 Label Annual Leave Balance Approval Rejection Comment Timecard Calculate Label Timecard Comments Export Label Timecard Horizontal Total Prompt Monthly Leave Balance Timecard Approver Override Reason Label Comments Approver Comments Timecard Period (days) Week Starting Timecard Total Label Timecard Vertical Total Prompt Timecard Hours Type Overtime Label Timecard Hours Type Regular Label Timecard Hours Type Total Hours Label CUI Template Label CUI Template Go Button Label

Long Label Review Approver Comments: @RI NAME, @RA NUMBER Add Another Row Alternate Name Item 4 Alternate Name Item 1 Alternate Name Item 2 Alternate Name Item 3 Alternate Name Item 5 Annual Leave Balance Approver’s Comments: Calculate Comments Total Monthly Leave Balance Overriding Approver Reason Comments Approver Comments Timecard Period (days) Week Starting Total Total Premium Regular Total Hours Entered Template Go

Table 32: Timecard region seeded prompts (Part 1.)

132

Code

HXC TIMECARD DELETE HXC TIMECARD DETAILS HXC TIMECARD DETAIL HEADER

Name Apply to Selected label Audit Page Day Header Audit Page Date Entered Header Audit Page Hours Header Audit Page Reason Audit Page Comment Timecard Context List Prompt Timecard Cost Center Prompt Delete Label Details Label Timecard Details Header

HXC TIMECARD DETAIL TITLE

Timecard Detail Title

HXC TIMECARD DUPLICATE HXC TIMECARD EXPTYPE HXC TIMECARD HEADER TITLE

Duplicate Expenditure Type Timecard Header Title

HXC TIMECARD HOURS TYPE

HXC TIMECARD TIP TEXT

Timecard Hours Type Prompt Measure Audit Page New Entry Audit Page Old Entry Timecard Period Go Button Label Timecard Period Label Project Quantity Timecard Save As Template Submit Button Timecard Save As Template Label Start Time Stop Time System Linkage Function Task Timecard Template Label Timecard Template Overwrite Label Timecard Template Submit Label Timecard Tip Text

HXC TIMECARD TIP TITLE

Timecard Tip Title

HXC TIMECARD APPLY SELECTED HXC TIMECARD AUDIT DAY HXC TIMECARD AUDIT DTENTERED HXC HXC HXC HXC

TIMECARD TIMECARD TIMECARD TIMECARD

AUDIT HOURS AUDIT REASON COMMENT CONTEXTLIST

HXC TIMECARD COST CENTER

HXC HXC HXC HXC

TIMECARD TIMECARD TIMECARD TIMECARD

MEASURE NEW ENTRY OLD ENTRY PERIOD GO LABEL

HXC HXC HXC HXC

TIMECARD TIMECARD TIMECARD TIMECARD

PERIOD LABEL PROJECT QUANTITY SAVE TEMPL BUTTON

HXC TIMECARD SAVE TEMPL LABEL HXC HXC HXC HXC HXC HXC

TIMECARD TIMECARD TIMECARD TIMECARD TIMECARD TIMECARD

STARTTIME STOPTIME SYSLINKFUNC TASK TEMPLATE LABEL TEMPLATE OW LABEL

HXC TIMECARD TEMPLATE SUBMIT

Long Label Apply to Selected Day Date Entered Hours Reason Comment Context List Cost Center Delete Additional Details Additional Details: @RI NAME, @RA NUMBER Detail Information: @!DETAIL DAY HEADER Duplicate Type Time Entry: @RI NAME, @RA NUMBER Hours Type Measure New Entry Old Entry

Period Project Hrs Save as a Template Template Name Start Stop System Linkage Function Task Template Overwrite Entry Apply Template Enter your time for the two week time card period. Timecard Period Starting: @TIMECARD START DATE

Table 33: Timecard region seeded prompts (Part 2.) 133

Code HXC TCNOTIFICATION HEADER HXC TCREVIEW CHANGES HEADER HXC TCREVIEW COMMENTS LABEL HXC TCREVIEW HEADER TITLE HXC TCREVIEW HOURS EXPLOSION HXC TCREVIEW PERIOD LABEL HXC TCREVIEW PERIOD TEXT HXC TCREVIEW WEEKSTART LABEL HXC TC AUDIT HEADER HXC TC CHANGE HEADER HXC TC LATE HEADER HXC TC REVIEW HOURS ENT HEADER

Name Timecard Notification Header Title TC Audit Page Header Timecard Review Comments Label Timecard Review Header Title Timecard Review Hours Explosion Matrix Header Timecard Review Period Label Timecard Review Period Text Timecard Review Week Starting Label Audit Summary Header Audit Page Change Header Audit Page Late Header Timecard Review Hours Entered Header

Long Label Timecard Entries Change Reasons: @RA NUMBER Comments

@RI NAME,

Review: @RA NUMBER Time Detail

@RI NAME,

Timecard Period @TIMECARD PERIOD LENGTH day(s) Week Starting Audit Summary Changed Entries Late Entries Hours Entered

Table 34: Timecard Review region seeded prompts

Code HXC TC AUDIT HEADER HXC TC CHANGE HEADER HXC TC CONF APPROVER LABEL HXC TC CONF HEADER

HXC TC CONF HOURS ENT HEADER HXC TC CONF SUMMARY HEADER HXC TC CONF VAC BAL LABEL HXC TC LATE HEADER

Name Audit Summary Header Audit Page Change Header Timecard Confirmation Approver Label Timecard Confirmation Header Timecard Confirmation Hours Entered Header Timecard Confirmation Summary Header Timecard Confirmation Vacation Balance Label Audit Page Late Header

Long Label Audit Summary Changed Entries Approver Confirmation: @RI NAME, @RA NUMBER Hours Entered Summary Vacation Balance

Table 35: Timecard Confirmation region seeded prompts

134

Message Name HXC SAVEFORLATER CONFIRM HXC SAVEASTEMPLATE CONFIRM HXC SUBMIT CONFIRMATION HXC 366216 DUP ATTR ENTRY

HXC PROJECTS DETAIL TIP TEXT HXC TIMECARD TIP TEXT

Message Text The timecard has been saved successfully. The timecard has been successfully saved as a template. Time entries for the given timecard period have been submitted successfully. You have entered duplicate time attributes. This is not currently supported. Enter unique time attribution on each row. ¡b¿¡/b¿

Table 36: Seeded Timecard Messages

135

Error Code CUI COMPONENT MESSAGE NOT FOUND

CUI COMPONENT PROMPT NOT FOUND

CUI COMPONENT PROPERTY NOT FOUND

CUI INVALID RENDER METHOD CUI INVALID QUERY METHOD CUI NO COMPONENTS

CUI NO LAYOUT FOUND

CUI NO RESOURCE ID CUI NULL LAYOUT NAME CUI PARENT WEBBEAN NOT FOUND

CUI PREF LAYOUT ID ERR CUI PREF LAYOUT ID NULL CUI UNKNOWN RENDER METHOD CUI UNKNOWN QUERY METHOD

Meaning The message entity specified in the message alias on the component could not be found (check it exists and that the alias is correct). The prompt entity specified in the prompt alias on the component could not be found (check it exists and that the alias is correct). The property specified for the component could not be found - confirm you have edited the layout correctly if this message is seen. Internal development code - an incorrect render method for the configurable UI to use has been specified Internal development code -an incorrect query method to find the layout id has been specified The layout was located, but no components were found in it - if a script has been run to delete components from tables it will usually leave the main row intact so the same id can be reused to load the layout to avoid breaking preferences. Reload the layout to resolve this error. No layout was found with the ID specified for the user confirm preferences are correct and that the layout has not been deleted manually from the tables No ID was found for the person - confirm the user has an employee attached Internal development code - the layout name is null. The parent webbean reference for the component could not be found - check for PARENT BEAN attributes with aliases that do not resolve to another component (they should map to a COMPONENT ALIAS attribute on another component) The layout ID from the user preferences was not found The layout ID from the user preferences is null Internal development code - an incorrect render method for the configurable UI to use has been specified Internal development code -an incorrect query method to find the layout id has been specified

Table 37: Configurable User Interface Error Codes

136

Error Code DFF INCOMPLETE FLEX CONTEXT DFF NULL FLEX APP SHORT NAME DFF NULL FLEX NAME DFF NULL FLEX REGION NAME DFF NULL FLEX REGION APP ID DH NULL LABEL HOURS TYPE MULTI ROWS INPD NO RESOURCE ID LOV APP MODULE CREATE ERROR LOV INCOMPLETE CRITERIA LOV INCOMPLETE MAP LOV INVALID MAPPINGS

LOV NULL REGION APP ID LOV NULL REGION CODE LOV NULL COMPONENT ALIAS LOV QUERY COLUMNS INVALID MB MESSAGE NOT FOUND

MB NULL TEXT NULL DISPLAY LABEL TBB BB NUM NOT SET TC NO RESOURCE ID TF NULL NAME

Meaning Internal development code - the flex context is missing or corrupt The FlexField application short name was not set for the descriptive flex component The FlexField name was not set for the descriptive flex component The region name was not set for the descriptive flex component The region application id was not set for the descriptive flex component The label for the display header component is not set Internal development code - the hours type query returned multiple rows Internal development code -resource ID was not available for the inter-period navigation control Internal development code - there was a problem creating an application module The criteria specified for the LOV component are incomplete - check that there are 4 values for each of the criteria The result map specified for the LOV is not complete confirm there are 3 values set for each of the maps There is a mismatch between the number of dependant item lists and dependant item where clauses (qualifiers 14 and 15 on the LOV component) - check the qualifiers to ensure there is a dependant where clause specified for each of the dependant items The application ID for the LOV region is not set The region code for the LOV region is not set An alias reference in the LOV criteria could not be resolved - check all alias references exist and are correct The result column mappings for the LOV are incorrect check the values specified The message alias referred to in the message box component could not be resolved - check the message entity with the alias exists The message attached to the message box component is null The display label attached to the component is null Internal development code - the building block count property count not be retrieved Internal development code -resource ID was not available for the template control Internal development code - the form field name for the text field component is null

Table 38: Configurable User Interface Error Codes (Part 2)

137

5

Troubleshooting and Frequently Asked Questions

When reporting suspected bugs or issues with configuration using the OTL Configurable UI please ensure you include the following information: • A full java stack trace of the issue if applicable (if a generic framework error page is shown, click the link in the error message to 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 related patches 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 Objects and 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 layouts if possible.

5.1

FAQ

138

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF