Professional Documents
Culture Documents
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
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
Amritha Nuthi
115.2
Amarnath Krishnamoorthy
115.3
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.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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.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: . . . . . . . . . . . .
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
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
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
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
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
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
13
1.4.3
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-AL-CONFIRMATION
PROJECTS-ALTERNATE-DETAIL
PROJPAYROLL-EXPORT-LAYOUT
PROJECTS-ALTERNATE-NOTIF
PROJECTS-ALTERNATE-FRAGMENT
DETAIL
EXPORT
NOTIFICATION
FRAGMENT
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
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
EXCEPTION-EXPORT-LAYOUT
EXCEPTION-NOTIFICATION
EXPORT
NOTIFICATION
hxczzhxclayt0027.ldt
hxczzhxclayt0046.ldt
EXCEPTION-FRAGMENT
EXCEPTION-HE-REVIEW
FRAGMENT
REVIEW
hxczzhxclayt0064.ldt
hxczzhxclayt0028.ldt
EXCEPTION-HE-NOTIFICATION
NOTIFICATION
hxczzhxclayt0045.ldt
Exception
tion Page
Exception
Exception
tion Page
Exception
Exception
out
Exception
Layout
1.4.5
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
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
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
1.4.8
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
16
Layout Type
CONFIRMATION
Filename
hxczzhxclayt0081.ldt
1.4.9
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
1.4.10
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-DET-AL-CONF
CONFIRMATION
hxczzhxclayt0100.ldt
PROJECTS-DET-ALT-DETAIL
DETAIL
hxczzhxclayt0098.ldt
PROJPAY-DETAIL-EXPORT
EXPORT
hxczzhxclayt0099.ldt
PROJECTS-DET-ALT-NOTIF
NOTIFICATION
hxczzhxclayt0095.ldt
PROJECTS-DET-ALT-FRAG
FRAGMENT
hxczzhxclayt0096.ldt
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
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
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
20
2.2
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
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
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
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
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
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
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
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
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
Lets 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
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
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
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 dont 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 dont 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.
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
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, lets 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
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.
3.3.1
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
The custom LOV is added to the timecard layouts to ensure it is rendered for the user. This means we add the following component
to the layout definition:
BEGIN HXC LAYOUT COMPONENTS "ELP ChoiceListDff Proj-Pay Timecard Layout - Location"
OWNER = "ORACLE"
COMPONENT VALUE = "LOCATION"
SEQUENCE = "260"
COMPONENT DEFINITION = "LOV"
RENDER TYPE = "WEB"
PARENT COMPONENT = "ELP ChoiceListDff Proj-Pay Timecard Layout - Day Scope Building blocks for worker
timecard matrix"
REGION CODE = "HXC CUI TIMECARD"
REGION CODE APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD LOCATION"
ATTRIBUTE CODE APP SHORT NAME = "HXC"
34
BEGIN HXC LAYOUT COMP QUALIFIERS "ELP ChoiceListDff Proj-Pay Timecard Layout - Location"
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "LOV"
QUALIFIER ATTRIBUTE1 = "CustomLov1VO"
QUALIFIER ATTRIBUTE2 = "Y"
QUALIFIER ATTRIBUTE3 = "/oracle/apps/hxc/selfservice/configui/webui/CuiCustomLov1RN"
QUALIFIER ATTRIBUTE4 = "809"
QUALIFIER ATTRIBUTE5 = "12"
QUALIFIER ATTRIBUTE6 = "Lov1column1|LOC-DISPLAY|CRITERIA|N|Lov1column10|HOURSTYPE|PASSIVE CRITERIA|Y|
Lov1column4|LOC|RESULT|N|Lov1column1|LOC-DISPLAY|RESULT|N|Lov1column9|PADFFAC|RESULT|N"
QUALIFIER ATTRIBUTE7 = "PADFFAC|Lov1column9"
QUALIFIER ATTRIBUTE8 = "Lov1column1"
QUALIFIER ATTRIBUTE9 = "Lov1column4"
QUALIFIER ATTRIBUTE10 = "oracle.apps.hxc.selfservice.timecard.server.CustomLov1VO"
QUALIFIER ATTRIBUTE11 = "TIMECARD ALIAS 2"
QUALIFIER ATTRIBUTE14 = "Lov1column9|HOURSTYPE|Y#Lov1column1|LOC-DISPLAY|Y"
QUALIFIER ATTRIBUTE15 = "Lov1column9 = ::Lov1column9#
upper(Lov1column1) like upper(%||::Lov1column1||%)"
QUALIFIER ATTRIBUTE20 = "N"
QUALIFIER ATTRIBUTE21 = "Y"
QUALIFIER ATTRIBUTE22 = "R"
QUALIFIER ATTRIBUTE25 = "FLEX"
QUALIFIER ATTRIBUTE26 = "Dummy Paexpitdff Context"
QUALIFIER ATTRIBUTE27 = "Attribute1"
QUALIFIER ATTRIBUTE28 = "LOC"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
Consider the component definition above:
The text ELP ChoiceListDff Proj-Pay Timecard Layout - Location corresponds to the component name.
The component in this case is owned by ORACLE which identifies it as a seeded component. In a configuration file, this can be
anything, but something other than Oracle should be used for custom layouts.
In this case, the component value, of LOCATION isnt used in the code anywhere, but represents a good label.
The sequence corresponds to a unique number within the layout definition and tells the configurable UI code where to situate
the field with respect to the other fields defined in the layout.
The component definition, LOV, is self-explanatory - this is a list of values style field.
In this case render type means that we should show this component when the user accesses the timecard via a web browser.
The parent component is the reference back to the timecard day matrix - i.e. this field is a child of the main table entry table
and thus should be shown inside that table.
The next four data entries tell the code where to locate the label for the field, in this case it is the AK attribute called
HXC TIMECARD LOCATION within the HXC CUI TIMECARD region - and we should add this AK attribute via the AK forms to
ensure the label is shown on the timecard page.
The next section of the component definition correspond to the component qualifiers - this is data which modifies the default
component behavior, and is necessary for a List of Values component. The items in bold above must be set this way when
using the configurable LOV objects. They define the BC4J object, and the corresponding MDS region definition to use with
the list of values.
35
QUALIFIER ATTRIBUTE2 is used to turn middle tier caching on an off for the SQL statement associated with the list of values.
When testing it is a very good idea to set this to N such that you do not need to bounce the apache server repeatedly while
testing your configuration. Once the configuration is fixed, and as long as for the same set of bind variables the same results
will be shown, as is the case here, then the cache should be enabled for performance purposes. If this were a dynamic list, with
lots of changes occurring, then the cache should remain disabled.
QUALIFIER ATTRIBUTE5 specifies the display size of the field, in this case, 12 characters. The locations in the examples are
somewhat larger than this, but to save horizontal scrolling on the time entry page we reduce this value to a minimum.
QUALIFIER ATTRIBUTE6 is discussed in much greater detail in later sections of this document, essentially this data controls the
criteria and results for the list of values. The value shown above indicates that the hours type value is a required criterion and
that any data in the location field itself should also be used to filter the results. It also indicates that the location field and
location display field should be given the values from lov1column4 (our key value which will be stored) and lov1column1 (our
display value), respectively. It also indicates that the fixed text in lov1column9 should be placed into the PADFFAC labeled field
- which in this case is a hidden field storing the attribute category.
QUALIFIER ATTRIBUTE7 indicates any additional result columns. This is used in conjunction with qualifier attribute6, and is
used if the user simply types in a value to the location display value and hits Continue or Save without recourse to the LOV.
It ensures that when the update code executes it understands that the value for the attribute category field must be populated
from the query corresponding to this component.
QUALIFIER ATTRIBUTE8 and QUALIFIER ATTRIBUTE9 indicate the id (key) and display attributes, and these are set to the
appropriate columns, as previously discussed.
QUALIFIER ATTRIBUTE11 holds the bind values to pass to the query on execution - these are bind parameters to the query in
addition to the LOV criteria. When using the configurable LOV objects qualifier attribute11 must correspond to the bind
variable for the alternate name definition retrieved in the underlying view - i.e. in this case alternate name definition 2 (any
number between 1 and 10) can be used.
QUALIFIER ATTRIBUTE14 and QUALIFIER ATTRIBUTE15 indicate the where clause that should be used when the user enters
values and then clicks on the LOV flashlight icon. In this case, the alias value id from the hours type field must equal the
value in lov1column9, and the value entered as search reduction criteria should be like the value in the display column - thus
as configured this is a case insensitive criteria which will match any partial value in the display column. I.e. if the user enters
GTON sq, i.e. will match a value Washington Square in the list of values.
The rest of the qualifier attributes are the usual set for all layout components indicating where the field should appear, inside or
outside the days in the matrix, to the left or right of that matrix, and where the value should be stored - in this case attribute1 of
the Project Accounting additional descriptive flexfield. Once that layout is uploaded, and the right hours type value is chosen in the
hours type list - if the user opens the location LOV the LOV appears as per figure 5.
Obviously while it is good that the LOV works, the generic column names and system data which appears is confusing for the
user.
3.3.3
Use of the standard OAF personalization resolves the problem of the generic column names, and additional information showing to
the user. Care should be taken when creating the personalization to ensure it is done at the appropriate level - for example, if several
different custom LOVs will be used on differing layouts for differing employee populations, obviously a personalization at site-level
would be inappropriate. Using personalization we can hide the columns the user does not need to see (all but the display column),
and rename that, such that when opened, the LOV now appears:
and thus a fully functional configurable LOV is added to the timecard with the minimum of customization - a SQL statement,
and a configuration via a timecard layout file.
36
3.4
Adding a Custom LOV to the Timecard without using the Custom LOV Objects
The query used for the view object should select all the columns that you would like to see shown in the LOV page. In addition the
query should select any other columns that you wish to restrict the query by or save as an attribute on the timecard. Initial step is
to define the query according to your requirements, so for our example:
37
select pers.person id
,pers.full name
,pers.last name
,pers.date of birth
,pers.employee number
,bg.business group id
,bg.name business group name
from per people f pers
,per business groups bg
where pers.business group id = bg.business group id
Next, you need to decide the class and view usage name for your VO. In this example:
Class Name: my.custom.server.CustomPersonVO View Usage Name: CustomPersonVO
3.4.2
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. Leave the other fields blank or at their default value.
So for our example, you would need to create attributes for the following fields:
person id
full name
last name
date of birth
employee number
38
business group id
business group name
Specifically:
Attribute ID: CUSTOM PERSON ID
Attribute Name: My Custom LOV - Person ID
Application: Oracle Time and Labor
Data type: Number
Value Length: 15
Style: Text
Label: Person ID
Attribute ID: CUSTOM FULL NAME
Attribute Name: My Custom LOV - Full Name
Application: Oracle Time and Labor
Data type: Varchar2
Value Length: 240
Style: Text
Label: Full Name
Attribute ID: CUSTOM LAST NAME
Attribute Name: My Custom LOV - Last Name
Application: Oracle Time and Labor
Data type: Varchar2
Value Length: 40
Style: Text
Label: Last Name
Attribute ID: CUSTOM DATE OF BIRTH
Attribute Name: My Custom LOV - Date of Birth
Application: Oracle Time and Labor
Data type: Date
Value Length: 1
Style: Text
Label: Date of Birth
Attribute ID: CUSTOM EMPLOYEE NUMBER
Attribute Name: My Custom LOV - Employee Number
Application: Oracle Time and Labor
Data type: Varchar2
Value Length: 30
Style: Text
Label: Employee Number
Attribute ID: CUSTOM BUSINESS GROUP ID
Attribute Name: My Custom LOV - Business Group ID
Application: Oracle Time and Labor
Data type: Number
Value Length: 15
Style: Text
Label: Business Group ID
39
Leave all other fields blank or to their default value. Save the record.
3.4.4
Create AK region items inside the AK region for the LOV page
Next you need to create region items for each of the things you want to show on the LOV. Using the AK Regions window, query 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.
In addition, make a note of the value for Item Name - this will be auto-generated from the attribute code and you do not need to
change it, but you need to know it for when you create the LOV component definition.
So for our example, you would create the following region items inside the LOV region.
Attribute Type: Attribute
Application: Oracle Time and Labor
Attribute Name: My Custom LOV - Person ID
Sequence: 10
Node Display: Checked
Queryable: Checked
Item Name: CustomPersonId
View Usage Name: CustomPersonVO
View Attribute Name: PersonId
Attribute Type: Attribute
Application: Oracle Time and Labor
Attribute Name: My Custom LOV - Full Name
Sequence: 20
Node Display: Checked
Queryable: Checked
Item Name: CustomFullName
View Usage Name: CustomPersonVO
View Attribute Name: FullName
Attribute Type:
Attribute
40
41
3.4.5
Run the migration script to copy the LOV definition from AK to the MDS repository
3.4.6
42
3.4.7
Include the new LOV View Object into your Apache/Jserv environment
First of all you need to compile any Java code that was generated when you created your View Objects. Typically you will have a
VOImpl.java file, but there are others you can choose to create when you generate your VO. Once you have the class files you will
need to get these and the xml file to your apache/JServ environment. The easiest way to do this is to create a directory and then
prefix this to your JServ classpath. Note: In the directory you will need to maintain the full structure of the package you used to
create your VO. For our example, the files are in the package my.custom.server. So in the directory you add to your classpath you
should have the following structure/files (assuming custom is the name of your directory):
custom/my <directory>
custom/my/custom/ <directory>
custom/my/custom/server/ <directory>
custom/my/custom/server/CustomPersonVO.xml
custom/my/custom/server/CustomPersonVOImpl.class
After altering the JServ classpath to include your directory you should bounce Apache/JServ for the changes to take effect. The
final task needed to implement your new LOV is to compile your modified layout against the database, and if necessary assign it to
the relevant users via the preference screen.
3.5
Where RI NAME is the token for the name of the employee entering time and RA NUMBER is their employee number.
To change the title modify the text associated with prompt HXC TIMECARD HEADER TITLE, within the AK HXC CUI TIMECARD
region. Alternatively, you can create a new prompt and then alter the layout definition to use that prompt instead of the delivered
one.
So, for example, lets change the title to say Timecard for Employee, where Employee is the name of the employee.
Go to Application Developer Common Modules AK regions form, query for HXC CUI TIMECARD, highlight the correct row (if
you have more than one result from doing a partial match), and then press the Region Items button at the bottom of the form. In
the region items form, query on the Attribute Timecard Header Title (you can look up the attribute names based on the attribute
code by searching in the Seeded Prompts section. Refer Table 31: Timecard region seeded prompts) and then change the Attribute
Long Label text for the item to:
Timecard for @RI NAME
3.6
Changing any label in OTL can be done by editing the text for the label in the professional AK form. To identify the attribute name
which you need to change there are two methods. Firstly, you can search for the text of the prompt in the reference section of this
document to find the name of the attribute. The second method, if the correct label cannot be found, or there are multiple choices
as to which it may be is the inspect the layout file.
Prompts can be attached to components in two ways - to best illustrate these two methods lets take a look at a couple of examples
using the inter-period navigation control on the Projects timecard layout.
BEGIN HXC LAYOUT COMPONENTS
"Projects Timecard Layout - Inter Period Nav Control"
OWNER = "ORACLE"
REGION CODE = "HXC CUI TIMECARD"
REGION CODE APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD PERIOD LABEL"
ATTRIBUTE CODE APP SHORT NAME = "HXC"
43
SEQUENCE = "100"
COMPONENT DEFINITION = "INTER PERIOD NAV CONTROL"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Projects Timecard Layout - Header Field Table Layout Component"
LAST UPDATE DATE = "2004/05/24"
BEGIN HXC LAYOUT COMP PROMPTS "PERIOD GO LABEL" "AK PROMPT"
OWNER = "ORACLE"
REGION CODE = "HXC CUI TIMECARD"
REGION APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD PERIOD GO LABEL"
ATTRIBUTE APP SHORT NAME = "HXC"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP PROMPTS
BEGIN HXC LAYOUT COMP QUALIFIERS
"Projects Timecard Layout - Inter Period Nav Control"
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "INTER PERIOD NAV CONTROL"
QUALIFIER ATTRIBUTE1 = "N"
QUALIFIER ATTRIBUTE16 = "1"
QUALIFIER ATTRIBUTE18 = "EXCLUDE"
QUALIFIER ATTRIBUTE19 = "|TEMPLATE|CSV|"
QUALIFIER ATTRIBUTE20 = "N"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
First of all, prompts can be directly attached to the component - this method is used when for example the prompt is associated
directly with the component (eg. The label for a text field). This is the case for the inter-period navigation control - the prompt is
set using attributes directly on the component itself:
REGION CODE = "HXC CUI TIMECARD"
REGION CODE APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD PERIOD LABEL"
ATTRIBUTE CODE APP SHORT NAME = "HXC"
Here you can see the prompt for the component is referring to the attribute HXC TIMECARD PERIOD LABEL in the region
HXC CUI TIMECARD. The second way of attaching a prompt onto a component is used when the prompt is not directly associated
with the component in question, or when more than one label needs to be attached. In the case of the inter-period navigation control
we need a secondary label to use as the text for the Go button. This label is defined as a different entity attached to the component:
BEGIN HXC LAYOUT COMP PROMPTS "PERIOD GO LABEL" "AK PROMPT"
OWNER = "ORACLE"
REGION CODE = "HXC CUI TIMECARD"
REGION APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD PERIOD GO LABEL"
ATTRIBUTE APP SHORT NAME = "HXC"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP PROMPTS
The label is referring to the attribute HXC TIMECARD PERIOD GO LABEL in the region HXC CUI TIMECARD. You will
note the key for the prompt entity is PERIOD GO LABEL - this value should not be changed. It is used internally by the component
44
to find the reference to the label (so we do not need to hardcode a message name), and also allows prompts to be reused on the layout
so they do not have to be queried multiple times. Once you have located the label using either of these methods, you can simply edit
the text via the AK professional forms to the text you would like.
3.7
Adding a component to the header section of the timecard is simply a case of creating your component, and adding it to the layout
as a child of the header table. To illustrate this example, lets use the header section for the Projects timecard:
BEGIN HXC LAYOUT COMPONENTS
"Projects Timecard Layout - Header Table Layout Component"
OWNER = "ORACLE"
SEQUENCE = "70"
COMPONENT DEFINITION = "TABLE LAYOUT"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Projects Timecard Layout - Top Level Building Block"
LAST UPDATE DATE = "2004/05/24"
BEGIN HXC LAYOUT COMP QUALIFIERS
"Projects Timecard Layout - Header Table Layout Component"
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "TABLE LAYOUT"
QUALIFIER ATTRIBUTE1 = "2"
QUALIFIER ATTRIBUTE3 = "2"
QUALIFIER ATTRIBUTE16 = "1"
QUALIFIER ATTRIBUTE18 = "EXCLUDE"
QUALIFIER ATTRIBUTE19 = "|CSV|"
QUALIFIER ATTRIBUTE20 = "Y"
QUALIFIER ATTRIBUTE21 = "Y"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
BEGIN HXC LAYOUT COMPONENTS
"Projects Timecard Layout - Header Field Table Layout Component"
OWNER = "ORACLE"
SEQUENCE = "80"
COMPONENT DEFINITION = "TABLE LAYOUT"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Projects Timecard Layout - Header Table Layout Component"
ATTRIBUTE1 = "TOP"
LAST UPDATE DATE = "2004/05/24"
BEGIN HXC LAYOUT COMP QUALIFIERS
"Projects Timecard Layout - Header Field Table Layout Component"
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "TABLE LAYOUT"
QUALIFIER ATTRIBUTE1 = "2"
QUALIFIER ATTRIBUTE3 = "2"
QUALIFIER ATTRIBUTE16 = "1"
45
46
47
48
49
Lets assume the following details are used for the prompt:
Region: MY CUSTOM TIMECARD
Application: Time and Labor Engine
Attribute Code: CUSTOM TIMECARD PROMPT
Attribute Long Label: Payroll Code
3.7.2
Create wrapper PL/SQL function to call the payroll code function and return it in the format needed for
the package choice list
Since the interface required for the package choice list is slightly different to the one we need to use, and also to allow for additional
coding if needed, lets create a wrapper function which will call it and return the code in the correct format. Lets assume we create
this function in the package MY CUSTOM CODE
FUNCTION get display payroll code
(p resource id IN VARCHAR2
)
RETURN VARCHAR2
IS
-l payroll code varchar2(60);
-BEGIN
--- call the payroll code function, making sure to convert the
-- resource id to a number as needed by that interface.
-l payroll code :=
my custom package.get payroll code
(to number(p resource id));
51
--- now return the result in the correct format just using a dummy
-- id
-RETURN 1 || l payroll code;
END get display payroll code;
3.7.3
Create the component to show the label for our custom field and add it to the layout
So first of all, lets consider what sequence we will need to use for our component. Since we want to place it between the inter-period
navigation control and the template control we can see the sequence of those two components is 100 and 110 respectively. To add
our new component will need two new items added inbetween these numbers, so lets set our new label component to 104 and the
field to 105.
Using one of the existing labels in the timecard header as a basis, we make the following changes:
BEGIN HXC LAYOUT COMPONENTS "Custom Field - Payroll code label"
REGION CODE = "MY CUSTOM TIMECARD"
REGION CODE APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "CUSTOM TIMECARD PROMPT"
ATTRIBUTE CODE APP SHORT NAME = "HXC"
SEQUENCE = "104"
COMPONENT DEFINITION = "DISPLAY LABEL"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Projects Timecard Layout - Header Field Table Layout Component"
BEGIN HXC LAYOUT COMP QUALIFIERS
"Custom Field - Payroll code label"
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "DISPLAY LABEL"
QUALIFIER ATTRIBUTE17 = "OraPromptText"
QUALIFIER ATTRIBUTE18 = "EXCLUDE"
QUALIFIER ATTRIBUTE19 = "|TEMPLATE|CSV|"
QUALIFIER ATTRIBUTE20 = "N"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
You can see changes to the component name and qualifier name here, updates to the region and attribute code to point to the
new prompt we created earlier, and the sequence set to the number we decided on.
3.7.4
Create the component to show the read-only function result and add it to the layout
BEGIN HXC LAYOUT COMPONENTS "Custom Field - Payroll Code"
OWNER = "ORACLE"
SEQUENCE = "105"
COMPONENT DEFINITION = "PACKAGE CHOICE LIST"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Projects Timecard Layout - Header Field Table Layout Component"
LAST UPDATE DATE = "2004/05/23"
BEGIN HXC LAYOUT COMP QUALIFIERS "Custom Field - Payroll Code"
OWNER = "ORACLE"
52
3.8
The part of the layout that renders the timecard matrix for the Projects Timecard layout can be seen below:
BEGIN HXC LAYOUT COMPONENTS
"Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"
OWNER = "ORACLE"
SEQUENCE = "180"
COMPONENT DEFINITION = "TIME BUILDING BLOCK"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Projects Timecard Layout - Top Level Building Block"
LAST UPDATE DATE = "2004/05/24"
BEGIN HXC LAYOUT COMP PROMPTS "TOTAL LABEL" "AK PROMPT"
OWNER = "ORACLE"
REGION CODE = "HXC CUI TIMECARD"
REGION APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC CUI TOTAL LABEL"
ATTRIBUTE APP SHORT NAME = "HXC"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP PROMPTS
BEGIN HXC LAYOUT COMP PROMPTS "CALCULATE LABEL" "AK PROMPT"
OWNER = "ORACLE"
REGION CODE = "HXC CUI TIMECARD"
REGION APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC CUI CALCULATE"
ATTRIBUTE APP SHORT NAME = "HXC"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP PROMPTS
BEGIN HXC LAYOUT COMP PROMPTS "ADD ANOTHER ROW LABEL" "AK PROMPT"
OWNER = "ORACLE"
REGION CODE = "HXC CUI TIMECARD"
REGION APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC CUI ADD ANOTHER ROW"
ATTRIBUTE APP SHORT NAME = "HXC"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP PROMPTS
53
BEGIN HXC LAYOUT COMP PROMPTS "VERTICAL TOTAL LABEL" "AK PROMPT"
OWNER = "ORACLE"
REGION CODE = "HXC CUI TIMECARD"
REGION APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC CUI VERTICAL TOTAL LABEL"
ATTRIBUTE APP SHORT NAME = "HXC"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP PROMPTS
BEGIN HXC LAYOUT COMP PROMPTS "HORIZONTAL TOTAL LABEL" "AK PROMPT"
OWNER = "ORACLE"
REGION CODE = "HXC CUI TIMECARD"
REGION APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC CUI HORIZONTAL TOTAL LABEL"
ATTRIBUTE APP SHORT NAME = "HXC"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP PROMPTS
BEGIN HXC LAYOUT COMP QUALIFIERS
"Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "TIME BUILDING BLOCK"
QUALIFIER ATTRIBUTE1 = "V"
QUALIFIER ATTRIBUTE2 = "D"
QUALIFIER ATTRIBUTE3 = "D"
QUALIFIER ATTRIBUTE4 = "5"
QUALIFIER ATTRIBUTE5 = "Y"
QUALIFIER ATTRIBUTE6 = "Y"
QUALIFIER ATTRIBUTE7 = "Y"
QUALIFIER ATTRIBUTE8 = "Y"
QUALIFIER ATTRIBUTE9 = "Y"
QUALIFIER ATTRIBUTE10 = "RIGHT"
QUALIFIER ATTRIBUTE16 = "1"
QUALIFIER ATTRIBUTE20 = "Y"
QUALIFIER ATTRIBUTE25 = "TIME BUILDING BLOCK"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout - Measure"
OWNER = "ORACLE"
REGION CODE = "HXC CUI TIMECARD"
REGION CODE APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD QUANTITY"
ATTRIBUTE CODE APP SHORT NAME = "HXC"
SEQUENCE = "190"
COMPONENT DEFINITION = "TEXT FIELD"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"
54
55
OWNER = "ORACLE"
COMPONENT VALUE = "PROJECT"
REGION CODE = "HXC CUI TIMECARD"
REGION CODE APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD PROJECT"
ATTRIBUTE CODE APP SHORT NAME = "HXC"
SEQUENCE = "210"
COMPONENT DEFINITION = "LOV"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"
LAST UPDATE DATE = "2004/05/24"
BEGIN HXC LAYOUT COMP QUALIFIERS
"Projects Timecard Layout - Project"
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "LOV"
QUALIFIER ATTRIBUTE1 = "ProjectLOVVO"
QUALIFIER ATTRIBUTE2 = "N"
QUALIFIER ATTRIBUTE3 = "HXC CUI PROJECT LOV"
QUALIFIER ATTRIBUTE4 = "809"
QUALIFIER ATTRIBUTE5 = "12"
QUALIFIER ATTRIBUTE6 =
"HxcCuiProjectNumber|PROJECT-DISPLAY|CRITERIA|N|HxcCuiProjectId|PROJECT|RESULT|
N|HxcCuiProjectNumber|PROJECT-DISPLAY|RESULT|N"
QUALIFIER ATTRIBUTE8 = "ProjectNumber"
QUALIFIER ATTRIBUTE9 = "ProjectId#NUMBER"
QUALIFIER ATTRIBUTE10 =
"oracle.apps.hxc.selfservice.timecard.server.ProjectLOVVO"
QUALIFIER ATTRIBUTE17 = "OraTableCellText"
QUALIFIER ATTRIBUTE20 = "N"
QUALIFIER ATTRIBUTE21 = "Y"
QUALIFIER ATTRIBUTE22 = "L"
QUALIFIER ATTRIBUTE25 = "FLEX"
QUALIFIER ATTRIBUTE26 = "PROJECTS"
QUALIFIER ATTRIBUTE27 = "Attribute1"
QUALIFIER ATTRIBUTE28 = "PROJECT"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout - Task"
OWNER = "ORACLE"
COMPONENT VALUE = "TASK"
REGION CODE = "HXC CUI TIMECARD"
REGION CODE APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD TASK"
ATTRIBUTE CODE APP SHORT NAME = "HXC"
SEQUENCE = "220"
COMPONENT DEFINITION = "LOV"
RENDER TYPE = "WEB"
56
PARENT COMPONENT =
"Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"
LAST UPDATE DATE = "2004/05/24"
BEGIN HXC LAYOUT COMP PROMPTS "HxcCuiTaskProjectId" "AK PROMPT"
OWNER = "ORACLE"
REGION CODE = "HXC CUI TIMECARD"
REGION APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD PROJECT"
ATTRIBUTE APP SHORT NAME = "HXC"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP PROMPTS
BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout - Task"
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "LOV"
QUALIFIER ATTRIBUTE1 = "TaskLOVVO"
QUALIFIER ATTRIBUTE2 = "N"
QUALIFIER ATTRIBUTE3 = "HXC CUI TASK LOV"
QUALIFIER ATTRIBUTE4 = "809"
QUALIFIER ATTRIBUTE5 = "12"
QUALIFIER ATTRIBUTE6 =
"HxcCuiTaskNumber|TASK-DISPLAY|CRITERIA|N|HxcCuiTaskProjectId|PROJECT|PASSIVE CRITERIA|Y|
HxcCuiTaskId|TASK|RESULT|N|HxcCuiTaskNumber|TASK-DISPLAY|RESULT|N"
QUALIFIER ATTRIBUTE8 = "TaskNumber"
QUALIFIER ATTRIBUTE9 = "TaskId#NUMBER"
QUALIFIER ATTRIBUTE10 =
"oracle.apps.hxc.selfservice.timecard.server.TaskLOVVO"
QUALIFIER ATTRIBUTE14 =
"HxcCuiTaskProjectId|PROJECT|Y#HxcCuiTaskProjectNumber|PROJECT-DISPLAY|Y"
QUALIFIER ATTRIBUTE15 =
"project id = ::HxcCuiTaskProjectId#upper(project number) = upper(::HxcCuiTaskProjectNumber)"
QUALIFIER ATTRIBUTE17 = "OraTableCellText"
QUALIFIER ATTRIBUTE20 = "N"
QUALIFIER ATTRIBUTE21 = "Y"
QUALIFIER ATTRIBUTE22 = "L"
QUALIFIER ATTRIBUTE25 = "FLEX"
QUALIFIER ATTRIBUTE26 = "PROJECTS"
QUALIFIER ATTRIBUTE27 = "Attribute2"
QUALIFIER ATTRIBUTE28 = "TASK"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
BEGIN HXC LAYOUT COMPONENTS
"Projects Timecard Layout - Expenditure Type"
OWNER = "ORACLE"
COMPONENT VALUE = "EXPENDITURETYPE"
REGION CODE = "HXC CUI TIMECARD"
REGION CODE APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD EXPTYPE"
57
58
PARENT COMPONENT =
"Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"
LAST UPDATE DATE = "2004/05/24"
BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout - Delete button"
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "SUBMIT ICON"
QUALIFIER ATTRIBUTE1 = "delete"
QUALIFIER ATTRIBUTE2 = "deleteicon enabled.gif"
QUALIFIER ATTRIBUTE4 = "N"
QUALIFIER ATTRIBUTE5 = "DISABLED"
QUALIFIER ATTRIBUTE18 = "EXCLUDE"
QUALIFIER ATTRIBUTE19 = "|CSV|"
QUALIFIER ATTRIBUTE20 = "N"
QUALIFIER ATTRIBUTE21 = "Y"
QUALIFIER ATTRIBUTE22 = "R"
QUALIFIER ATTRIBUTE28 = "Delete"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
BEGIN HXC LAYOUT COMPONENTS
"Projects Timecard Layout - Details button"
OWNER = "ORACLE"
REGION CODE = "HXC CUI TIMECARD"
REGION CODE APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD DETAILS"
ATTRIBUTE CODE APP SHORT NAME = "HXC"
SEQUENCE = "250"
COMPONENT DEFINITION = "SUBMIT ICON"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"
LAST UPDATE DATE = "2004/05/24"
BEGIN HXC LAYOUT COMP QUALIFIERS
"Projects Timecard Layout - Details button"
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "SUBMIT ICON"
QUALIFIER ATTRIBUTE1 = "details"
QUALIFIER ATTRIBUTE2 = "detailsicon enabled.gif"
QUALIFIER ATTRIBUTE4 = "N"
QUALIFIER ATTRIBUTE5 = "ENABLED"
QUALIFIER ATTRIBUTE18 = "EXCLUDE"
QUALIFIER ATTRIBUTE19 = "|CSV|"
QUALIFIER ATTRIBUTE20 = "N"
QUALIFIER ATTRIBUTE21 = "Y"
QUALIFIER ATTRIBUTE22 = "R"
QUALIFIER ATTRIBUTE28 = "Details"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP QUALIFIERS
59
3.9
The OTL Timecard allows for the addition of data fields that are not specific to an Oracle Application, but are necessary for an
individual company. The new data fields are available to the self-service timecard after first being defined in the Descriptive Flex
Field OTL Information Types
To define the OTL Information Type Descriptive Flex Field: Navigation to define a new OTL Information Type Descriptive
Flex Field Context / Segment:
System Administrator
Application
Flexfield
Descriptive
Segments
Then: query on Title OTL Information Types
Unfreeze the Flexfield Definition
Add a new, blank line (Context Code)
Add a Name
Add Segments
Description
Value Set (optional)
Save the new Segments / Context
Re-Freeze the DFF
62
The new OTL Information Type is now available to be deposited with the self-service timecard.
The new input field may allow for Free Text, or a user defined Choice List or List of Values (LOV) entries. Defining user defined
Choice Lists or LOVs was previously described in sections 2.7 and 2.8.
The timecard attribute then has the new component added to the layout as other components, specifically identifying the new
information type on QUALIFIER ATTRIBUTE26 and QUALIFIER ATTRIBUTE27.
QUALIFIER ATTRIBUTE22 = "L"
QUALIFIER ATTRIBUTE25 = "FLEX"
QUALIFIER ATTRIBUTE26 = "New Information Type Context"
QUALIFIER ATTRIBUTE27 = "ATTRIBUTE##"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
For Example: A new OTL Information Type called Machine Information was created, with Attribute 5 called Machine Type.
A user defined choice list of Press, Lathe, Drill, etc. was created using the view HXC CUI CUSTOM9 V. The view is referenced
in the layout file as Custom9VO.
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"
QUALIFIER ATTRIBUTE1 = "Custom9VO"
QUALIFIER ATTRIBUTE4 = "N"
QUALIFIER ATTRIBUTE8 = "DisplayValue"
QUALIFIER ATTRIBUTE9 = "Value"
QUALIFIER ATTRIBUTE10 = "oracle.apps.hxc.selfservice.timecard.server.Custom9VO"
QUALIFIER ATTRIBUTE20 = "N"
QUALIFIER ATTRIBUTE21 = "Y"
QUALIFIER ATTRIBUTE22 = "L"
QUALIFIER ATTRIBUTE25 = "FLEX"
QUALIFIER ATTRIBUTE26 = "Machine Information"
QUALIFIER ATTRIBUTE27 = "Attribute5"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
3.10
Extra Element Input values may be added to a configured Timecard, with the extra input values validated and retrieved to BEE.
The delivered Payroll and Exception layouts include an Alternate Name Hours Type component that reference an HR / Payroll
Hours Type (Element). The user enterable input values defined on an element are associated to the Element in the OTL Information
Types Descriptive Flex Field when the OTL Generate Flex Mapping Process is executed for a specific Element Set. The segments
created are those defined in HR / Payroll as User enterable.
The Additional Input Value added to the configured layout must exist on all elements displayed to the user AND must be deposited
to the same OTL Information Type Segment for all elements. The OTL Information Types Element segments should be defined to
a specific Segment value, since the configured layout references a specific segment in QUALIFIER ATTRIBUTE27, with Dummy
Element Context defined in QUALIFIER ATTRIBUTE26.
The same segment may be defined for different elements input values if the Input Values sequence number is defined as 12, 13,
14, or 15. (E.g. Element Input Value with Sequence number 12, will then have Segment 12 for all ELEMENT - ##### defined in
the OTL Information Types Descriptive Flex Field).
NOTE - If the sequence value is anything other than the 12-15, then the Generate Flex Mapping Process may define the input
values to different segment values for different elements, producing unexpected results on a configured timecard.
Add Company defined Choice Lists or LOVs based on information previously defined in sections 2.7 and 2.8.
An example of adding an Input Value defined as OTL Information Types, Dummy Element Context, and Segment 12 for all
elements
63
3.11
The seeded Exception and Payroll timecard layouts include a Cost Center component. The component references a specific FND
value set (US#Cost Center) and saves the cost center entries to SEGMENT1 of the Cost Allocation Key Flex Field. Within the
delivered OTL timecard LDT file, the cost center is referenced in the section marked ## Cost Center ##, as follows:
############################################################################
# Cost center choice list on the timecard matrix
############################################################################
BEGIN HXC LAYOUT COMPONENTS "Exception Timecard Layout - Cost Center"
OWNER = "CUSTOM"
COMPONENT VALUE = "COSTCENTER"
SEQUENCE = "120"
COMPONENT DEFINITION = "CHOICE LIST"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Exception Timecard Layout - Day Scope Building blocks for worker timecard matrix"
REGION CODE = "HXC CUI TIMECARD"
REGION CODE APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD COST CENTER"
ATTRIBUTE CODE APP SHORT NAME = "HXC"
64
BEGIN HXC LAYOUT COMP QUALIFIERS "Exception Timecard Layout - Cost Center"
OWNER = "CUSTOM"
QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"
QUALIFIER ATTRIBUTE1 = "CostCenterVO"
QUALIFIER ATTRIBUTE4 = "N"
QUALIFIER ATTRIBUTE10 = "oracle.apps.hxc.selfservice.timecard.server.CostCenterVO"
QUALIFIER ATTRIBUTE20 = "N"
QUALIFIER ATTRIBUTE21 = "Y"
QUALIFIER ATTRIBUTE22 = "L"
QUALIFIER ATTRIBUTE25 = "FLEX"
QUALIFIER ATTRIBUTE26 = "Dummy Cost Context"
QUALIFIER ATTRIBUTE27 = "Attribute1"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
Example: Suppose you want to reference a different independent value set for the Cost Center component and save to Segment 4
of the Cost Allocation Key. Perform these steps:
Create the Independent Value Set, such as OTL ACCOUNT.
Set up values for OTL ACCOUNT.
Create a View referencing the Independent Value set, and using an OTL Custom Component. (In this example Custom
Component 9.)
CREATE OR REPLACE FORCE VIEW HXC CUI CUSTOM9 V
( display value ,value )
AS
select flex value display value, 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 = OTL ACCOUNT
(Change the flex value set name (OTL ACCOUNT) to the name of the Independent Value Set you are using.). If you would like
to display the Cost Segment value and the Description, use the following sql to create the view (changing the Independent Value set
name and View number from 1-10)
CREATE OR REPLACE FORCE VIEW HXC CUI CUSTOM9 V
( display value
,value
)
AS
select fv.flex value||-||fv.DESCRIPTION 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 = OTL ACCOUNT
Modify the Cost Center section of the Layout, Review and Confirmation Pages with the following example component.
############################################################################
# Cost center choice list on the timecard matrix
############################################################################
BEGIN HXC LAYOUT COMPONENTS "Exception Timecard Layout - Cost Center"
OWNER = "CUSTOM"
COMPONENT VALUE = "COSTCENTER"
65
SEQUENCE = "120"
COMPONENT DEFINITION = "CHOICE LIST"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Exception Timecard Layout - Day Scope Building blocks for worker timecard matrix"
REGION CODE = "HXC CUI TIMECARD"
REGION CODE APP SHORT NAME = "HXC"
ATTRIBUTE CODE = "HXC TIMECARD COST CENTER"
ATTRIBUTE CODE APP SHORT NAME = "HXC"
BEGIN HXC LAYOUT COMP QUALIFIERS "Exception Timecard Layout - Cost Center"
OWNER = "CUSTOM"
QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"
QUALIFIER ATTRIBUTE1 = "Custom9VO"
QUALIFIER ATTRIBUTE4 = "N"
QUALIFIER ATTRIBUTE10 =
"oracle.apps.hxc.selfservice.timecard.server.Custom9VO"
QUALIFIER ATTRIBUTE20 = "N"
QUALIFIER ATTRIBUTE21 = "Y"
QUALIFIER ATTRIBUTE22 = "L"
QUALIFIER ATTRIBUTE25 = "FLEX"
QUALIFIER ATTRIBUTE26 = "Dummy Cost Context"
QUALIFIER ATTRIBUTE27 = "Attribute4"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
Note:
The Cost Segment Values will be deposited in Segment 4 (QUALIFIER ATTRIBUTE27 = Attribute4 )
The Value Set will be using the JAVA component Custom9VO, which calls the view created in step 3 (HXC CUI CUSTOM9 V).
The view returns the independent value set.
If you need to place additional Cost Center Segments on the Self Service Layout, you must make the following additional changes
to the .LDT:
1. Show the Cost Center Choice List on Timecard matrix X times in the ldt file (where X is the number of times a cost allocation
key flex segment should be shown)
2. Change the entry for SEQUENCE = 120 (above) to a value higher than 120, to show after the 1st Cost Center segment
3. Use a unique name for the new cost center segments (i.e replace Exception Timecard Layout - Cost Center with a unique
name).
4. Ensure the BEGIN HXC LAYOUT COMPONENTS has a unique name for each Cost Allocation Key Flex Segment and matches
the BEGIN HXC LAYOUT COMP QUALIFIERS
5. Ensure the View and VO numbers select the correct Value Set items
6. Ensure QUALIFIER ATTRIBUTE27 reflects the correct Cost Allocation Key FlexField
7. Define AK Attributes and Regions Items for the new segments, to display a Label other than Cost Center-see AK Items for the
Labels on the Timecard, below.
66
8. Associate the new AK Regions and Attributes to the following lines in the Cost Center section of the LDT file:
REGION CODE = HXC CUI TIMECARD
REGION CODE APP SHORT NAME = HXC
ATTRIBUTE CODE = HXC TIMECARD COST CENTER
ATTRIBUTE CODE APP SHORT NAME = HXC
The text in bold here must use the new AK Region and Attributes for the Cost Allocation Key Flex Labels. AK Items for the
Labels on the Timecard:
Define Attributes
Attribute ID VALUE (Used on Timecard LDT File as ATTRIBUTE CODE)
Attribute Name Meaningful Name (Used in Region )
Application Oracle Time and Labor (or shown as Capture)
ApplicationData Type VARCHAR2
Label Value to Show on Timecard
Define Region
Region ID VALUE (Used on Timecard LDT File as REGION CODE)
Region Name Meaningful Name
Application Oracle Time and Labor (or shown as Capture)
Object Name ICX PROMPTS
Region Style Page Layout
Number of Columns 1
After you have defined the Region, select Region Items button to add the attributes to the Region.
Attribute Type Attribute
Application Oracle Time and Labor
Attribute Name Attribute Name (created above)
Sequence #
Item Style Text
3.12
With the March 2002 release of Oracle Time and Labor, the timecard review and confirmation pages can show the user-entered
timecard data as if the OTL rules and policies had been applied. When the user clicks the Review button on the timecard, the
timecard calls OTLR and applies the proper rules and policies to the entered time. This OTLR API passes back a set of detail time
building blocks and attributes to the timecard. The timecard will not display these blocks and attributes on the screen unless specified
detail components are present in the layout. NOTE: In addition to setting up the layout correctly, you must do the following for
each employee who is to review their time detail in Self-Service:
Set the Evaluate OTL Rules segment of the Self Service Preference to allow Rules Evaluation to Yes.
Assign the employee to OTLR structures and policies
Set Autogen to Yes on the Assignment Time Information window
67
3.12.1
Within the layout definition file, duplicate the usual TIME BUILDING BLOCK component that corresponds to the day matrix in
the review and confirmation layout, changing the component names, component qualifiers and sequences. Add the words Hours
Explosion (exactly like that - upper case for the first letter of each word, lower case for all other letters, and a space between the
words) to the component name of all of the detail time components. The configurable UI will then recognize these components as
requiring detail time information only, and will associate the detail time blocks and attributes with these components. Two examples
are shipped with the product: Exception OTLR Details Review Layout and Payroll OTLR Details Review Layout. The filenames are
hxczzhxclayt0028.ldt and hxczzhxclayt0004.ldt and can be found in the $Appl TOP/hxc/11.5/import/US directory.
3.13
If an implementation only has one PA DFF context, e.g. Global Data Elements or even just one specified context such as ST, then
they can include the segments associated with this flexfield context directly on the OTL timecard matrix and thus avoid the need for
users to drill down to the details page to enter this information.
Typically a user must click on the details page link in order to set the context as it driven from data on the main timecard
matrix, e.g. the system linkage function or the expenditure type. It is only once that value is known and has been posted to the
application server that the system can render the appropriate DFF fields for the user. Clearly, if there is only one context this is
unnecessary as there is only once choice for the context, and therefore the DFF segments are well specified without any choice of
timecard attribution.
Before attempting this implementation, note:
The user will not be able to specify different values for different days, as they can on the details page, unless they use different
timecard matrix lines that may require duplication of other timecard attribution (the same project, task, expenditure type).
If existing timecards are opened within the new layout and different days have different DFF data, these entries will now be
split onto multiple timecard lines. This may be confusing for users at first.
3.13.1
The trick then, with this implementation is to make the data in the time store appear exactly as it would have if the user had
navigated to the details page and made the entries there.
The key point is to make the building block information type associated with these PA DFF timecard attributes be Dummy
Paexpitdff Context and have the appropriate attribute category, e.g. PAEXPITDFF - GLOBAL or PAEXPITDFF - ST. This
ensures that the PA application understands what these attributes are, and that the generic retrieval code component of OTL can
find the data properly without modification.
This means in the layout definition, we must specify Dummy Paexpitdff Context and not the attribute category we want directly.
i.e. QUALIFIER ATTRIBUTE26 must be Dummy Paexpitdff Context for any DFF component we add to the matrix. This ensures
any attributes created by the OTL timecard have the correct building block information type id, and can thus be found by the generic
retrieval and will be sent to Projects correctly.
However, by default the attribute category given to a timecard attribute is the same as the building block information type id,
which is bad now because the value Dummy Paexpitdff Context is unlikely to be a valid context in the expenditure items flexfield
definition. Thus, we must set the attribute category attribute of the timecard attribute correctly. This can be done in one of two
ways:
1. via a result item from an LOV (Hidden Field)
2. as a value coming from an Alias definition e.g. for a choice list or LOV (Hidden field)
Note although we must include a component supporting the attribute category in the layout definition, the user does not need
to have any knowledge of the attribute category, however if the DFF fields only comprise free-text fields, then this is the only
implementation choice.
In all three cases, a component must exist in the layout definition supporting the attribute category ensuring proper function
of the timecard and retrieval. An example HIDDEN FIELD component, for use e.g. with a DFF structure that includes a choice
appears:
68
If the DFF context definition includes a choice list component, and the timecard layout has no custom LOV included, then the least
obvious option for setting the attribute category is to use an OTL Alternate Name on one choice list segment. This ensures that
when the alternate name is resolved by the timecard deposit code, the attribute category and the appropriate segment value are set
properly.
To do this, execute the following steps:
A Navigate to Application Developer Responsibility - DFF segments form - Query for Expenditure Items DFF under Projects
Application, and create e.g. PA DFF ALTERNATE NAME context. This context will be used to generate the values in the
alternate name definition form. Create at least two segments, with names, e.g.:
(a) DFF Segment Value (this will hold the actual value the user would have entered on the details page)
(b) DFF Attribute Category (this will be the GLOBAL for example)
You can include an identifier segment if any of the alias values are duplicates. Make sure the DFF Segment Value segment has
the same value set as the corresponding segment in the PA Expenditure Items Flexfield definition. This will ensure that you
create only value alias values.
69
For the DFF Attribute Category segment, open the segment definition form and enter the default type of Constant and the
default value of GLOBAL (or whatever you want the attribute category to be) - this avoids the need to type in the values in
the alias definition page. Note: the alternate name translation engine adds the PAEXPITDFF - prefix, so you should not
include this in the segment or alternate value definitions.
Make sure both segments are required. Freeze the flexfield definition and save your work.
B Navigate to the Alternate Name Mapping form under an OTL Application Developer responsibility. Enter OTL Alternate Name
DFF Context against value set/context, and then the context you created in step A, e.g. PA DFF ALTERNATE NAME.
Click in the lower block (under Attribute/Column Name) and the segments you created as part of this context will be auto
populated.
Against the DFF segment value column choose the dummy paexpitdff mapping component corresponding to the segment for
this segment, e.g. if youre storing the segment value in attribute 5 in the PA DFF definition, pick mapping component:
PADFFAttribute5. **NOTE** this is not necessarily the same as the segment you chose in step A to support this value in
the alternate name attribute. Typically youd pick attribute1 for the segment value in the OTL Alternate Name attribute this mapping component tells the OTL Alternate Name translation engine where to put the value in the real (PAEXPITDFF)
attribute.
Against the DFF attribute category segment choose the mapping component: Dummy Paexpitdff Context
Save your work.
C Next navigate to the Alternate Name Definition form, under the same responsibility. Provide some name for your alias definition,
and then pick the context name you created in step A against the Type Name field. The Prompt field isnt used on the self
service timecard, but it is a good idea to fill this in anyway for reuse with timekeeper, provide some prompt, typically the same
as the segment prompt in the PA definition, e.g. Activity. Save your work.
Now, for each value you want the users to be able to pick for this segment value, create an alternate name entry against this
alternate name definition, e.g. Alternate Name: Bicycling Date From: 01-JAN-2000 Date To: null Values (flex window
opens) Segment Value: Bicycling Segment Context GLOBAL. Make sure the alternate name definitions are enabled. Again,
recall that the alternate name translation engine adds the required PAEXPITDFF - prefix automatically on deposit, so this
should not be included in the alternate name value definition.
Save your work.
D Now in the layout definition create the segment entry as the aliased value, e.g. as:
BEGIN HXC LAYOUT COMPONENTS
"Projects Timecard Layout - Alternate Name DFF Activity"
OWNER = "ORACLE"
COMPONENT VALUE = "DFFALTNAMEACTIVITY"
SEQUENCE = "260"
COMPONENT DEFINITION = "CHOICE LIST"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"
LAST UPDATE DATE = "2004/05/24"
BEGIN HXC LAYOUT COMP QUALIFIERS
"Projects Timecard Layout - DFF Attribute Category"
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"
QUALIFIER ATTRIBUTE1 = "Custom1VO"
QUALIFIER ATTRIBUTE4 = "N"
QUALIFIER ATTRIBUTE10 =
"oracle.apps.hxc.selfservice.timecard.server.Custom1VO"
70
71
3.13.3
If the alias value set up is considered too implementation intensive, or if the DFF definition only contains free text field inputs, it
is always possible to expose the attribute category value to the user, although not have them have to enter a value. This can be
done with an always-execute choice list component. So, instead of the component definition for attribute category above, we instead
specify a choice list, as:
BEGIN HXC LAYOUT COMPONENTS
"Projects Timecard Layout - DFF Attribute Category"
OWNER = "ORACLE"
COMPONENT VALUE = "DFFATTRIBUTECATEGORY"
SEQUENCE = "250"
COMPONENT DEFINITION = "CHOICE LIST"
RENDER TYPE = "WEB"
PARENT COMPONENT =
"Projects Timecard Layout - Day Scope Building blocks for worker timecard matrix"
LAST UPDATE DATE = "2004/05/24"
BEGIN HXC LAYOUT COMP QUALIFIERS
"Projects Timecard Layout - DFF Attribute Category"
OWNER = "ORACLE"
QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST"
QUALIFIER ATTRIBUTE1 = "Custom1VO"
QUALIFIER ATTRIBUTE4 = "Y"
QUALIFIER ATTRIBUTE10 =
"oracle.apps.hxc.selfservice.timecard.server.Custom1VO"
QUALIFIER ATTRIBUTE17 = "NONE"
QUALIFIER ATTRIBUTE20 = "N"
QUALIFIER ATTRIBUTE21 = "Y"
QUALIFIER ATTRIBUTE22 = "L"
QUALIFIER ATTRIBUTE25 = "FLEX"
QUALIFIER ATTRIBUTE26 = "Dummy Paexpitdff Context"
QUALIFIER ATTRIBUTE27 = "AttributeCategory"
LAST UPDATE DATE = "2004/05/24"
END HXC LAYOUT COMP QUALIFIERS
END HXC LAYOUT COMPONENTS
with the supporting view definition, HXC CUI CUSTOM1 V defined as:
create or replace force view HXC CUI CUSTOM1 V
(display value,
value)
as
(select Global Extra Info,
PAEXPITDFF - GLOBAL
from dual)
/
With this definition in place, the term Global Extra Info will appear to the users, but it will be auto-selected, and will be the
only value selectable, thus ensuring the value is properly recorded in the database without user intervention. This component can
safely be excluded from all other layouts - i.e. it is only required on the timecard layout.
72
3.13.4
Once the attribute category segment of the PA DFF attribute is properly set, you can simply add any other segment components to
the layout definition as normal. Remember to ensure that qualifier attribute 26 is set to Dummy Paexpitdff Context and not the
PAEXPITDFF prefix.
Note: if you have used a segment to alias the attribute category, as in the example above or below, do not include that same
segment again in the layout definition.
73
3.14
Configure Expenditure Type As Choice List Using Alternate Names in Projects Payroll
Layout
Requirement:
Configure the Expenditure Type LOV as a Choice List component can be achieved by making use of custom VO facility delivered by
OTL and using Alternate Names. In a Projects and Payroll Layout, expenditure type is a combination of expenditure type, payroll
element and system linkage function. In order to render the combination of these values in a choice list we have to make use of
Alternate Names.
This requirement of adding a choice list to the timecard matrix involves the following steps:
=>
=>
=>
=>
=>
=>
3.14.1
Define a New OTL Alternate Names Type Descriptive Flexfield Context / Segment:
74
3.14.2
Navigate to OTL Application Developer (responsibility used to administer OTL that includes the Alternate Names
sub-menu - Alternate Names - Alternate Name Mapping)
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
3.14.4
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:
3.15
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:
=>
=>
=>
=>
=>
=>
=>
=>
=>
The following example will demonstrate how to add a new LOV component to the timecard matrix.
78
3.15.1
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
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
3.15.4
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
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.
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
84
3.16.1
Create AK attributes:
Navigate to AK Dev Responsibility - Define Attributes form and create the following Attributes
85
86
3.16.2
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.
3.16.3
into
into
into
into
into
hxc
hxc
hxc
hxc
hxc
aircraft
aircraft
aircraft
aircraft
aircraft
models
models
models
models
models
87
into
into
into
into
into
hxc
hxc
hxc
hxc
hxc
city
city
city
city
city
names
names
names
names
names
Navigate to AK Dev Responsibility - Define Regions form and create new LOV regions.
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
91
3.16.6
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.
</ViewUsage>
<ViewUsage
Name="XXDestLovVO"
ViewObjectName="oracle.apps.hxc.selfservice.timecard.server.XXDestLovVO" >
</ViewUsage>
Place these modified and compiled .xml and .class files in the correct locations.
3.16.7
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
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
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
96
3.16.10
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
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.
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
101
3.17.1
Create AK attributes:
Navigate to AK Dev Responsibility - Define Attributes form and create the following Attributes
102
3.17.2
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.
103
3.17.3
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
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
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
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
109
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
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.
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.
113
3.18
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.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
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) (!)
(*) (C)
20
Display
On New
Line
Y, N
(D) (!)
21
Y,N
(D)
L,R
(M)
(C)
(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
(D)
(D)
(*)
Table 13: Global Attributes, applicable to every component. Required attribute(s) in bold.
117
4.1.2
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
BIND1BIND2BIND3etc.
118
No.
1
Purpose
ViewObject Name
2
3
Cache Enabled
Always Execute for Read
Only
Show Prompt
5
8
Required
Displayed
Name
ID Attribute Name
10
11
Bind Variable #1
12
Bind Variable #2
13
Bind Variable #3
14
Bind Variable #4
15
Bind Variable #5
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
Default Context
Region Name
Region
ID
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
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
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
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 AliasView 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 ALIASView 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 = PROJECTProjectIdPROJECTCODEProjectCode
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
BIND1BIND2BIND3etc.
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 NameAliasUse in LOV. If there is more than one dependent item more can be added,
separating each one with a hash # - i.e. Item1ALIAS1Y#Item2ALIAS2Y 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
ID Attribute Name
10
11
12
13
14
Bind Variable #1
Bind Variable #2
Bind Variable #3
Dependant Item List
15
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)(!)
(C)
A valid attribute name in the
view object for the component
(C)
(C)
(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
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
4.1.16
Page Status
125
No.
1
Purpose
Function Call
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
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
Spacer Size
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
Enabled Icon
Disabled Icon
Show
When
abled?
Default Value
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)
(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
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
4.1.24
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)
3
4
Field Width
Field Height
Maximum Length
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
4.3.2
4.3.3
4.4
Seeded Messages
4.5
Codes in italics are internal development debugging messages and will not usually be seen.
129
No.
1
Purpose
Orientation
Grouping
3
4
Scope
Building Block Number
Show Horizontal Total
Recalculate Button
Delete Enabled
10
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)(!)
(D)(!)
Y,N
Table 30: Time Building Block component qualifing attributes. Required attribute(s) are displayed in bold.
130
Name
TIMECARD ID
TIMECARD OVN
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.
131
Code
HXC APPR FRAG HEADER TITLE
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
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
Name
Approval
Header
Fragmentation
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
Approvers 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
132
Code
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
Duplicate
Expenditure Type
Timecard Header Title
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
TIMECARD
TIMECARD
TIMECARD
TIMECARD
AUDIT HOURS
AUDIT REASON
COMMENT
CONTEXTLIST
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
TIMECARD
TIMECARD
TIMECARD
TIMECARD
TIMECARD
TIMECARD
STARTTIME
STOPTIME
SYSLINKFUNC
TASK
TEMPLATE LABEL
TEMPLATE OW LABEL
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
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
Code
HXC TC AUDIT HEADER
HXC TC CHANGE HEADER
HXC TC CONF APPROVER LABEL
HXC TC CONF 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
134
Message Name
HXC SAVEFORLATER CONFIRM
HXC SAVEASTEMPLATE CONFIRM
HXC SUBMIT CONFIRMATION
HXC 366216 DUP ATTR ENTRY
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
135
Error Code
CUI COMPONENT MESSAGE NOT FOUND
CUI NO RESOURCE ID
CUI NULL LAYOUT NAME
CUI PARENT WEBBEAN NOT FOUND
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
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
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
137
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