Oracle ApplicationsOracle Time and Labor Configuring The Oracle Time and Labor Timecard User Interface White Paper∗ Author(s): Oracle Time and Labor Development Generation Date: June 7, 2012 Abstract This document details the configuration options a timecard layout designer has when constructing a custom layout. OTL currently allows customization of timecard layouts via modification of AOL loader files which are then loaded into the database. c 2012 Oracle Corporation. All rights reserved. ∗ The document source is at: /hrdev/hxc/11.5/doc/whitepapers/hxcconfiguiwp.tex 1 Contributors Name Mark Stewart Andrew Rundell Joel Dupont John Finnegan Kris Van Der Pleog Anima Prasad Balakrishna Bayragi Amarnath Krishnamoorthy Position Applications Developer Development Manager Applications Developer Principle Functional Analyst Functional Analyst Group Manager Senior Applications Engineer Senior Applications Engineer Change Record Date February 1st , 2005 August 6th , 2007 Author Andrew Rundell Amritha Nuthi Version 115.0 115.1 March 25th , 2008 Amritha Nuthi 115.2 February 09th , 2010 Amarnath Krishnamoorthy 115.3 June 07th , 2012 Balakrishna Bayragi 115.4 Change Reference Converted to PDF, WIKI, LaTeX Modified to indicate correct functionality for package choice list Modified to show only the delivered seeded layouts and to complete the missing lines in some examples Reviewed the document and added few examples which describes how to create custom choice list, LOV, prompts and text field Added section 3.18 Reference Documents Name Release 11i Documentation ADF Description Oracle Applications Documentation - information on FNDLOAD and Flexfields Applications Development Framework - information on java objects, such as View Objects, Application Modules etc. 2 Contents 1 Introduction 1.1 Executive Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Structure of a Timecard Page . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Time Building Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 User Interface Component Hierarchy . . . . . . . . . . . . . . . . . . 1.3 Layout Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Delivered Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Payroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.3 Projects and Payroll . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.4 Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.5 Enterprise Asset Management . . . . . . . . . . . . . . . . . . . . . . 1.4.6 Purchasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.7 Projects-Purchasing . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.8 Payroll Layout delivered in Release 12.1 . . . . . . . . . . . . . . . . 1.4.9 Project Layouts delivered in Release 12.1 . . . . . . . . . . . . . . . 1.4.10 Project and Payroll Layouts delivered in Release 12.1 . . . . . . . . 1.5 Using the OAF Personalization Functionality With Timecard Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 9 9 9 10 11 13 13 14 15 15 15 16 16 17 17 19 2 Timecard Configuration Basics 2.1 What can be configured on a Timecard . . . . . . . . 2.2 The Layout File . . . . . . . . . . . . . . . . . . . . . . 2.3 Using an Existing Layout as a Basis for Customization 2.4 Uploading Timecard Layouts . . . . . . . . . . . . . . 2.5 Labels and Messages . . . . . . . . . . . . . . . . . . . 2.5.1 Labels . . . . . . . . . . . . . . . . . . . . . . . 2.5.2 Messages . . . . . . . . . . . . . . . . . . . . . 2.6 Further Configuration Concepts . . . . . . . . . . . . . 2.6.1 View Objects . . . . . . . . . . . . . . . . . . . 2.6.2 Application Modules . . . . . . . . . . . . . . . 2.6.3 Apache/JServ server . . . . . . . . . . . . . . . 2.7 Delivered Configurable BC4J Objects . . . . . . . . . 2.7.1 Configurable Choice List Components . . . . . 2.7.2 Package Choice List . . . . . . . . . . . . . . . 2.7.3 Custom Alternate Name components . . . . . . 2.8 LOVs and JRAD/MDS . . . . . . . . . . . . . . . . . 2.8.1 LOV Custom Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 20 21 21 21 22 22 22 22 22 23 23 23 23 24 26 28 28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 29 30 31 32 34 36 37 37 38 40 40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Examples of Common Customizations 3.1 Adding a Comment Field to the Timecard Line . . . . . . . . . . . . . . 3.2 Adding a Custom Choice List to the Timecard . . . . . . . . . . . . . . 3.3 Adding a Custom LOV to the Timecard using the Custom LOV Objects 3.3.1 Create the supporting database view . . . . . . . . . . . . . . . . 3.3.2 Add the LOV component to the timecard . . . . . . . . . . . . . 3.3.3 Personalize the LOV region . . . . . . . . . . . . . . . . . . . . . 3.4 Adding a Custom LOV to the Timecard without using the Custom LOV 3.4.1 Create the View Object for the LOV . . . . . . . . . . . . . . . . 3.4.2 Create AK attributes used for the LOV screen . . . . . . . . . . 3.4.3 Create an AK region for rendering the LOV screen . . . . . . . . 3.4.4 Create AK region items inside the AK region for the LOV page . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Create AK region items inside the AK region for the LOV page: . . . . . . . . . . . .10 LDT file customization to include source and destination LOVs: . .16. . . . . . . . . . . . . . . . . . . . .2 Create an AK region for rendering the LOV screen: . . . Configure an Entry Level Processing Timecard Layout to capture Project. . . . . . . . . . . . . . . . 3. . . . . . . . . . . . . . . 3. . . . . . . . . . . . . . . . Adding the Details Page DFF Segments to the Timecard matrix . . . . . . . . . . . . . . . . . . . . .8 3. . . . . Adding Custom LOVs. . . 3. . . . . . . . .16. . . . . . . . . .3 Create database views: . . . . . . . . . . . . . . . . . . . . .14. . . . . . . .1 Creating the Detail Time Building Blocks in the Layout . . . . . . . . . . . . . . . 3.1 Create AK attributes: . . . .16 3. . . . . . 3. . . 3. . . . . . . . .17. . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . . . . . . . . . . . .7 Migration of Ak Region to MDS Repository: . . . . . . . . . . . . .16. . . . 3. . . . . . . . . . . . . . .2 Add Attributes to AK Region: . . .8 LDT file customization to change prompt from Hours Type to Job Type: . . . .15 3. . . . . . . .10 3. . 3. . . . . . . . . . . . . . . .1 Define a New OTL Alternate Names Type Descriptive Flexfield Context / Segment: . . . . . . . .16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Task Id and Expenditure Type segments to Cost Allocation KFF: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 The Simple Approach: An Always-execute choice list . . . . . . . . . . . . . Changing the label for a column in the Timecard . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . Changing the title of the timecard page . . . . . .4 Create A Custom View and Define Layouts: . . . .16. . . . . . . . . . .16. . . . .ldt customization to include JOB and LOCATION choice lists: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . .Creation of Custom View and Define Layouts: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15. . . . . . . . . . . . . . . . . . . . . . . . . .4 Migration of Ak Region to MDS Repository. . . . . . . . . . . . . . . . . . . . . 3. . . .7. . . . . . . . . . . . . .7. . . . . . . . . . . . . . . . . . .11 3. . . . . . . . . . . . 3. . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . .16. . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . .14. . . . . . . . . . . . .3 Create database views: . .17. . . . . . . . . . . . . . . 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Mapping the Segments/Attributes to respective components: . . . . . . . . . . . . . . . . . . . . . Configure Expenditure Type As Choice List Using Alternate Names in Projects Payroll Layout . . . . . 3. . . . . . . . . . . . . . . . . . . . .6 3. Configuring the Cost Center component . . . . . . Adding an OTL Information Type to the Timecard . . . . . . .3. . . . . . . . . . . . .4 Add Project Id. . . . . . . . . . . . . . . . . . . .13. . . . . .1 Create AK attributes: . . .16. . . . .16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Setting up the Custom LOV xml and java files: . . . . . . . . .9 3. . . . . . . . . .17. . . . . . . . .1 Create AK data for the component prompt . . . . .4 Other Segment Values . . .15. . . . . 3. . . . . .2 Add Attributes to AK Region: . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . . . . . . . . . . . 4 42 42 43 43 43 45 51 51 52 52 53 62 63 64 67 68 68 68 69 72 73 74 74 75 75 76 78 79 79 79 80 83 85 87 87 88 90 92 93 95 95 97 99 100 102 103 104 104 105 . . . . . . . . .15. . 3. . . . . Custom Choice List and Text Field to a Payroll Layout . . . . . . . . . . . . . .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 . . . . . . . . . .11 LDT file customization to include text field: . . . . . . . . . . . . . . .5 LDT file hxczzhxclayt0025. . . . . . . . . . . . . . . . . . . . . . . . . Adding a Component to the Timecard Header . . .4. .7 3. . . . . . . . . . . . . . . . . . . . .13. . . . . 3. . . . . . . .14. . . . . . . . . . Adding additional element input values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. .17 3. . . . . . . . . . .16. . . . . .7. . . . . . . . .4 Create AK regions for rendering the LOVs: .5 Run the migration script to copy the LOV definition from AK to the MDS repository . . . . . . . . . . . . . . .16. . . . . . . . . . .6 Modify a layout to include the LOV component . . . 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Creating Alternate Name for the Alternate Name Type ET EXPENDITURE TYPES: . . .1 Setting the Attribute Category . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . . . .1 Create AK attributes used for the LOV screen : . . . . . . . . . . . . 3. . . . . . . . . . . . .9 LDT file customization to include choice list: . . . . .13. . . . 3. . . . . . . . . . . Task and Expenditure Type Information in Cost Allocation Key Flexfield segments . . .15. 3. . .13. . . . . . 3. . . . . . . . . . Configuring Cost Center as a LOV in Payroll Layout . . . . .5 Create AK region items inside the AK region for the LOV page: . . . . . . . . .17. . . . . . . . .14 3. .2 Aliasing A Segment Value To Set The Attribute Category . . . . . . . . . Adding a Component to the Timecard Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . . . . . . . . . . . 3. . . . . . . 3. . . . . . . . . . . . .4. . . . . . . . . . . . . . . Adding OTLR Detail to the Review and Confirmation Pages . .17. .14. . 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 3. . . . . . . . . . . . . . .4 Create the component to show the read-only function result and add it to the layout . . .3 Create the component to show the label for our custom field and add it to the layout . . . . 3. . . . . . . . . . . . . . . . . . . . . . . . . .7 Include the new LOV View Object into your Apache/Jserv environment . . . . . . . . . . . . . . . . . . .13 3. . . . . . . . . . . . . 3. . . . . . . . .4. . . . . .12 3. 4. . . . . . . . . . . . . . . . . .1. . . . . . . . . . . .1. . . .1. . . .23 Text Field .1. . . . . . . . . .17. .24 Timecard Fragmentation Cluster . .10 Inter-Period Navigation Control . . . . . . . . . . . . . . . . . . 4. . . . . . . . . . . . . . . . . . . . . . .2 Tokens . . . . .3. . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . 4. . . . . . 4. . . . . . . . . 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ldt customization to add Cost Center field: . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Hours Type Table . . . .1. . . .15 Package Choice List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Seeded Messages . . . . . . . . . . 138 5 . . 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 107 112 113 114 . . . . . . . . . . . . . . . . . . . 4. . . . . . . . . . . . . . . . .9 Batch Element Entry form showing the additional segments in Cost Allocation KFF: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. . .17. . . . . .3. . . . . . . . . . . . . . . 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Message Box . . . . . .19 Submit Icon . . . . 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . .17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. . . . . . . . . . . . .20 Summary Table . . . . . . . . . . . . .6 LDT file hxczzhxclayt0025. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 Spacer . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . 4. . . . . . . . . . . . . 4. . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . .16 Page Status . . . . . . . . . . . . . .11 Key Notation . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. . . . . .3 Seeded Prompts . . . . . . . . . . . . . . . . . . . . . . .2 Accrual Balance Component . . . . 4.ldt customization to map Project Information to Cost Allocation KFF: 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . .2 HXC CUI TIMECARD REVIEW Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17. . . . . . . . .25 Time Building Block . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. 4. . . 4. . .1. . . . . . . . .3. . .1 HXC CUI TIMECARD Region . . . . . . . . . . . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. . . . . .21 Table Layout . . . . . .8 Attributes data stored in database: . . . . . . . . . . . . . . . . . . . . . . . . . 4 Technical Reference Guide 4. . . . . . . . . . . . . . . . . . . . . .7 LDT file hxczzhxclayt0025. . . . . . . . . . . . . . . . . .18 Confirmation Check box on Timecard review page for Time Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. . . . . . . . . . . . . . . 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. . . . . . . . . . .5 CUI Error Codes . . 4. . . . . . . 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 HXC CUI TIMECARD CONFIRMATION Region 4. . . .8 Hidden Field . . . . . . . . . . . . . . . . . . . . . . .1 Global attributes . . . . . . . . . . . . . 4. . . . .7 Display Text . . . . 4. .1 FAQ . . . . . . . . . . . . . .4 Descriptive FlexField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. . . . . . . . . . . . . . . . . . . . . . . . . . . .12 List Of Values . . . . . . . . .14 Notification Day Detail . .18 Submit Button . . 4. . . . . . . . . . . .22 Template Control . . . . . . . . .1. . . . . .3 Choice List . . . . . . . . . . . . . . . . . .5 Display Header . . . 3. 4. . . . . . . . 4. . . . . . . . . . . . . . . . .1.6 Display Label . .1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . .1 Components . . . . . . . . . . . . . . . 116 116 116 118 118 120 121 121 121 121 121 121 122 122 125 125 125 125 126 126 126 127 127 128 128 128 128 128 129 129 129 129 129 129 5 Troubleshooting and Frequently Asked Questions 138 5. . 3. .1. . . . . . . . . . . . . . . . . . . . . . . . . . . Seeded Timecard Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Global Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Display text component qualifing attributes. . . . . . . . . . . Page Status component qualifing attributes. . . bold. . . . . . Enterprise Asset Management Layouts . . . Template Control component qualifing attributes. . . . . . . . . . . . R12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timecard region seeded prompts (Part 1. . . Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . . . . . . . . Required attribute(s) are displayed in Key notation component qualifing attributes. . . Projects-Purchasing Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . applicable to every component. . . . . .With Project & Task details concatenated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Required attribute(s) are displayed in bold. . . . . . . . . . . . Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Required attribute(s) are displayed in bold. . . . . . . . . . . Delivered Custom Choice List View Objects . Summary Table component qualifing attributes. . . . . . Required attribute(s) are displayed in bold. . . Exception Layouts . . . . . . . . . . Choice List Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Package Choice List component qualifing attributes. . . . . Required attribute(s) are displayed in bold. . . . . . . . . . . . . . Required attribute(s) are displayed in bold. . . . . . . . . . . Submit Button component qualifing attributes. . Configurable User Interface Error Codes (Part 2) . . 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 . Timecard Confirmation region seeded prompts . Submit Icon component qualifing attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configurable User Interface Error Codes . Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projects and Payroll Layouts . . . Message Box component qualifing attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .) . . . . . . . . . . . . Spacer component qualifing attributes. . . . . . . . . . . . . . . . . . Projects and Payroll Layouts . . . . . . Required attribute(s) are displayed in bold. . . . . . . . . . . . Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Required attribute(s) are displayed in bold. . . 6 . . . . . Descriptive flexfield component qualifing attributes. . . . . . . . . . .With Project & Task details concatenated . . . . . . . . . . . . Required attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . Time Building Block component qualifing attributes. . . . . . . . . . . . . . . . Required Attribute(s) are displayed in bold. . . . . . . . . . . . . . . . . Required attribute(s) are displayed in bold. . . . . . . . . . . Text Field component qualifing attributes. . . List of Values component qualifing attributes. . . . . . . . . . . Timecard region seeded prompts (Part 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projects Layouts . . . . . . . . . . . . . . . . . . .1 Payroll Layouts . . . . . . . . . . . Required attribute(s) in bold. . . . . . . . . . . . . Component Tables Key . . . . . . . . Table Layout component qualifing attributes. . . . . . . . . . . . . Timecard Review region seeded prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Purchasing Layouts . .) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Required attribute(s) are displayed in bold. . . . . . . . . . Currently recognized tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inter Period Navigational Control component qualifing attributes. . . . . . . . . . . Mapping Segements/Attributes to respective components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Custom LOV Showing Locations after personalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .List of Figures 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Time Building Blocks . Configured Airlines Timecard . . . . . . . . . . . . . . . . . . . . . . . . . . Timecard Matrix Line Comment Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AK Attributes . . . . . . . Flight Source and Destination LOVs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . What can be Configured . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Additional Element Input Values . . . . . . . . . . . . . . . . . . . . . . . Additional Element Input Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Confirmation Check box on Timecard review page for Time Accuracy 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configured ELP Timecard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HXC TIME ATTRIBUTES table data . . . . . . . . . . . . . . . . . . . . . . Cost Allocation KFF Segments in BEE . . . . . . . . . . . . . . . Preference Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Preference page . . . . . . . . . . . . . . . . . AK Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AK Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alternate Name Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOV AK Region items . . . . . . Time Entry Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time Entry Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOV AK Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cost Allocation KFF Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AK Region items . . . . . . . . . . . . . . . . . . . . . . . . Add Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Custom LOV Showing Locations . . . . . . . . . . . Defining New OTL Alternate Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . It is a How-To guide as well as technical reference document. approval. e.g. labels and buttons. the segments 8 . tailored to a particular business. plus its associated pre-requisite knowledge. only the first three sections are required reading. color. Currently. In order to configure an Oracle Time and Labor timecard user interface working knowledge of the Oracle Applications generic loader. as well as a basic understanding of a web page and Oracle Flexfields is required. audit and details pages. Oracle Applications Release 11i. confirmation. These fields can be the delivered set. review. Inclusion or exclusion of UI features. data source and so on. and is known as a layout. as well as a layout that describes what information is available for offline time entry — the export layout. e. e. or custom fields. called Self Service Configurable UI Flexfield. The timecard interface is a hierachical structure of user interface components. direction. For more complex configurations. these are loaded into the database using the standard applications loader utility (FNDLOAD). Consult the appropriate reference documents for more detailed information on these Oracle Application specific features. This enables the maximum level of configuration. and at high level discusses the various objects and techniques employed when modifying the interface.0 and Release 12. but not implement a configurable user interface. e. section 5 describes what to do in the case of an unexplained configuration error. some familiarity with the Oracle Applications Development Framework (ADF) is required. a layout describes the user interface for one page. the technical reference section is invaluable. • Section 4 supplies a full technical reference guide for all configurable components and objects associated with the configurable user interface.1 Introduction Executive Overview Oracle Time & Labor (OTL) permits configuration of the timecard interface. and contains a list of frequently asked questions. This extra information is held in a standard Oracle Applications Flexfield. size. and configuration file supplied by OTL. which is appropriate background reading for people wishing to understand. adding a dependent list of values. such as custom list of values. For example. This version of the document applies to HXT. For more complex configurations. changing the window title. Document Structure There are five sections to this document: • Section 1 provides introductory material. • Section 2 describes the basics of timecard configuration. notification.1 1 1. • Section 3 builds on the previous section to provide explicit examples of typical configurations. including and executive overview. Release 12. Layouts are held in normal text files. • Finally.g.g.Preface Audience This document describes the Oracle Time and Labor configurable timecard interface. as well as choosing the fields shown on the timecard lie within the configuration module. such as height. and thus there are OTL layouts for the timecard entry. adding a choice list and a list of values.g. The appearence of the user interface components contained in a layout are controlled via varying sets of information. Each of the user interface components has a context within this flexfield. or combinations of applications and these are pre-loaded for immediate use. FNDLOAD.10.H onwards. There are many delivered layouts that provide a timecard user interface configured for various applications. additional list of values may require new ADF components such as View Objects. a full set of which describes the interface. just changing a prompt or moving a field from one place to another. For very simple timecard configurations. In this way. 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. This square represents the screen. This document uses many OTL concepts to streamline the configuration for the application. The OTL timecard data-structure is a hierarchical collection of time building blocks. the OTL timecard configurable user interface module permits every aspect of the timecard page to be changed.1 Structure of a Timecard Page Time Building Blocks When entering time. Each day associated with this timecard is a child time building block of that TIMECARD time building block. To avoid this. in the other half. you actually create objects (database records) called time building blocks. Day building blocks are range building blocks. Next. such as the comment text field. the most appropriate configuration is efficiently and accurately created. or just qualifiers. the user interface component qualifiers are used to ensure that the timecard user interface makes sense. each entry being a separate block.2. 1. we can easily represent the hierarchical structure of the set of blocks that make up the timecard on the screen. and build the complete timecard for a period of time. the process occurs for these child blocks. these are time building block attributes. The data model reflects the user interface of the timecard page. for instance. • A measure time building block is an entry of time that is a specific amount of time. Consider a square split in half. it is clear that there is a correspondance between the hierarchical nature of the user interface components. In conjuction with the standard Oracle Applications Development Framework (ADF) personalization feature. namely a square split in half. or from August 20th to August 26th. When configuring a timecard page.of which are known as component qualifiers.2. and the hierarchical nature of the time store building block data structure. Although the components on each layout can be very different they all follow a similar hierarchy . we render all the child building blocks of this block. For this type of time building block there is no information within the block itself about when this time occurred. and thus the relationship between the data and the user interface components on the page is now described. The top time building block (the one without a parent) is the TIMECARD time building block. in principle. This is shown in Figure 1 below: In this way. Each time building block may store information about what that time represents. However. Each day may have one or more time building blocks associated with it. it is important to understand how the user interface components relate to the data generated in the OTL time store. and end at one second before midnight on the same day).2 User Interface Component Hierarchy As previously mentioned. The column names in the OTL database for these qualifiers are QUALIFIER ATTRIBUTE1 through QUALIFIER ATTIRBUTE30. simply doing that can lead to a confusing and repetitive user interface. today from 9:00 AM until 5:00 PM. However. Use of a flexfield to store this extra information ensures a consistent approach to user interface components within the configurable user interface module. the days and entries. Time entry for a particular day creates a new time building block. and makes it easier to add support for additional components in the future. user interface components — hereafter known simply as components — are the objects belonging to a timecard layout to make up the page. such as a week or a month. within the normal limits of HTML. we render the attributes associated with the TIMECARD time building block.2 1. and in one half.an example of this hierarchy can be seen below: • message box components to be show for errors/warnings/confirmations • page status 9 . in one half we render the attributes the other we render the child building blocks of this block. and so on. You can attach blocks to other blocks. Time building blocks have one or more child blocks and one parent block. and these are the time entries associated with the timecard. 1. and represents the range of time for which this timecard exists. and represent the amount of time within that day (they start at midnight on that particular day. and that the hierarchy described here is added in its entirity to the web bean hierarchy used by OAF to render self service pages. So for example. e. Note: For readers experienced with the ADF. Thus. it is clear that each of these OTL configurable user interface components maps to a OAF web bean.. The nested table allows us to make sure that the field labels and components are aligned with each other to improve the visual appearance of the page. in the header table the outer table definition allows us to show the navigation/override/template fields on one side of the page and the comments field on the other side. e. is sometimes referred to as a layout set. also known as reasons.this is the primary way of formatting or aligning fields in HTML. Payroll Notification Layout etc. 1. Payroll Confirmation Layout. 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. Thus. are made) A group of layouts comprising one layout from each type with common application fields.g. 10 . Payroll Review Layout. but containing only those time entries for which the approver can approve time.• top level building block – header table layout ∗ header field table layout · inter-period navigation control label · inter-period navigation control component · override approver label · override approver component · template control label · template control component ∗ comments component – timecard matrix building block ∗ measure field ∗ project LOV ∗ task LOV ∗ expenditure type LOV ∗ delete control ∗ details control – template save table layout ∗ save template name field ∗ save template submit control You will note the use of tables within this hierarchy . 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. Payroll Timecard Layout. all the projects entries.3 Layout Types Each layout contains the component hierarchy definition for one page. it is beneficial to describe a layout by functional type of page defined by that layout.g. or can be used as the basis for customization. Projects. and an Exception-based time reporting layout. Projects and Payroll — these are layouts with both the projects application and payroll application fields defined. e.5/patch/115/import/US/. Find these layout files in $APPL TOP/hxc/11. These layout sets are named after the application-specific data entry fields defined within them.4 Delivered Layouts In order to facilitate rapid implementation. where $APPL TOP is the mount and directory where Oracle Applications is installed.1. These meet many requirements for capturing time. an expenditure type field and so on. a number of common timecard layout sets are delivered with OTL. There are four application-specific layout sets delivered with the OTL product: Payroll.g. the Projects layout set contains components for a Project entry field. a Task entry field. 11 . Figure 1: Time Building Blocks 12 . ldt hxczzhxclayt0017.ldt hxczzhxclayt0014.ldt hxczzhxclayt0002.1.ldt hxczzhxclayt0065.ldt PROJECTS-AUDIT-REVIEW REVIEW hxczzhxclayt0016.2 Projects The projects layouts delivered with the product are listed in table 2.4.ldt Table 1: Payroll Layouts 1.ldt hxczzhxclayt0047.ldt PROJECTS-EXPORT-TIMECARD Table 2: Projects Layouts 13 .ldt PROJECTS-AUDIT-CONFIRMATION CONFIRMATION hxczzhxclayt0013.ldt hxczzhxclayt0051. 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.4.ldt hxczzhxclayt0018.ldt hxczzhxclayt0004.ldt hxczzhxclayt0020.ldt hxczzhxclayt0005.ldt PROJECTS-AUDIT-NOTIFICATION NOTIFICATION hxczzhxclayt0048.ldt hxczzhxclayt0003.1 Payroll The payroll layouts delivered with the product are listed in table 1.ldt hxczzhxclayt0052. 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 hxczzhxclayt0001.ldt hxczzhxclayt0058. ldt hxczzhxclayt0010.ldt ELP-PROJECTS-PAYROLL-DETAIL DETAIL hxczzhxclayt0024.ldt ELP-PROJECTS-PAYROLL-CONF CONFIRMATION hxczzhxclayt0023.ldt ELP-PROJECTS-PAYROLL-NOTIF NOTIFICATION hxczzhxclayt0050. 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 hxczzhxclayt0009.ldt ELP-PROJECTS-PAYROLL-TIMECARD TIMECARD hxczzhxclayt0025.ldt Projects and Payroll Confirmation Layout PROJECTS-AL-CONFIRMATION Projects and Payroll Details Layout Projects and Payroll Export Layout PROJECTS-ALTERNATE-DETAIL PROJPAYROLL-EXPORT-LAYOUT Projects and Payroll Notification Layout Projects and Payroll Fragmented Timecard View PROJECTS-ALTERNATE-NOTIF PROJECTS-ALTERNATE-FRAGMENT DETAIL EXPORT NOTIFICATION FRAGMENT Projects and Payroll Change and Late Audit Entry Layout Projects and Payroll Change and Late Review Layout Projects and Payroll Change and Late Confirmation Layout Projects and Payroll Change and Late Notification Layout Entry Level Processing Projects Payroll Timecard Layout Entry Level Processing Projects Payroll Review Layout Entry Level Processing Projects Payroll Confirmation Layout Entry Level Processing Projects Payroll Details Layout Entry Level Processing Projects Payroll Export Layout Entry Level Processing Projects Payroll Notification Layout PROJECTS-ALT-AUDIT-LAYOUT AUDIT hxczzhxclayt0034.3 Projects and Payroll The projects-payroll layouts delivered with the product are listed in table 3.ldt hxczzhxclayt0053.4.ldt ELP-PROJECTS-PAYROLL-REVIEW REVIEW hxczzhxclayt0032.ldt PROJECTS-AL-CLA-CONFIRMATION CONFIRMATION hxczzhxclayt0006.ldt hxczzhxclayt0021.ldt Table 3: Projects and Payroll Layouts 14 .ldt PROJECTS-ALTERNATE-CLA-REVIEW REVIEW hxczzhxclayt0033.ldt PROJECTS-ALTERNATE-CLA-NOTIF NOTIFICATION hxczzhxclayt0049.ldt hxczzhxclayt0012.ldt hxczzhxclayt0007.ldt ELP-PROJ-PAY-EXPORT-LAYOUT EXPORT hxczzhxclayt0035.1. ldt hxczzhxclayt0028.4.ldt Exception Layout Timecard Review Page Exception tion Page Exception Exception tion Page Exception Exception out Exception Layout OTLR Details Notification Table 4: Exception Layouts 1.ldt eamhxclayco.ldt hxczzhxclayt0026.ldt pozzhxclayt0055.ldt Export Timecard Layout Layout Timecard Notifica- EXCEPTION-EXPORT-LAYOUT EXCEPTION-NOTIFICATION EXPORT NOTIFICATION hxczzhxclayt0027.ldt hxczzhxclayt0029.5 Enterprise Asset Management The enterprise asset management layouts delivered with the product are listed in table 5.6 Purchasing The purchasing layouts delivered with the product are listed in table 6.ldt Fragmented Timecard View OTLR Details Review Lay- EXCEPTION-FRAGMENT EXCEPTION-HE-REVIEW FRAGMENT REVIEW hxczzhxclayt0064.ldt Table 5: Enterprise Asset Management Layouts 1.ldt eamhxclayre.ldt pozzhxclayt0057.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.4 Exception The exception layouts delivered with the product are listed in table 4.ldt pozzhxclayt0056.ldt EXCEPTION-HE-NOTIFICATION NOTIFICATION hxczzhxclayt0045.4. 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.1.ldt . Layout Name Purchasing Timecard Layout Purchasing Review Timecard Layout Purchasing Confirmation Timecard Layout Purchasing Notification Timecard Layout Layout Code PURCHASING-TIMECARD PURCHASING-REVIEW-TIMECARD PURCHASING-CONF-TIMECARD PURCHASING-NOTIF-TIMECARD Table 6: Purchasing Layouts 15 Layout Type TIMECARD REVIEW CONFIRMATION NOTIFICATION Filename pozzhxclayt0054.ldt hxczzhxclayt0046. 1 Payroll Layouts 16 Layout Type CONFIRMATION Filename hxczzhxclayt0081. Layout Name Payroll OTLR Details Confirmation Layout Layout Code PAYROLL-HE-CONFIRMATION Table 8: R12.4.1.1 with the product is listed in table 8.ldt pazzhxclayt0043.ldt pazzhxclayt0044. 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.7 Projects-Purchasing The projects-purchasing layouts delivered with the product are listed in table 7.4.8 Payroll Layout delivered in Release 12. Each of the layout names is prefaced with ProjectsPurchasing.1 The payroll layout delivered for ORACLE E-BUSINESS SUITE 12.ldt pazzhxclayt0040.ldt pazzhxclayt0041.ldt .ldt Table 7: Projects-Purchasing Layouts 1.ldt pazzhxclayt0042. 4.With Project & Task details concatenated Projects Change and Late Confirmation Layout .1 The projects layouts delivered for ORACLE E-BUSINESS SUITE 12.ldt PROJECTS-DET-AUDIT-CONFIRM CONFIRMATION hxczzhxclayt0092.1.1 with the product are listed in table 10.ldt PROJECTS-DET-CONFIRM CONFIRMATION hxczzhxclayt0088.With Project & Task details concatenated Layout Code PROJECTS-DETAILS-TIMECARD Layout Type TIMECARD Filename hxczzhxclayt0082.With Project & Task details concatenated Projects Change and Late Review Layout .10 Project and Payroll Layouts delivered in Release 12.With Project & Task details concatenated Projects Export Timecard Layout With Project & Task details concatenated Projects Notification Layout . 17 .ldt PROJECTS-DET-FRAGMENT FRAGMENT hxczzhxclayt0085.ldt PROJECTS-DETAILS-REVIEW REVIEW hxczzhxclayt0083.ldt PROJECTS-DET-NOTIF NOTIFICATION hxczzhxclayt0084.With Project & Task details concatenated Projects Change and Late Audit Notification Layout . Layout Name Projects Timecard Layout .With Project & Task details concatenated Projects Change and Late Audit Entry Layout .ldt PROJECTS-DET-AUDIT-NOTIF NOTIFICATION hxczzhxclayt0090.1 The projects-payroll layouts delivered for ORACLE E-BUSINESS SUITE 12.ldt PROJECTS-DET-AUDIT-REV REVIEW hxczzhxclayt0089.ldt PROJECTS-DET-EXP-TIMECARD EXPORT hxczzhxclayt0086.With Project & Task details concatenated Projects Review Layout .With Project & Task details concatenated 1.ldt Table 9: Projects Layouts .9 Project Layouts delivered in Release 12.With Project & Task details concatenated Projects Confirmation Layout With Project & Task details concatenated Projects Details Layout .4.ldt PROJECTS-DET-DETAIL DETAIL hxczzhxclayt0087.ldt PROJECTS-DET-AUDIT-LAYOUT AUDIT hxczzhxclayt0091.With Project & Task details concatenated Projects Fragmented Timecard View .1 with the product are listed in table 9. With Project & Task details concatenated PROJECTS-DET-ALT-NOTIF NOTIFICATION hxczzhxclayt0095.With Project & Task details concatenated 18 .With Project & Task details concatenated Projects and Payroll Review Layout .With Project & Task details concatenated Projects and Payroll Change and Late Confirmation Layout .Payroll Review Layout .ldt PROJECTS-DET-ALT-CLA-REVIEW REVIEW hxczzhxclayt0101.ldt PROJECTS-DET-ALT-CLA-NOTIF NOTIFICATION hxczzhxclayt0102.ldt PROJECTS-DET-ALT-CLA-CONF CONFIRMATION hxczzhxclayt0103.With Project & Task details concatenated Entry Level Processing Projects .With Project & Task details concatenated PROJECTS-DET-ALT-DETAIL DETAIL hxczzhxclayt0098.ldt ELP-PROJ-DET-PAY-REVIEW REVIEW hxczzhxclayt0106.Payroll Timecard Layout .With Project & Task details concatenated Entry Level Processing Projects .ldt PROJPAY-DETAIL-EXPORT EXPORT hxczzhxclayt0099.ldt ELP-PROJ-DET-PAY-NOTIF NOTIFICATION hxczzhxclayt0107.With Project & Task details concatenated Entry Level Processing Projects .With Project & Task details concatenated Projects and Payroll Export Layout .Layout Name Projects and Payroll Timecard Layout .With Project & Task details concatenated Projects and Payroll Fragmented Timecard View .Payroll Notification Layout .ldt ELP-PROJ-DET-PAY-CONF CONFIRMATION hxczzhxclayt0110.With Project & Task details concatenated Entry Level Processing Projects .With Project & Task details concatenated Projects and Payroll Change and Late Review Layout .ldt ELP-PROJ-DET-PAY-DETAIL DETAIL hxczzhxclayt0109.ldt Projects and Payroll Notification Layout .ldt PROJECTS-DET-ALT-FRAG FRAGMENT hxczzhxclayt0096.With Project & Task details concatenated PROJECTS-DET-ALT-AUD-LAYOUT AUDIT hxczzhxclayt0104.Payroll Export Layout .Payroll Confirmation Layout .With Project & Task details concatenated Projects and Payroll Change and Late Notification Layout .ldt Projects and Payroll Details Layout .Payroll Details Layout .With Project & Task details concatenated Layout Code PROJECTS-DET-ALT-TIMECARD Layout Type TIMECARD Filename hxczzhxclayt0093.With Project & Task details concatenated PROJECTS-DET-AL-CONF CONFIRMATION hxczzhxclayt0100.ldt Projects and Payroll Confirmation Layout .ldt PROJECTS-DET-ALT-REVIEW REVIEW hxczzhxclayt0094.ldt Table 10: Projects and Payroll Layouts .ldt ELP-PROJ-DET-PAY-TIMECARD TIMECARD hxczzhxclayt0105.With Project & Task details concatenated Entry Level Processing Projects .ldt ELP-PROJ-DET-PAY-EXP-LAYOUT EXPORT hxczzhxclayt0108.ldt Projects and Payroll Change and Late Audit Entry Layout .With Project & Task details concatenated Entry Level Processing Projects . All changes to the page must be made via the Oracle Time and Labor page layout definition. again. 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. this should be done via the personalization framework delivered with the OAF. For example. Thus. If the columns should be renamed or reordered. 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.1. no UI components can be Personalized using the standard Oracle Applications Framework (OAF) functionality. the OAF Personalization functionality can be used to personalize those windows.5 Using the OAF Personalization Functionality With Timecard Configuration In short. 19 . for any page rendered with the Oracle Time and Labor (OTL) timecard configuration utility. 2 Timecard Configuration Basics The fastest mechanism of configuring a time card is to modify the existing set of layouts that are closest to the required functionality. Use one of the seeded timecard layouts as a basis. or create a new timecard layout. NOTE: Do not use Web Application Dictionary or the OA Configuration Framework to configure the layouts. 3. 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.g. 2. You configure the components of the timecard. You must rename the timecard layout. Upload the timecard layout to the database using FNDLOAD (see section 2. In summary. e. 2. This white paper describes this process in detail. Thus use the personalization framework to modify to those user interface components. or the labels on the buttons. 4. and illustrates with examples of common modifications. to change the branding. the minimal number of steps to configure a timecard layout are: 1.4).1 What can be configured on a Timecard Figure 2: What can be Configured PINK = Standard AOL Messages that can be modified via AOL message form GREEN = AK prompts that can be modified in the AK region item or attribute forms RED = Attribute components in the timecard layout that can be modified via the configuration LDTs BLACK = Information on the timecard layout that can be controlled via preferences 20 . However. period list control and template control widgets — and timecard matrix — the time attributes and time entry fields. The document covers the majority of customizations. which are to the timecard header — the comments field. or entity attributes in the loader file maps directly or via a key to columns in those entities. which are in the form of name value pairs unless part of the developer key for the attribute.4 Uploading Timecard Layouts To upload the new layouts (for each of the layouts in the set you are using. is held in a simple text file. Read the AOL documentation. Use FNDLOAD. 2.2. 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. DISPLAY LAYOUT NAME. to upload the file data into the OTL Configurable User Interface database tables. 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. you need to change the layout name and description in the loader file.lct and must be used in conjunction with FNDLOAD when uploading the layout. which defines the structure of the layout files. Each of the entity keys. In OTL. so that the FNDLOAD executable lies on the path. and associated qualifer descriptions. In common with all FNDLOAD compatible files. To avoid overwriting the delivered OTL layouts you must give your new timecard layouts new names.3 Using an Existing Layout as a Basis for Customization When creating a custom layout the easiest approach is to select one the delivered layouts. 2. DISPLAY LAYOUT NAME maps to the database column. within the Oracle Applications release 11i documentation. and entity attributes that are present within the file. the HXC LAYOUT entity has two keys. as the parent component specifies a key attribute of an entity.Timecard Entry Page" LAYOUT TYPE = "TIMECARD" These changes must be made for any layout you are modifying.ldt This command assumes the path environment variables are set correctly.Timecard Entry Page" LAYOUT TYPE = "TIMECARD" Could be changed to: BEGIN HXC LAYOUTS "MODIFIED-EXCEPTION-TIMECARD" "HXC" OWNER = "CUSTOM" DISPLAY LAYOUT NAME = "Modified Layout . In order to rename the layout.2 The Layout File As previously mentioned. the generic AOL loader utility. Once the modified layout is successfully uploaded. while PARENT COMPONENT maps to the column PARENT COMPONENT ID.lct . each of the entities definied in the configuration file maps to an OTL table. such as the display layout name and the layout type.g. The configuration file is: $APPL TOP/hxc/11. the timecard layout containing a set of user interface component. and then use it as a starting point for your custom layout. and it is also a good idea to change the filename of the loader file to avoid confusion with the OTL delivered files. the HXC LAYOUTS entity maps to the HXC LAYOUTS table. based on which is closest to your requirements. or groups of users as required.5/patch/115/import/hxclaytlayoutsld. OTL delivers a configuration file. it will be available in the OTL application Preferences form and you can give it to a user.g. and the configured layout is in the current directory and in a file called layout. For example: BEGIN HXC LAYOUTS "EXCEPTION-TIMECARD" "HXC" OWNER = "CUSTOM" DISPLAY LAYOUT NAME = "Exception Layout .ldt. e. and the application short name that owns the layout (at the moment this is only OTL) and then a number of attributes./layout. You do this in the section at the top of the data file. for more information on FNDLOAD. This configuration file defines the entities. 21 . For example. the layout name. E. prompts and messages.5.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. along with the application name you have used.6. are defined as prompts. Some customizations may be done using the Custom Choice List Components that OTL delivers. Thus. the tip at the top of the timecard page is a message. the region is just a ’container’ for all of the prompts .6 Further Configuration Concepts If configuring more than just the simpliest aspects of the timecard. All component prompts and other items such as titles.1 View Objects A View Object is a standard BC4J object and the primary method used to query data into OTL Self-Service applications. AK data for our purpose. and the Applications Development Framework (ADF) in general are found in the ADF Development Guidelines document available from the Oracle Technology Network. 2. Note: any custom View Objects should be contained in a custom Application Module (see below for additional information).5. For OTL. etc. use a prompt. For example. In general. 2. An excellent discussion on these objects.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). Specially. for small amounts of text. 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. but OTL will only use a subset of these fields when querying labels .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. and that should be set (other than mandatory fields such as attribute name. but for the purposes of OTL you will usually have a one-to-one mapping between region items and attributes. within the context of configuring the OTL timecard interface. New labels can also be created in AK and used within the configurable UI for customized timecards. is defined as a region containing one or more region items. it may be necessary to utilize the ADF. 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. button labels. View objects and Application Modules are two of the business objects that require configuration. 2. which are reusable. Each region item is based on an attribute. If you require a custom set of data to be shown on a timecard using a Choice List or LOV. some aspects of the ADF are described in the following sections. 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.2. View Objects can be developed using the wizard supplied with JDeveloper. When creating region items there are many possible settings.the ones used. Once created. When creating messages you should note the message name you have specified. application. 22 . then you may need to create a custom View Object to perform this query. otherwise use a message. 2. along with the region code and application you have created the region items under . which can be considerably more descriptive.1 Labels All labels in the OTL configurable UI are translatable and customizable via the AK Developer responsibility in Oracle Applications. while the Project label in the timecard matrix is a prompt.5 Labels and Messages There are two concepts used to store any text that is displayed on an OTL timecard screen .this information will be needed to utilize these labels within your configured timecard layout. 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 . Thus. they can just alter the definition of the underlying configurable view and then add it onto their configured layouts. OTL delivers a number of ’Configurable Choice Lists’. In order for the timecard page to function properly with custom view objects.2 Application Modules An Application Module is a BC4J object which can be considered a ’container’ for View Objects.e. The Value column is the value that will actually be submitted with the timecard .code.6. a custom application module name can be supplied using the following syntax: QUALIFIER ATTRIBUTEx = ViewObjectName#ApplicationModuleName#ApplicationModuleClass So for example.) • 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.6. 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. etc.2. View Objects. and then created an application Module called ’MyAM’ with the full class (including package) of ’my. What this basically means is that we deliver a View Object based on a configurable view.MyAM’.7 2.7. but components will default the attributes that specify these to the same names.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.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 . so they do not need to be specified in the layout. so rather than a customer having to use JDeveloper to create their own BC4J view objects and application module. 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. 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. the configurable user interface must know the name of the custom application module.custom.MyAM NOTE: All BC4J and Java references are case-sensitive.1 Delivered Configurable BC4J Objects Configurable Choice List Components To allow easy implementation of choice list components.code.custom. So when referencing a view object as part of the qualifiers for a user interface component. Application Modules. Note: If you create your own custom View Objects then you should also create an Application Module to contain them. then the qualifier would look as follows: QUALIFIER ATTRIBUTEx = MyViewObject#MyAM#my. so it is important to ensure the reference in the layout matches that of your code. if you create a custom view object called ’MyViewObject’. 2. 2. timecard.hxc. Information: OTL delivers a SQL script to create template views for all of the custom view objects .server.hxc.selfservice. Note: For flexibility both columns are delivered as type VARCHAR2. For a quick example let’s make a custom view object that does a query against PER PEOPLE F and retrieves the persons full name into DisplayValue and the period ID into Value.Custom3VO oracle. Information: There is an Applications Object Library profile which controls the maximum number of rows fetched for a View Object.2 Package Choice List A package choice list is visually exactly the same as a normal choice list component on the page.timecard.server.apps. A Package Choice List component is defined like any other component.all parameters should be of type varchar2.server.server.Custom6VO oracle. Currently only one instance of a Package Choice List component can exist on a Self-Service page.hxc.apps.timecard.timecard.apps. For a package choice list the equivalent View Object is built from the result of a PL/SQL function call.server. The call be made with any of the supported tokens — see section 4 — for the timecard .Custom1VO oracle.selfservice. It is strongly advised that Choice Lists only be used when the result set shown is not excessive.apps.hxc.sql.Custom2VO oracle.apps.apps.server.hxc.Custom7VO oracle.apps.Custom9VO oracle.hxc.hxc.server.selfservice.timecard.timecard. The SQL to perform this query would be: SELECT full name.selfservice. CREATE OR REPLACE FORCE VIEW HXC CUI CUSTOM1 V(display value.this is not run in a patch.View Object Name Custom1VO Custom2VO Custom3VO Custom4VO Custom5VO Custom6VO Custom7VO Custom8VO Custom9VO Custom10VO View Object Class oracle.value) AS SELECT full name DISPLAY VALUE. so if you have a non-varchar2 column you will need to convert it in your view statement. lets also add an ORDER BY clause to the SQL statement so it is easier to find names in the list.Custom10VO Configurable View Name HXC CUI CUSTOM1 V HXC CUI CUSTOM2 V HXC CUI CUSTOM3 V HXC CUI CUSTOM4 V HXC CUI CUSTOM5 V HXC CUI CUSTOM6 V HXC CUI CUSTOM7 V HXC CUI CUSTOM8 V HXC CUI CUSTOM9 V HXC CUI CUSTOM10 V Table 11: Delivered Custom Choice List View Objects using the timecard it should obviously make some sense!). this is the maximum number of choices that will available in a choice list component.selfservice.selfservice.server. Without changing this profile option.hxc. the data is queried from a table or view via the associated View Object.hxc. if the user is using a dial-up connection. This script can be found under $HXC TOP/patch/115/sql/hxccuivw.server.to char(person id) VALUE FROM per people f ORDER BY full name We have used TO CHAR on the person id column to convert it to a VARCHAR2 and we have also specified the aliases for the columns so they match the expected names within the View Object. This profile is called ’FND: View Object Max Fetch Size’ and is set to a default of 200.hxc. which may slow down rendering e.timecard.selfservice.g. The difference between the two is the data source — in the case of a normal choice list.apps. Note: Given the nature of HTML all possible selections for a choice list (both displayed text and the selection value) are part of the generated page. person id FROM per people f So lets create a view based on this query . otherwise the size of the page can be large.Custom5VO oracle.timecard. or alternatively you can copy and modify the script to contain your custom view objects which can then be created by running the script.apps.server.apps. It uses a context called PACKAGE CHOICE LIST of the configurable user interface component 24 .selfservice.since the results are unsorted.selfservice.7.selfservice. The PL/SQL call should return the data to be shown in the choice in display value/value pairs (each separated by ’—’).Custom4VO oracle.Custom8VO oracle.timecard. but can be run manually to create template views for testing. 2.timecard. l start date := fnd date. l start date DATE. define the behaviour of this component.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. the timecard start date and a third literal value of ’TEST’: FUNCTION test (p resource id in varchar2 . In QUALIFIER ATTRIBUTE1 the package and function name to be called are specified. Parameters for the function call are bound by position.this could be used. --.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’.qualifer flexfield. Literal values may also be passed in the parameter list . FUNCTION test (p resource id in varchar2 .the person id of the user. 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 long as the return parameter meets the specification defined above.p timecard start date in varchar2 . This is the function supporting the choice list. obviously a configured function could perform any operation. --. for example. l return value VARCHAR2(200). -BEGIN --.canonical to date(p timecard start date). lets create a function called ’test’ in the package ’my custom code’ that takes 3 parameters .convert parameters -l resource id := TO NUMBER(p resource id).return values 25 . Attributes associated with this context. and tell the configurable user interface code how to call the package. ELSE l return value := ’10|Display1|20|Display2|30|Display3’.p mode flag in varchar2 ) RETURN varchar2 IS -l resource id NUMBER. As an example.p timecard start date in varchar2 . and so this is just an example.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. END IF. and QUALIFIER ATTRIBUTE2 contains the parameter list for the function. so it is important to make sure the order they specified in the layout matches that of the function. 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. In the context you configure the definition of the alternate name and the value that you wish to deposit to OTL. This is done using the alternate name mapping professional form. Info: There is an Applications Object Library profile which controls the maximum number of rows fetched for a View Object. but with different names. For the Self-Service functionality of OTL only the ’OTL Alternate Name DFF Context’ type of alternate names are supported. These components are delivered as VO definitions that are plugged into an LOV or choicelist component with some specific qualifiers set. -END test. the user is selecting one value. Note: Given the nature of HTML all possible selections for a choice list (both displayed text and the selection value) are part of the generated page. Lets use an example to illustrate how an alternate name could be added onto a timecard layout with an LOV component. • Next. rather than three.-RETURN l return value. OTL delivers five customizable alternate name objects. For a discussion of OTL alternate name functionality consult the OTL Application documentation. your timecard layouts should be modified to include the custom alternate name component. expenditure type and the system linkage function. This profile is called ’FND: View Object Max Fetch Size’ and is set to a default of 200. Thus. when the ELEMENTS EXPENDITURE SLF alternate name type is submit. which is converted by the system into an expenditure type. For this example. For each segment of your context. For example. BEGIN HXC LAYOUT COMPONENTS " My Timecard Layout . For example.ExpType PriceType" OWNER = "ORACLE" 26 . This type of alternate name is based on the context definition attached to the ’OTL Alternate Names’ descriptive FlexField. the expenditure type seeded alias allows users to pick one value. hours (element) type and a system linkage function. It is strongly advised that Choice Lists only be used when the result set shown is not excessive. Perform a query based on the ’OTL Alternate Name DFF Context’ and your context as the type and then enter the mappings you require. To allow for simple configuration of alternate name components. This segment is used when you wish to define more than one alternate name with the same set of values.7. the values that are deposited are a payroll element. In order to uniquely identify them the identifier segment should be used.3 Custom Alternate Name components OTL Alternate Functionality is a commonly configured option on the timecard interface. because it drastically simplifies data entry for users. 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. 2. • 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. you should link the correct mapping component that will be used when depositing the information into OTL. apps. OTL supports 5 of these custom definitions and the VO names for each of these are: AlternateNameItem1VO AlternateNameItem2VO AlternateNameItem3VO AlternateNameItem4VO AlternateNameItem5VO 27 .COMPONENT VALUE = "PA EXPTYPE PRICETYPE" REGION CODE = "PA CUI ALTERNATE NAME" REGION CODE APP SHORT NAME = "PA" ATTRIBUTE CODE = "PA EXPTYPE PRICE TYPE ALIAS" ATTRIBUTE CODE APP SHORT NAME = "PA" NAME VALUE STRING = "PA EXPTYPE PRICE TYPE ALIAS" SEQUENCE = "240" COMPONENT DEFINITION = "LOV" RENDER TYPE = "WEB" PARENT COMPONENT = "My Timecard Layout .server.hxc.AlternateNameItem1VO" QUALIFIER ATTRIBUTE11 = ¨ EXPENDITURE TYPE PRICE TYPE|TIMECARD BIND END DATE|TIMECARD BIND START DATE" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE24 = "EXPENDITURE TYPE PRICE TYPE" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "OTL ALIAS ITEM 1" QUALIFIER ATTRIBUTE27 = "Attribute1" QUALIFIER ATTRIBUTE28 = "ALIAS ITEM 1" LAST UPDATE DATE = "2004/05/04" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS Let’s go over the relevant qualifier settings to explain how it works.selfservice. QUALIFIER ATTRIBUTE1: This specifies the custom alternate name view object to use for this component.ExpType PriceType" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "LOV" QUALIFIER ATTRIBUTE1 = "AlternateNameItem1VO" QUALIFIER ATTRIBUTE2 = "N" QUALIFIER ATTRIBUTE3 = "HXC CUI ALIAS ITEM1 LOV" QUALIFIER ATTRIBUTE4 = "809" QUALIFIER ATTRIBUTE5 = "5" QUALIFIER ATTRIBUTE6 = "HxcCuiDisplayValue|ALIAS ITEM 1-DISPLAY|CRITERIA|N|HxcCuiValue|DUMMY|PASSIVE CRITERIA| N|HxcCuiValue|ALIAS ITEM 1|RESULT|N|HxcCuiDisplayValue|ALIAS ITEM 1-DISPLAY|RESULT|N" QUALIFIER ATTRIBUTE8 = "DisplayValue" QUALIFIER ATTRIBUTE9 = "Value#NUMBER" QUALIFIER ATTRIBUTE10 = "oracle.Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/04" BEGIN HXC LAYOUT COMP QUALIFIERS "My Timecard Layout .timecard. 5/patch/115/sql/hxclovmig. this procedure takes 3 optional parameters. customizable list of values objects were introduced.the first parameter should always be the type of alternate name. and the custom MDS region is called CuiCustomLov1RN. 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. and this view must be present on the database before the list of values will work. 2. OTL supports custom LOVs. 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 . patch 4634379. The definition is: PROCEDURE migrate lov region (p region code IN AK REGIONS VL.this can be found at: $APPL TOP/hxc/11. Consult the ADF documentation for a full description of the UI dictoinaries used in the development framework. As you can see. facilitating easy addition or replacement of list of values on the timecard. 28 .migrate lov region (p region code => ’MY CUSTOM LOV’ .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 . 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 .QUALIFIER ATTRIBUTE3: For each of the custom alternate name view objects there is an LOV region delivered which references them . The BC4J object references the HXC CUI CUSTOM LOV1 V view.the actual context does not exist.p force IN VARCHAR2 DEFAULT NULL ). 2. This utility is available as a procedure in the package HXC LOV MIGRATION.p force => ’Y’ ).8.APPLICATION SHORT NAME%TYPE DEFAULT NULL . 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.sql). The BC4J object is called CustomLov1VO.1 LOV Custom Objects Beginning with HXT. exec hxc lov migration. to migrate the LOV with the region code MY CUSTOM LOV which was created under the Oracle Time and Labor application (HXC/809).p region app short name => ’HXC’ . 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).p region app short name IN FND APPLICATION.REGION CODE%TYPE DEFAULT NULL . and overwriting any definition that was previously migrated you would issue the follow call to the procedure. QUALIFIER ATTRIBUTE26. For example.8 LOVs and JRAD/MDS The Oracle Applications Self-Service framework now uses the MDS dictionary (aka JRAD) to store all definitions for Self Service pages including LOVs.J Cumulative backports 1. with the second being the timecard bind end date and the last the timecard bind start date. for example. as the code will overwrite any values 29 . Thus. waiting for the page to render. and then waiting for the timecard page to render again.J Cumulative Backports 1 (4634379) or later. and simply a matter of adding a TimecardLineComment attribute to the layout. Thus. click the Apply button on that subsequent page. after the Day columns: ############################################################################ # Comment Field ############################################################################ BEGIN HXC LAYOUT COMPONENTS "ELP ChoiceListDff Proj-Pay Timecard Layout . then it can be very useful to move the comment text field onto the timecard matrix. this is now very easy. or 240 characters if using Project Accounting as a recipient application. If the users don’t need to enter Project Accounting additional information.13.e. rather than having just the 150 characters available in attribute1 there are 30 times 150 characters available.3 3. This also implies that only one TimecardLineComments component per timecard matrix should be configured. and can enter up to 4500 characters. With release 11i HXT. or if those Project Accounting additional information segments have been moved to the timecard matrix: see 3.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. for commentary on the time entry.i. the following component definition in the layout will add a comment text area on the right hand side of the timecard matrix . This is because while this is only one component the product distributes a TimecardLineComments attribute across all 30 segments of the timecard attribute row. the users can clearly see 150 characters in the text area when the timecard page is rendered. Often people don’t want to take the functional performance hit of navigating off to the detail page.1 Examples of Common Customizations Adding a Comment Field to the Timecard Line The delivered timecard layouts include a details page that has a comment text area field in which the users can enter up to 2000 characters.Comment Text Field" OWNER = "ORACLE" SEQUENCE = "250" COMPONENT DEFINITION = "TEXT FIELD" RENDER TYPE = "WEB" PARENT COMPONENT = "ELP ChoiceListDff Proj-Pay Timecard Layout . with width 50 characters and height 3 lines. you should include a choice list component in the layout of your choice.server. comments entered into this field are only associated with the timecard. HXC CUI CUSTOM1 V. QUALIFIER ATTRIBUTE3 = ’Y’) so that the query for the component wil. We support up to ten custom lists. You could create the following OTL custom view: Create or replace view HXC CUI CUSTOM6 V (DISPLAY VALUE . i. Once the view is constructed.2 Adding a Custom Choice List to the Timecard Using the Configurable timecard.apps. The custom view objects can only be used for situations where you do not need bind parameters to be present in the query . For example. The names and IDs of these machines are stored in a table called ?UR MACHINES.for other cases you will need to create your own View Object to use for the component.e. and a choice list component attached to the layout on which the custom choice list is required. and while stored in the time store.entered into a separate TimecardLineComments component which is associated e. 3. let’s assume you want to record which machines a person worked with when submitting their time. Enterprise Assest Management or Human Resources. and consequently should be user-friendly for your user population.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 .l always be executed.hxc.timecard. With this component in place. as per figure 3. Figure 3: Timecard Matrix Line Comment Field Note: None of the recipient application retrieval processes are configured to receive this data. The views are named: HXC CUI CUSTOMn V where n is a number between 1 and 10.selfservice.apps. As an example. QUALIFIER ATTRIBUTE30 = ’Y’) and enabling the ’Always Execute for Read-Only’ functionality (ie. such as oracle. This can be done by making the component read-only (ie. Purchasing. The choice list component can also be used to show custom display-only fields that are populated by a query. The ’VALUE’ column contains the values that are actually written to the database. such as Custom1VO. and are thus understood by custom code. Set the view object class qualifier to oracle.timecard. Set the view object name qualifier to CustomnVO.hxc.server. The column ’DISPLAY VALUE’ contains the values that are shown in the choice list for the user to select. you can add your own custom choice lists-where the list of values is defined outside Oracle Time and Labor. We access these values using a set of named views.Custom1VO. even if no value is stored. which must have two columns present. If multiple rows are returned by the query then only the first will be shown.g. with Attribute2 of this timecard attribute. they are not sent to Project Accounting. Payroll. the timecard matrix lines appear.selfservice. These views must have at least two columns and they must be called: ’DISPLAY VALUE’ and ’VALUE’.CustomnVO.VALUE) as select machine name . is the prefered strategy. Once these two steps are done.server. Personalize the LOV region 31 . 3.see section 3. specifically LovAM. you must also create the corresponding OTL Information Types and Mapping components. Create the supporting database view 2.Machine Name" OWNER = "CUSTOM" COMPONENT VALUE = "MACHINENAME" SEQUENCE = "110" COMPONENT DEFINITION = "CHOICE LIST" RENDER TYPE = "WEB" PARENT COMPONENT = "Exception Timecard Layout . Add the LOV component to the timecard 3.Custom6VO" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "Machine Name Info Type" QUALIFIER ATTRIBUTE27 = "Attribute1" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS For a prompt to show alongside (or above) the choice list.this results in required customization to delivered code objects.4 . and adding mapping components to deposit processes can be found in the guide Implementing Oracle Time and Labor. if this is a relatively simple LOV. and then the long label would be used as the prompt for the choice list. and you wish to have that same LOV on the timecard. However.for example. you would need to customize the AK definition for the timecard page to add an AK region item called HXC TIMECARD MACHINE NAME.xml.apps.Machine Name" OWNER = "CUSTOM" QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST" QUALIFIER ATTRIBUTE1 = "Custom6VO" QUALIFIER ATTRIBUTE4 = "N" QUALIFIER ATTRIBUTE10 = "oracle. *AM. 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 . and add those mapping components to your deposit process so that the information entered by the user is successfully saved to the time store.xml and TimecardAM. There are several steps involved: 1.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 .BEGIN HXC LAYOUT COMPONENTS "Exception Timecard Layout .hxc. You can add AK region items using the AK Professional Forms.xml. or you are just replacing the seeded LOVs with an LOV containing additional columns. the choice list will appear on the timecard.selfservice. However. Details on creating mapping components. then using the configurable LOV and not customizing the application module definitions. perhaps there is an informational LOV that the business has included with the Purchasing product.timecard.Day Scope Building blocks for worker timecard matrix" REGION CODE = "HXC CUI TIMECARD" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC TIMECARD MACHINE NAME" ATTRIBUTE CODE APP SHORT NAME = "HXC" BEGIN HXC LAYOUT COMP QUALIFIERS "Exception Timecard Layout . but if it is anything else.1 Create the supporting database view The database view must expose the alias definition id in the select clause in order to ensure that the appropriate list of values is provided to the user . we consider a specific example of adding a location field. and setting the bind variables in the timecard layout defintion. then no location should be selectable (even if the user opens the LOV). one for the expenditure type list and one for the payroll element (Hours Type) list. consider a user with the alternate name preferences as specified in figure 4. In this case the user has two alternate names specified. as a list of values to the timecard. suppose this is a Project accounting and Payroll timecard. user. the query executed for the LOV in the middle tier is: 32 . which means we must be careful to expose the second of the two alternate names in the view. 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. Now. with a specific element called: Field Work. and pass the second alternate name as the bind variable.3. Clearly from the above example. So. we must have access to the users alternate name definitions .Comparing these steps to the ones in section 3. when writing the database view.4 it is clear it is much easier to use the configurable objects to add an LOV onto the timecard. ELP. it is clear this is an Entry Level Processing. This ensures we are properly specifying the alternate name (alias definition) in both places. so the configurable LOV BC4J object includes a alias definition id as the bind variable.remember you can specify up to 10 alternate names .in this case the list depends on the hours type chosen. Figure 4: Alternate Name Definition 3. where the location is determine from the US Payroll city and state tables. In our example. which means the alias definition id is exposed to the middle tier by the BC4J object. which if chosen the user should pick a location within their home state.and retrieve the right alternate definition in the view. So in the view we reference ’TC W TCRD ALIASES|2|’ to return the second alternate name set as defined in the preferences.in this case we want to restrict the list based on a specific hours type. In our case we want to change the list based on the hours type chosen. and we bind the variable "TIMECARD ALIAS 2" in the qualifier definition. This is enabled for the BC4J objects supporting this LOV. From this set up. To illustrate the process. care must be taken to bind the right alternate name definition in the layout . lov1column5. st. cy. ’PAEXPITDFF . the view definition must take form: create or replace view HXC CUI CUSTOM LOV1 V (lov1column1.resource preferences(fnd global. lov1column4. null "lov1column5".employee id. to number(hxc preference evaluation. lov1column7. pay us city names cy. lov1column3. lov1column2.state abbrev "lov1column1". st. lov1column7. lov1column10. hav. 33 . the SQL statement has form: select distinct cy. lov1column2. lov1column6.city name||’.state name "lov1column2". lov1column8. null "lov1column6".city code "lov1column4". lov1column10 from hxc cui custom lov1 v where aliasdefinitionid = :1 This query has two important consequences: 1. In our example case. lov1column4.select lov1column1. lov1column5. null "lov1column7". lov1column6. ’||st. null "lov1column8". The view definition must include a column called aliasdefinitionid Thus.alias value id "lov1column10". lov1column3. lov1column9.city name "lov1column3". The columns in the view must be aliased to lov1columnN 2.ST’ "lov1column9". lov1column8.state code||’-000-’||cy.’TC W TCRD ALIASES|2|’)) "aliasdefinitionid" from pay us states st. aliasdefinitionid) as (SQL Statement) With the SQL statement forming the configurable part of the view. lov1column9. to populate this attribute category properly.Location" OWNER = "ORACLE" COMPONENT VALUE = "LOCATION" SEQUENCE = "260" COMPONENT DEFINITION = "LOV" RENDER TYPE = "WEB" PARENT COMPONENT = "ELP ChoiceListDff Proj-Pay Timecard Layout . This is the value that will actually be stored in the time store. i. The fixed value in lov1column9 is used as a return item from the LOV . There are several functions available on the FND GLOBAL package.location id and loc. it does highlight some typical configuration options.see next section . they are all associated with the ’ST’ attribute category. hr locations loc.location id = loc.2 Add the LOV component to the timecard The custom LOV is added to the timecard layouts to ensure it is rendered for the user. it doesn’t matter what value of location is chosen by the user. In this case. but the second.in this case a jurisdiction code. In the fourth column of the custom LOV.and recall it is the hours type value that we want passed into the LOV to limit the users’ choices. we supply the alias value id in lov1column10 such that we can provide the alias value id chosen by the user in the hours type choice list as a criterion for this LOV. In this case we are asking for the alias definition id of the second alternate name associated with the person as of SYSDATE .alias definition id = to number(hxc preference evaluation.3. as there is no mechanism within the custom LOV BC4J objects to pass the person id as context. since this is first deposited in the OTL Time Store.state code <= 51 and st.employee id. For more details on this style of configuration see section 3. Only two parameters are passed. The use of FND GLOBAL functions to return person context into the view is key. Lastly.state code = cy. which was our functional requirement.state code and asg.person id = fnd global. and available to recipient applications. the first the person id is self explanatory. if the user does not choose the alias value Field Work. lov1column4 we have created our own key for this field . 3.region 2 = st.this is important because in our example case the layout used has two alternate name sets.to identify this attribute as such. one for expenditure type and one for hours type . we use the special prefix PAEXPITDFF .’TC W TCRD ALIASES|2|’)) and hav. but for demonstration purposes will suffice. but also the attribute category for that descriptive flexfield structure. and all can be used to provide context to server-side SQL statements.13. The location field in this case forms part of the Project Accounting descriptive flexfield structure. which is artificial here because it excludes the county component.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 . the resource preference call.e. hxc alias values hav where st. i.alias value name = ’Field Work’ While it is somewhat out of the scope of this section to discuss the SQL statement. the string: TC W TCRD ALIASES|2| requires some explanation.resource preferences(fnd global. then no choices will be available. and as such we need not only to set the value of the location the user picks. This means we add the following component to the layout definition: BEGIN HXC LAYOUT COMPONENTS "ELP ChoiceListDff Proj-Pay Timecard Layout .state abbrev and hav. Also note.e.per assignments asg. which is used to determine the alias definition id used within the LOV.employee id and asg. but something other than Oracle should be used for custom layouts. but represents a good label.e. and is necessary for a List of Values component. • In this case render type means that we should show this component when the user accesses the timecard via a web browser. and the corresponding MDS region definition to use with the list of values. • The parent component is the reference back to the timecard day matrix .i. LOV.selfservice.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.BEGIN HXC LAYOUT COMP QUALIFIERS "ELP ChoiceListDff Proj-Pay Timecard Layout . • 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. They define the BC4J object. The items in bold above must be set this way when using the configurable LOV objects. 35 .server. this field is a child of the main table entry table and thus should be shown inside that table.and we should add this AK attribute via the AK forms to ensure the label is shown on the timecard page. • In this case. this can be anything.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 .this is a list of values style field.timecard. • The next section of the component definition correspond to the component qualifiers . • The component in this case is owned by ORACLE which identifies it as a seeded component. the component value. is self-explanatory .hxc. • The component definition.apps. of LOCATION isn’t used in the code anywhere. In a configuration file.this is data which modifies the default component behavior. • 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 .Location corresponds to the component name. When using the configurable LOV objects qualifier attribute11 must correspond to the bind variable for the alternate name definition retrieved in the underlying view . will match a value ’Washington Square’ in the list of values. 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. the LOV now appears: and thus a fully functional configurable LOV is added to the timecard with the minimum of customization .e. It also indicates that the fixed text in lov1column9 should be placed into the PADFFAC labeled field . and a configuration via a timecard layout file. inside or outside the days in the matrix. 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. and these are set to the appropriate columns. as is the case here. 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. to the left or right of that matrix. and additional information showing to the user. as previously discussed.e. In this case. in this case. i. The locations in the examples are somewhat larger than this.3 Personalize the LOV region Use of the standard OAF personalization resolves the problem of the generic column names.these are bind parameters to the query in addition to the LOV criteria. the generic column names and system data which appears is confusing for the user. and as long as for the same set of bind variables the same results will be shown. • QUALIFIER ATTRIBUTE11 holds the bind values to pass to the query on execution . This is used in conjunction with qualifier attribute6. then the cache should remain disabled.if the user opens the location LOV the LOV appears as per figure 5. 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).a SQL statement. 3. essentially this data controls the criteria and results for the list of values. If this were a dynamic list. Once the configuration is fixed.which in this case is a hidden field storing the attribute category. The rest of the qualifier attributes are the usual set for all layout components indicating where the field should appear.e. if several different custom LOVs will be used on differing layouts for differing employee populations. in this case alternate name definition 2 (any number between 1 and 10) can be used. and where the value should be stored . Once that layout is uploaded. obviously a personalization at site-level would be inappropriate. 36 . and the right hours type value is chosen in the hours type list . with lots of changes occurring. such that when opened.• QUALIFIER ATTRIBUTE2 is used to turn middle tier caching on an off for the SQL statement associated with the list of values.in this case attribute1 of the Project Accounting additional descriptive flexfield. • 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. Care should be taken when creating the personalization to ensure it is done at the appropriate level . Obviously while it is good that the LOV works. respectively. I. then the cache should be enabled for performance purposes. the alias value id from the hours type field must equal the value in lov1column9. Using personalization we can hide the columns the user does not need to see (all but the display column).3.i. • QUALIFIER ATTRIBUTE5 specifies the display size of the field. • QUALIFIER ATTRIBUTE6 is discussed in much greater detail in later sections of this document. and the value entered as search reduction criteria should be like the value in the display column . • QUALIFIER ATTRIBUTE7 indicates any additional result columns. but to save horizontal scrolling on the time entry page we reduce this value to a minimum. 12 characters.thus as configured this is a case insensitive criteria which will match any partial value in the display column. and rename that.for example. if the user enters ’GTON sq’. 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. Run the migration script to copy the LOV definition from AK to the MDS repository 6. and the business group of the person. 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. Create an AK region for rendering the LOV screen 4. Initial step is to define the query according to your requirements. the Business Group ID of the person must be returned to a hidden field already defined on the screen with the alias of BUSINESSGROUP. Create AK region items inside the AK region for the LOV page 5.4. last name.4 Adding a Custom LOV to the Timecard without using the Custom LOV Objects Creating a list of values (LOV) involves the following steps: 1. Create the View Object for the LOV 2.Figure 5: Custom LOV Showing Locations 3. so for our example: 37 . date of birth.1 Create the View Object for the LOV The query used for the view object should select all the columns that you would like to see shown in the LOV page. Create AK attributes used for the LOV screen 3. Additionally. 3. employee number. The user should be able to search on criteria such as full name. Modify a layout to include the LOV component 7. Include the new LOV View Object into your Apache/JServ environment To further illustrate this process we will use a specific example and show the steps required to implement this example in a timecard layout. Scenario: Include a LOV on the timecard that allows the user to select from a list of people visible from their security profile. Figure 6: Custom LOV Showing Locations after personalization select pers.person id ,pers.full name ,pers.last name ,pers.date of birth ,pers.employee number ,bg.business group id ,bg.name business group 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 Create AK attributes used for the LOV screen Use the Define Attributes window, which is available from the professional forms AK Developer responsibility. Define attributes for each of the items that you need to show on the LOV page. Complete the following fields: Attribute ID, Attribute Name, Application, Data Type, Value Length, Style and Label. 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 Attribute ID: CUSTOM BUSINESS GROUP NAME Attribute Name: My Custom LOV - Business Group Name Application: Oracle Time and Labor Data type: Varchar2 Value Length: 60 Style: Text Label: Business Group Name 3.4.3 Create an AK region for rendering the LOV screen Region ID: MY CUSTOM LOV Region Name: My custom LOV Application Name: Oracle Time and Labor Object Name: ICX PROMPTS Region Style: List of Values Application Module Definition Name: oracle.apps.hxc.selfservice.timecard.server.TimecardAM Display Rows: 10 (or however many rows you want displayed in the LOV) Controller Object Type: oracle.apps.hxc.selfservice.configui.webui.LovCO Add Indexed Children: (checked) Leave all other fields blank or to their default value. Save the record. 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 Application: Oracle Time and Labor Attribute Name: My Custom LOV .Employee Number Sequence: 50 Node Display: Checked Queryable: Checked Item Name: CustomEmployeeNumber View Usage Name: CustomPersonVO View Attribute Name: EmployeeNumber Attribute Type: Attribute Application: Oracle Time and Labor Attribute Name: My Custom LOV .Business Group Name Sequence: 70 Node Display: Checked Queryable: Checked Item Name: CustomBusinessGroupName View Usage Name: CustomPersonVO View Attribute Name: BusinessGroupName 41 .Date of Birth Sequence: 40 Node Display: Checked Queryable: Checked Item Name: CustomDateOfBirth View Usage Name: CustomPersonVO View Attribute Name: DateOfBirth Attribute Type: Attribute Application: Oracle Time and Labor Attribute Name: My Custom LOV .Last Name Sequence: 30 Node Display: Checked Queryable: Checked Item Name: CustomLastName View Usage Name: CustomPersonVO View Attribute Name: LastName Attribute Type: Attribute Application: Oracle Time and Labor Attribute Name: My Custom LOV .Business Group ID Sequence: 60 Node Display: Checked Queryable: Checked Item Name: CustomBusinessGroupId View Usage Name: CustomPersonVO View Attribute Name: BusinessGroupId Attribute Type: Attribute Application: Oracle Time and Labor Attribute Name: My Custom LOV . Day Scope Building blocks for worker timecard matrix" REGION CODE = "MY CUSTOM AK PROMPT REGION" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "MY CUSTOM PERSON PROMPT" ATTRIBUTE CODE APP SHORT NAME = "HXC" BEGIN HXC LAYOUT COMP QUALIFIERS "My Custom Layout .3. The easiest way to accomplish this is to copy the component definition over from the timecard layout. changing the component name.Custom Person LOV" OWNER = "CUSTOM" QUALIFIER ATTRIBUTE CATEGORY = "LOV" QUALIFIER ATTRIBUTE1 = "CustomPersonVO" QUALIFIER ATTRIBUTE2 = "N" QUALIFIER ATTRIBUTE3 = "MY CUSTOM LOV" QUALIFIER ATTRIBUTE4 = "809" QUALIFIER ATTRIBUTE5 = "12" # display width QUALIFIER ATTRIBUTE6 = "CustomFullName|CUSTOMPERSON-DISPLAY|CRITERIA|N|CustomPersonId|CUSTOMPERSON| RESULT|N|CustomFullName|CUSTOMPERSON-DISPLAY|RESULT|N|CustomBusinessGroupId|BUSINESSGROUP|RESULT|N" QUALIFIER ATTRIBUTE7 = "BUSINESSGROUP|CustomBusinessGroupId" QUALIFIER ATTRIBUTE8 = "CustomFullName" QUALIFIER ATTRIBUTE9 = "CustomPersonId" QUALIFIER ATTRIBUTE10 = "my.CustomPersonVO" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "MYFLEX" QUALIFIER ATTRIBUTE27 = "Attribute1" QUALIFIER ATTRIBUTE28 = "CUSTOMPERSON" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS Note: If you wish to also show the new LOV field on the review and confirmation layouts you will need to modify them to include the component as well.6 Modify a layout to include the LOV component For our example.custom.server. parent component name and qualifier name.5 Run the migration script to copy the LOV definition from AK to the MDS repository 3. the component definition is:######################################################################## # My Custom Person LOV # ####################################################################### BEGIN HXC LAYOUT COMPONENTS "My Custom Layout .4.4. Then you just need to modify the copied definition to make it render as a read only text field–this is done by adding a value of ’Y’ for qualifier attribute30: QUALIFIER ATTRIBUTE30 = ’Y’ 42 .Custom Person LOV" OWNER = "CUSTOM" COMPONENT VALUE = "CUSTOMPERSON" SEQUENCE = "140" COMPONENT DEFINITION = "LOV" RENDER TYPE = "WEB" PARENT COMPONENT = "My Custom Layout . Firstly.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.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.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 .4. highlight the correct row (if you have more than one result from doing a partial match). Go to Application Developer Common Modules ¿ AK regions form. Once you have the class files you will need to get these and the xml file to your apache/JServ environment. for example. Refer Table 31: Timecard region seeded prompts) and then change the ’Attribute Long Label’ text for the item to: Timecard for @RI NAME 3. or there are multiple choices as to which it may be is the inspect the layout file. To identify the attribute name which you need to change there are two methods. where Employee is the name of the employee.server’.6 Changing the label for a column in the Timecard Changing any label in OTL can be done by editing the text for the label in the professional AK form. The final task needed to implement your new LOV is to compile your modified layout against the database.3.5 Changing the title of the timecard page The default title for the timecard entry page is: Time Entry: @RI NAME. Typically you will have a VOImpl. Prompts can be attached to components in two ways . So.java file. 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. @RA NUMBER Where RI NAME is the token for the name of the employee entering time and RA NUMBER is their employee number. In the region items form. 3.xml custom/my/custom/server/CustomPersonVOImpl. and then press the ’Region Items’ button at the bottom of the form. Alternatively. you can create a new prompt and then alter the layout definition to use that prompt instead of the delivered one. The easiest way to do this is to create a directory and then prefix this to your JServ classpath.custom. if the correct label cannot be found.class After altering the JServ classpath to include your directory you should bounce Apache/JServ for the changes to take effect. within the AK HXC CUI TIMECARD region. you can search for the text of the prompt in the reference section of this document to find the name of the attribute. but there are others you can choose to create when you generate your VO. and if necessary assign it to the relevant users via the preference screen. the files are in the package ’my. 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. Note: In the directory you will need to maintain the full structure of the package you used to create your VO. The second method. To change the title modify the text associated with prompt HXC TIMECARD HEADER TITLE. query for HXC CUI TIMECARD. For our example. lets change the title to say Timecard for Employee. BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout . this method is used when for example the prompt is associated directly with the component (eg. The label for a text field).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.this value should not be changed.SEQUENCE = "100" COMPONENT DEFINITION = "INTER PERIOD NAV CONTROL" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout . The second way of attaching a prompt onto a component is used when the prompt is not directly associated with the component in question.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 . This is the case for the inter-period navigation control . 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. It is used internally by the component 44 .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. In the case of the inter-period navigation control we need a secondary label to use as the text for the ’Go’ button. You will note the key for the prompt entity is ’PERIOD GO LABEL’ . or when more than one label needs to be attached. prompts can be directly attached to the component . 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.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 . 3. let’s use the header section for the Projects timecard: BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout . To illustrate this example.7 Adding a Component to the Timecard Header Adding a component to the header section of the timecard is simply a case of creating your component.Header Table Layout Component" OWNER = "ORACLE" SEQUENCE = "70" COMPONENT DEFINITION = "TABLE LAYOUT" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout . you can simply edit the text via the AK professional forms to the text you would like.Header Table Layout Component" ATTRIBUTE1 = "TOP" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout .to find the reference to the label (so we do not need to hardcode a message name). and adding it to the layout as a child of the header table.Header Field Table Layout Component" OWNER = "ORACLE" SEQUENCE = "80" 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 Field Table Layout Component" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "TABLE LAYOUT" QUALIFIER ATTRIBUTE1 = "2" QUALIFIER ATTRIBUTE3 = "2" QUALIFIER ATTRIBUTE16 = "1" 45 . Inter Period Nav Control Label" OWNER = "ORACLE" REGION CODE = "HXC CUI TIMECARD" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC TIMECARD PERIOD LABEL" ATTRIBUTE CODE APP SHORT NAME = "HXC" SEQUENCE = "90" COMPONENT DEFINITION = "DISPLAY LABEL" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout .QUALIFIER ATTRIBUTE18 = "EXCLUDE" QUALIFIER ATTRIBUTE19 = "|CSV|" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "N" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout .Inter Period Nav Control" OWNER = "ORACLE" REGION CODE = "HXC CUI TIMECARD" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC TIMECARD PERIOD LABEL" ATTRIBUTE CODE APP SHORT NAME = "HXC" SEQUENCE = "100" COMPONENT DEFINITION = "INTER PERIOD NAV CONTROL" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout .Inter Period Nav Control Label" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "DISPLAY LABEL" QUALIFIER ATTRIBUTE17 = "OraPromptText" QUALIFIER ATTRIBUTE18 = "EXCLUDE" QUALIFIER ATTRIBUTE19 = "|TEMPLATE|CSV|" QUALIFIER ATTRIBUTE20 = "N" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout .Header Field Table Layout Component" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP PROMPTS "PERIOD GO LABEL" "AK PROMPT" OWNER = "ORACLE" REGION CODE = "HXC CUI TIMECARD" REGION APP SHORT NAME = "HXC" 46 .Header Field Table Layout Component" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout . 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 .Override Approver Label" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "DISPLAY LABEL" QUALIFIER ATTRIBUTE17 = "OraPromptText" QUALIFIER ATTRIBUTE18 = "EXCLUDE" QUALIFIER ATTRIBUTE19 = "|CSV|" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE25 = "CUI" QUALIFIER ATTRIBUTE26 = "COMPONENT PROPERTY" QUALIFIER ATTRIBUTE27 = "TIMECARD SHOW OVERRIDE APPROVER" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout .Header Field Table Layout Component" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout .Override Approver" OWNER = "ORACLE" REGION CODE = "HXC CUI TIMECARD" 47 .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 BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout .Override Approver Label" OWNER = "ORACLE" REGION CODE = "HXC CUI TIMECARD" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC CUI TIMECARD APPR OVERRIDE" ATTRIBUTE CODE APP SHORT NAME = "HXC" SEQUENCE = "110" COMPONENT DEFINITION = "DISPLAY LABEL" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout . ApproverOverrideLOVVO" QUALIFIER ATTRIBUTE17 = "NONE" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "APPROVAL" QUALIFIER ATTRIBUTE27 = "Attribute10" QUALIFIER ATTRIBUTE28 = "OVERRIDE APPROVER" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout .Override Approver" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "LOV" QUALIFIER ATTRIBUTE1 = "ApproverOverrideLOVVO" QUALIFIER ATTRIBUTE2 = "N" QUALIFIER ATTRIBUTE3 = "HXC CUI OVERRIDE APPROVER LOV" QUALIFIER ATTRIBUTE4 = "809" QUALIFIER ATTRIBUTE5 = "30" QUALIFIER ATTRIBUTE6 = "HxcCuiOvraprApproverName|OVERRIDE APPROVER-DISPLAY|CRITERIA|N|HxcCuiOvraprPersonId| OVERRIDE APPROVER|RESULT|N|HxcCuiOvraprApproverName|OVERRIDE APPROVER-DISPLAY|RESULT|N" QUALIFIER ATTRIBUTE8 = "ApproverName" QUALIFIER ATTRIBUTE9 = "PersonId#NUMBER" QUALIFIER ATTRIBUTE10 = "oracle.apps.REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC CUI TIMECARD APPR OVERRIDE" ATTRIBUTE CODE APP SHORT NAME = "HXC" SEQUENCE = "120" COMPONENT DEFINITION = "LOV" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout .hxc.timecard.Header Table Layout Component" ATTRIBUTE1 = "TOP" 48 .selfservice.Header Field Table Layout Component" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout .Comments Field" OWNER = "ORACLE" REGION CODE = "HXC CUI TIMECARD" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC CUI TIMECARD COMMENTS" ATTRIBUTE CODE APP SHORT NAME = "HXC" SEQUENCE = "130" COMPONENT DEFINITION = "TEXT FIELD" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout .server. Comments Field" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "TEXT FIELD" QUALIFIER ATTRIBUTE1 = "Y" QUALIFIER ATTRIBUTE2 = "Y" QUALIFIER ATTRIBUTE3 = "30" QUALIFIER ATTRIBUTE4 = "3" QUALIFIER ATTRIBUTE5 = "2000" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "N" QUALIFIER ATTRIBUTE25 = "TIME BUILDING BLOCK ATTRIBUTE" QUALIFIER ATTRIBUTE27 = "CommentText" QUALIFIER ATTRIBUTE28 = "Comments" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout .Template Label" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "DISPLAY LABEL" QUALIFIER ATTRIBUTE17 = "OraPromptText" QUALIFIER ATTRIBUTE18 = "EXCLUDE" QUALIFIER ATTRIBUTE19 = "|TEMPLATE|CSV|" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE25 = "CUI" QUALIFIER ATTRIBUTE26 = "COMPONENT PROPERTY" QUALIFIER ATTRIBUTE27 = "TIMECARD TEMPLATE FUNCTIONALITY" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS 49 .Template Label" OWNER = "ORACLE" REGION CODE = "HXC CUI TIMECARD" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC TIMECARD TEMPLATE LABEL" ATTRIBUTE CODE APP SHORT NAME = "HXC" SEQUENCE = "140" COMPONENT DEFINITION = "DISPLAY LABEL" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout .Header Field Table Layout Component" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout .LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout . and the comments field on the right. Ok.Template Control" OWNER = "ORACLE" REGION CODE = "HXC CUI TIMECARD" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC TIMECARD TEMPLATE LABEL" ATTRIBUTE CODE APP SHORT NAME = "HXC" SEQUENCE = "150" COMPONENT DEFINITION = "TEMPLATE CONTROL" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout . and place it between the inter-period navigation control and the override approver component."Projects Timecard Layout . let’s add our component to the left side of this two-column layout.Header Field Table Layout Component" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP PROMPTS "TEMPLATE SUBMIT BUTTON" "AK PROMPT" OWNER = "ORACLE" REGION CODE = "HXC CUI TIMECARD" REGION APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC TIMECARD TEMPLATE SUBMIT" ATTRIBUTE APP SHORT NAME = "HXC" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP PROMPTS BEGIN HXC LAYOUT COMP PROMPTS "TEMPLATE OVERWRITE LABEL" "AK PROMPT" OWNER = "ORACLE" REGION CODE = "HXC CUI TIMECARD" REGION APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC TIMECARD TEMPLATE OW LABEL" ATTRIBUTE APP SHORT NAME = "HXC" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP PROMPTS BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout . To maintain the same appearance as exists already in the header field. The function resides in the package 50 . let’s say we want to show a read-only field in the header that will display the users ’payroll code’ which is retrieved from a PL/SQL function call. this means we need to split the component into the label.with the inter-period navigation control. rather than having them placed directly after their field label. and override approver control on the left. template control. Furthermore. and the rest of the component. So for our example. For our example. Our example payroll code function takes the parameter of the resource id and returns the code to be displayed.Template Control" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "TEMPLATE CONTROL" QUALIFIER ATTRIBUTE1 = "N" QUALIFIER ATTRIBUTE16 = "2" QUALIFIER ATTRIBUTE18 = "EXCLUDE" QUALIFIER ATTRIBUTE19 = "|TEMPLATE|CSV|" QUALIFIER ATTRIBUTE20 = "N" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS This header section renders a two-column layout . the left side of this layout has a nested table to align the fields to the left of each other. so now on to defining our component. Since we need to show a value based on a PL/SQL call. Normally this would be used to show an modifiable choice list on the page. 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). we can use the Package Choice List component.1 Create AK data for the component prompt 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. We also need to set qualifier attribute6 for the component since there will be no ’id’ value stored for the field since it is just returned based on the employee id of the person entering time . but by setting it to be read-only it will only render a single value which is what we need.MY CUSTOM PACKAGE and has the following specification: FUNCTION get payroll code (p resource id NUMBER ) RETURN VARCHAR2.7.call the payroll code function. lets create a wrapper function which will call it and return the code in the correct format. -BEGIN --.7. 51 .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.resource id to a number as needed by that interface. So our current tasks for this implementation are: • Create AK data for the component prompt • Create wrapper PL/SQL function to call the payroll code function and return it in the format needed for the package choice list • Create the component to show the label for our custom field and add it to the layout • Create the component to show the read-only function result and add it to the layout 3. and also to allow for additional coding if needed. -l payroll code := my custom package. but it does not matter what the value is . making sure to convert the -.get payroll code (to number(p resource id)).the function used by the package choice list does need to return an id value.we can just specify a dummy value. now return the result in the correct format just using a dummy -.id -RETURN ’1’ || l payroll code. END get display payroll code. updates to the region and attribute code to point to the new prompt we created earlier.Payroll Code" OWNER = "ORACLE" 52 . 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. and the sequence set to the number we decided on.3 Create the component to show the label for our custom field and add it to the layout So first of all. 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. 3.--.Header Field Table Layout Component" LAST UPDATE DATE = "2004/05/23" BEGIN HXC LAYOUT COMP QUALIFIERS "Custom Field .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 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.Payroll Code" OWNER = "ORACLE" SEQUENCE = "105" COMPONENT DEFINITION = "PACKAGE CHOICE LIST" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout . 3.7.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 . lets consider what sequence we will need to use for our component.7. To add our new component will need two new items added inbetween these numbers. we make the following changes: BEGIN HXC LAYOUT COMPONENTS "Custom Field . 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 .QUALIFIER ATTRIBUTE CATEGORY = "PACKAGE CHOICE LIST" QUALIFIER ATTRIBUTE1 = "MY CUSTOM CODE.get display payroll code" QUALIFIER ATTRIBUTE2 = "@RESOURCE IDENTIFIER ID" QUALIFIER ATTRIBUTE4 = "N" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE30 = "Y" LAST UPDATE DATE = "2004/05/23" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS 3.8 Adding a Component to the Timecard Matrix The part of the layout that renders the timecard matrix for the Projects Timecard layout can be seen below: BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout .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 .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 .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 . System Linkage Function" OWNER = "ORACLE" COMPONENT VALUE = "SYSTEMLINKAGEFUNCTION" SEQUENCE = "200" COMPONENT DEFINITION = "HIDDEN FIELD" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout .LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout .Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout .System Linkage Function" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "HIDDEN FIELD" QUALIFIER ATTRIBUTE18 = "EXCLUDE" QUALIFIER ATTRIBUTE19 = "|CSV|" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE23 = "FORM" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "PROJECTS" QUALIFIER ATTRIBUTE27 = "Attribute5" QUALIFIER ATTRIBUTE28 = "SYSLINKFUNC" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout .Measure" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "TEXT FIELD" QUALIFIER ATTRIBUTE1 = "N" QUALIFIER ATTRIBUTE2 = "N" QUALIFIER ATTRIBUTE3 = "5" QUALIFIER ATTRIBUTE4 = "1" QUALIFIER ATTRIBUTE6 = "OraTableCellNumberBand" QUALIFIER ATTRIBUTE7 = "OraTableCellNumber" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "N" QUALIFIER ATTRIBUTE25 = "TIME BUILDING BLOCK ATTRIBUTE" QUALIFIER ATTRIBUTE27 = "Measure" QUALIFIER ATTRIBUTE28 = "Measure" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout .Project" 55 . apps.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 .Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout .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 .hxc.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 .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.selfservice.timecard. apps.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 .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.selfservice.server.hxc.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 .Expenditure Type" OWNER = "ORACLE" COMPONENT VALUE = "EXPENDITURETYPE" REGION CODE = "HXC CUI TIMECARD" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC TIMECARD EXPTYPE" 57 .PARENT COMPONENT = "Projects Timecard Layout .timecard. ExpenditureType2LOVVO" QUALIFIER ATTRIBUTE11 = "TIMECARD BIND END DATE|TIMECARD BIND END DATE|TIMECARD BIND START DATE| TIMECARD BIND END DATE|TIMECARD BIND END DATE|TIMECARD BIND START DATE" QUALIFIER ATTRIBUTE17 = "OraTableCellText" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "PROJECTS" QUALIFIER ATTRIBUTE27 = "Attribute3" QUALIFIER ATTRIBUTE28 = "EXPTYPE" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout .Delete button" OWNER = "ORACLE" REGION CODE = "HXC CUI TIMECARD" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC TIMECARD DELETE" ATTRIBUTE CODE APP SHORT NAME = "HXC" SEQUENCE = "240" COMPONENT DEFINITION = "SUBMIT ICON" RENDER TYPE = "WEB" 58 .apps.timecard.selfservice.Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout .server.Expenditure Type" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "LOV" QUALIFIER ATTRIBUTE1 = "ExpenditureType2LOVVO" QUALIFIER ATTRIBUTE2 = "N" QUALIFIER ATTRIBUTE3 = "HXC CUI EXPTYPE2 LOV" QUALIFIER ATTRIBUTE4 = "809" QUALIFIER ATTRIBUTE5 = "12" QUALIFIER ATTRIBUTE6 = "HxcCuiExptypeDispColumn|EXPTYPE-DISPLAY|CRITERIA|N|HxcCuiExptypeExpType|EXPTYPE|RESULT| N|HxcCuiExptypeDispColumn|EXPTYPE-DISPLAY|RESULT|N|HxcCuiExptypeSysLinkFunc| SYSLINKFUNC|RESULT|N" QUALIFIER ATTRIBUTE7 = "SYSLINKFUNC|SystemLinkageFunction" QUALIFIER ATTRIBUTE8 = "DisplayColumn" QUALIFIER ATTRIBUTE9 = "ExpenditureType" QUALIFIER ATTRIBUTE10 = "oracle.hxc.ATTRIBUTE CODE APP SHORT NAME = "HXC" SEQUENCE = "230" COMPONENT DEFINITION = "LOV" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout . Details button" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "SUBMIT ICON" QUALIFIER ATTRIBUTE1 = "details" QUALIFIER ATTRIBUTE2 = "detailsicon enabled.PARENT COMPONENT = "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 .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 .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 .Delete button" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "SUBMIT ICON" QUALIFIER ATTRIBUTE1 = "delete" QUALIFIER ATTRIBUTE2 = "deleteicon enabled.Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "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 . For this example.END HXC LAYOUT COMPONENTS In order to add a component to the timecard matrix we first need to create the component. Next we need to identify the parts of the new component definition 60 .selfservice.timecard.hxc.server. let’s use the component from the Alternate Name component section of the document. for this example lets put it to the right of the expenditure type field. using a sequence of 235.Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/04" BEGIN HXC LAYOUT COMP QUALIFIERS "My Timecard Layout .apps.ExpType PriceType" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "LOV" QUALIFIER ATTRIBUTE1 = "AlternateNameItem1VO" QUALIFIER ATTRIBUTE2 = "N" QUALIFIER ATTRIBUTE3 = "HXC CUI ALIAS ITEM1 LOV" QUALIFIER ATTRIBUTE4 = "809" QUALIFIER ATTRIBUTE5 = "5" QUALIFIER ATTRIBUTE6 = "HxcCuiDisplayValue|ALIAS ITEM 1-DISPLAY|CRITERIA|N|HxcCuiValue|DUMMY|PASSIVE CRITERIA| N|HxcCuiValue|ALIAS ITEM 1|RESULT|N|HxcCuiDisplayValue|ALIAS ITEM 1-DISPLAY|RESULT|N" QUALIFIER ATTRIBUTE8 = "DisplayValue" QUALIFIER ATTRIBUTE9 = "Value#NUMBER" QUALIFIER ATTRIBUTE10 = "oracle.AlternateNameItem1VO" QUALIFIER ATTRIBUTE11 = ?XPENDITURE TYPE PRICE TYPE|TIMECARD BIND END DATE|TIMECARD BIND START DATE" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE24 = "EXPENDITURE TYPE PRICE TYPE" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "OTL ALIAS ITEM 1" QUALIFIER ATTRIBUTE27 = "Attribute1" QUALIFIER ATTRIBUTE28 = "ALIAS ITEM 1" LAST UPDATE DATE = "2004/05/04" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS In order to add this component to the layout we need to firstly consider where we want to place it. BEGIN HXC LAYOUT COMPONENTS " My Timecard Layout .ExpType PriceType" OWNER = "ORACLE" COMPONENT VALUE = "PA EXPTYPE PRICETYPE" REGION CODE = "PA CUI ALTERNATE NAME" REGION CODE APP SHORT NAME = "PA" ATTRIBUTE CODE = "PA EXPTYPE PRICE TYPE ALIAS" ATTRIBUTE CODE APP SHORT NAME = "PA" NAME VALUE STRING = "PA EXPTYPE PRICE TYPE ALIAS" SEQUENCE = "240" COMPONENT DEFINITION = "LOV" RENDER TYPE = "WEB" PARENT COMPONENT = "My Timecard Layout . In this case.Day Scope Building blocks for worker timecard matrix" Looking at the current layout the correct parent component for the matrix on our layout is: PARENT COMPONENT = "Projects Timecard Layout .ExpType PriceType" We should ensure the component name is unique and it is also a good idea to make it ’fit’ with the other items in the layout. we need to ensure it is referring to the timecard matrix as the parent component so it will be rendered in the correct place: PARENT COMPONENT = "My Timecard Layout .Custom Field .Custom Field . but to easier identify the field let’s change the name: BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout . BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout . we should update the qualifier name so it is the same as the component name.Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/04" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout .ExpType PriceType" Next line we need to change is the sequence: SEQUENCE = "240" In order to place this field to the right of the expenditure type field we decided on a sequence of 235.Custom Field .Custom Field .ExpType PriceType" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "LOV" QUALIFIER ATTRIBUTE1 = "AlternateNameItem1VO" 61 .ExpType PriceType" OWNER = "ORACLE" COMPONENT VALUE = "PA EXPTYPE PRICETYPE" REGION CODE = "PA CUI ALTERNATE NAME" REGION CODE APP SHORT NAME = "PA" ATTRIBUTE CODE = "PA EXPTYPE PRICE TYPE ALIAS" ATTRIBUTE CODE APP SHORT NAME = "PA" NAME VALUE STRING = "PA EXPTYPE PRICE TYPE ALIAS" SEQUENCE = "235" COMPONENT DEFINITION = "LOV" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout .we need to change in order to add it to our layout: BEGIN HXC LAYOUT COMPONENTS " My Timecard Layout .ExpType PriceType" And that’s it! So our new component definition that we merge into our layout in the right spot is: BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout . it is unique. so lets change it: SEQUENCE = "235" Next.Day Scope Building blocks for worker timecard matrix" Although not strictly needed. 9 Adding an OTL Information Type to the Timecard The OTL Timecard allows for the addition of data fields that are not specific to an Oracle Application.QUALIFIER ATTRIBUTE2 = "N" QUALIFIER ATTRIBUTE3 = "HXC CUI ALIAS ITEM1 LOV" QUALIFIER ATTRIBUTE4 = "809" QUALIFIER ATTRIBUTE5 = "5" QUALIFIER ATTRIBUTE6 = "HxcCuiDisplayValue|ALIAS ITEM 1-DISPLAY|CRITERIA|N|HxcCuiValue|DUMMY|PASSIVE CRITERIA| N|HxcCuiValue|ALIAS ITEM 1|RESULT|N|HxcCuiDisplayValue|ALIAS ITEM 1-DISPLAY|RESULT|N" QUALIFIER ATTRIBUTE8 = "DisplayValue" QUALIFIER ATTRIBUTE9 = "Value#NUMBER" QUALIFIER ATTRIBUTE10 = "oracle.AlternateNameItem1VO" QUALIFIER ATTRIBUTE11 = ?XPENDITURE TYPE PRICE TYPE|TIMECARD BIND END DATE|TIMECARD BIND START DATE" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE24 = "EXPENDITURE TYPE PRICE TYPE" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "OTL ALIAS ITEM 1" QUALIFIER ATTRIBUTE27 = "Attribute1" QUALIFIER ATTRIBUTE28 = "ALIAS ITEM 1" LAST UPDATE DATE = "2004/05/04" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS 3. 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.server.hxc.apps.selfservice.timecard. blank line (Context Code) ∗ ∗ ∗ ∗ ∗ ∗ Add a Name Add Segments Description Value Set (optional) Save the new Segments / Context Re-Freeze the DFF 62 . but are necessary for an individual company. The new input field may allow for ’Free Text’. Dummy Element Context. (E. Element Input Value with Sequence number 12.hxc. Add Company defined Choice Lists or LOVs based on information previously defined in sections 2. 13. or a user defined Choice List or List of Values (LOV) entries.##### defined in the OTL Information Types Descriptive Flex Field).7 and 2. The delivered Payroll and Exception layouts include an Alternate Name Hours Type component that reference an HR / Payroll Hours Type (Element). producing unexpected results on a configured timecard. An example of adding an Input Value defined as OTL Information Types. Defining user defined Choice Lists or LOV’s was previously described in sections 2.timecard. and Segment 12 for all elements 63 . 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.” was created using the view HXC CUI CUSTOM9 V. with Attribute 5 called ”Machine Type”. will then have Segment 12 for all ELEMENT .The new OTL Information Type is now available to be deposited with the self-service timecard. The OTL Information Types Element segments should be defined to a specific Segment value. 14. Drill. then the Generate Flex Mapping Process may define the input values to different segment values for different elements.apps. The view is referenced in the layout file as Custom9VO.8. or 15. with the extra input values validated and retrieved to BEE. specifically identifying the new information type on QUALIFIER ATTRIBUTE26 and QUALIFIER ATTRIBUTE27.If the sequence value is anything other than the 12-15.g. NOTE . since the configured layout references a specific segment in 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. The same segment may be defined for different elements input values if the Input Value’s sequence number is defined as 12. The timecard attribute then has the new component added to the layout as other components. etc. 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.8.selfservice. Lathe.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. with Dummy Element Context defined in QUALIFIER ATTRIBUTE26. The segments created are those defined in HR / Payroll as User enterable. A user defined choice list of ”Press.10 Adding additional element input values Extra Element Input values may be added to a configured Timecard.server.7 and 2. OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST" QUALIFIER ATTRIBUTE1 = "Custom9VO" QUALIFIER ATTRIBUTE4 = "N" QUALIFIER ATTRIBUTE8 = "DisplayValue" QUALIFIER ATTRIBUTE9 = "Value" QUALIFIER ATTRIBUTE10 = "oracle. as follows: ############################################################################ # Cost center choice list on the timecard matrix ############################################################################ BEGIN HXC LAYOUT COMPONENTS "Exception Timecard Layout .11 Configuring the Cost Center component The seeded Exception and Payroll timecard layouts include a Cost Center component.Custom9VO" QUALIFIER ATTRIBUTE17 = "OraTableCellText" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "Dummy Element Context" QUALIFIER ATTRIBUTE27 = "Attribute12" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS 3. which became Segment 12 when the Generate Flex Mapping Process was executed.timecard. Within the delivered OTL timecard LDT file.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 . OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST" QUALIFIER ATTRIBUTE1 = "Custom9VO" QUALIFIER ATTRIBUTE4 = "N" QUALIFIER ATTRIBUTE8 = "DisplayValue" QUALIFIER ATTRIBUTE9 = "Value" QUALIFIER ATTRIBUTE10 = "oracle. The view is referenced in the layout file as Custom9VO.Cost Center" OWNER = "CUSTOM" COMPONENT VALUE = "COSTCENTER" SEQUENCE = "120" COMPONENT DEFINITION = "CHOICE LIST" RENDER TYPE = "WEB" PARENT COMPONENT = "Exception Timecard Layout . 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. A user defined choice list of -50F to -40F.hxc.selfservice. -39F to -30F. through to +101F to +120F.apps. The Element Input Value was added as Sequence Value 12. was created using the view HXC CUI CUSTOM9 V. the cost center is referenced in the section marked ## Cost Center ##.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 For Example: For all Hours Types available to a user.server. there is an input value ’Day’s Temperature Range’ that a user enters on the timecard. server.Cost Center" OWNER = "CUSTOM" COMPONENT VALUE = "COSTCENTER" 65 . fnd flex value sets fvs where fv. fnd flex value sets fvs where fv.hxc.Cost Center" OWNER = "CUSTOM" QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST" QUALIFIER ATTRIBUTE1 = "CostCenterVO" QUALIFIER ATTRIBUTE4 = "N" QUALIFIER ATTRIBUTE10 = "oracle.flex value set id and fvs. • Create a View referencing the Independent Value set.flex value set id and fvs.flex value set id = fvs.value ) AS select flex value display value.apps. to char(flex value id) value from fnd flex values vl fv.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. 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 .timecard. Perform these steps: • Create the Independent Value Set. Review and Confirmation Pages with the following example component.BEGIN HXC LAYOUT COMP QUALIFIERS "Exception Timecard Layout .flex value||’-’||fv. such as OTL ACCOUNT. (In this example Custom Component 9.selfservice.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.) CREATE OR REPLACE FORCE VIEW HXC CUI CUSTOM9 V ( display value .DESCRIPTION display value. ############################################################################ # Cost center choice list on the timecard matrix ############################################################################ BEGIN HXC LAYOUT COMPONENTS "Exception Timecard Layout . flex value id value from fnd flex values vl fv.). • Set up values for OTL ACCOUNT.flex value set name = ’OTL ACCOUNT’ Modify the Cost Center section of the Layout.flex value set id = fvs. If you would like to display the Cost Segment value and the Description.value ) AS select fv. and using an OTL Custom Component. hxc. Define AK Attributes and Regions Items for the new segments. Ensure QUALIFIER ATTRIBUTE27 reflects the correct Cost Allocation Key FlexField 7.selfservice. to show after the 1st Cost Center segment 3. If you need to place additional Cost Center Segments on the Self Service Layout. • The view returns the independent value set.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 .SEQUENCE = "120" COMPONENT DEFINITION = "CHOICE LIST" RENDER TYPE = "WEB" PARENT COMPONENT = "Exception Timecard Layout . 66 .timecard. 4.LDT: 1.server. 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.e replace ”Exception Timecard Layout .Cost Center” with a unique name). you must make the following additional changes to the . 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.Cost Center" OWNER = "CUSTOM" QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST" QUALIFIER ATTRIBUTE1 = "Custom9VO" QUALIFIER ATTRIBUTE4 = "N" QUALIFIER ATTRIBUTE10 = "oracle. below.apps. Use a unique name for the new cost center segments (i.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. to display a Label other than Cost Center-see AK Items for the Labels on the Timecard. Ensure the View and VO numbers select the correct Value Set items 6. which calls the view created in step 3 (HXC CUI CUSTOM9 V). When the user clicks the Review button on the timecard. 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. 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.12 Adding OTLR Detail to the Review and Confirmation Pages With the March 2002 release of Oracle Time and Labor. This OTLR API passes back a set of detail time building blocks and attributes to the timecard. 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. The timecard will not display these blocks and attributes on the screen unless specified detail components are present in the layout. 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. NOTE: In addition to setting up the layout correctly. • Assign the employee to OTLR structures and policies • Set Autogen to Yes on the Assignment Time Information window 67 . the timecard review and confirmation pages can show the user-entered timecard data as if the OTL rules and policies had been applied.8. the timecard calls OTLR and applies the proper rules and policies to the entered time. Add the words Hours Explosion (exactly like that . The configurable UI will then recognize these components as requiring detail time information only. and therefore the DFF segments are well specified without any choice of timecard attribution. and will associate the detail time blocks and attributes with these components.g.g. Clearly. as they can on the details page. 3. 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. e. This ensures any attributes created by the OTL timecard have the correct building block information type id. Before attempting this implementation. which is bad now because the value ’Dummy Paexpitdff Context’ is unlikely to be a valid context in the expenditure items flexfield definition. changing the component names. An example HIDDEN FIELD component. However.g. ’PAEXPITDFF . e. and that the generic retrieval code component of OTL can find the data properly without modification. via a result item from an LOV (Hidden Field) 2. and can thus be found by the generic retrieval and will be sent to Projects correctly.g. QUALIFIER ATTRIBUTE26 must be ’Dummy Paexpitdff Context’ for any DFF component we add to the matrix.5/import/US directory. expenditure type). duplicate the usual TIME BUILDING BLOCK component that corresponds to the day matrix in the review and confirmation layout. 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.1 Creating the Detail Time Building Blocks in the Layout Within the layout definition file.GLOBAL’ or ’PAEXPITDFF .13 Adding the Details Page DFF Segments to the Timecard matrix If an implementation only has one PA DFF context.3. This ensures that the PA application understands what these attributes are. component qualifiers and sequences. 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.upper case for the first letter of each word. unless they use different timecard matrix lines that may require duplication of other timecard attribution (the same project.ldt and hxczzhxclayt0004. a component must exist in the layout definition supporting the attribute category ensuring proper function of the timecard and retrieval. Thus. if there is only one context this is unnecessary as there is only once choice for the context. 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. for use e. This means in the layout definition. and a space between the words) to the component name of all of the detail time components. we must set the attribute category attribute of the timecard attribute correctly. i. we must specify ’Dummy Paexpitdff Context’ and not the attribute category we want directly.g. by default the attribute category given to a timecard attribute is the same as the building block information type id. 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. • If existing timecards are opened within the new layout and different days have different DFF data.ST’. for a choice list or LOV (Hidden field) Note although we must include a component supporting the attribute category in the layout definition. This can be done in one of two ways: 1. lower case for all other letters. e.ldt and can be found in the $Appl TOP/hxc/11. these entries will now be split onto multiple timecard lines. then this is the only implementation choice. The filenames are hxczzhxclayt0028.12. Two examples are shipped with the product: Exception OTLR Details Review Layout and Payroll OTLR Details Review Layout. This may be confusing for users at first. the system linkage function or the expenditure type.1 Setting the Attribute Category The trick then. In all three cases. task. as a value coming from an Alias definition e. with a DFF structure that includes a choice appears: 68 . ’Global Data Elements’ or even just one specified context such as ’ST’. the user does not need to have any knowledge of the attribute category. however if the DFF fields only comprise free-text fields.13. note: • The user will not be able to specify different values for different days. 3. : (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. then the least obvious option for setting the attribute category is to use an OTL Alternate Name on one choice list segment. ’PA DFF ALTERNATE NAME’ context. Make sure the DFF Segment Value segment has the same value set as the corresponding segment in the PA Expenditure Items Flexfield definition.DFF Attribute Category" OWNER = "ORACLE" COMPONENT VALUE = "DFFATTRIBUTECATEGORY" SEQUENCE = "250" COMPONENT DEFINITION = "HIDDEN FIELD" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout .g. it is possible to set the attribute category from the custom LOV. e. This context will be used to generate the values in the alternate name definition form. which is likely preferable to the method described below. This ensures that when the alternate name is resolved by the timecard deposit code.Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout .Query for ’Expenditure Items’ DFF under Projects Application.2 Aliasing A Segment Value To Set The Attribute Category If the DFF context definition includes a choice list component.BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout . It is preferable. but will not show the value to the user.g. If the timecard layout has a custom LOV included in the layout. execute the following steps: A Navigate to Application Developer Responsibility . 69 .DFF Attribute Category" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "HIDDEN FIELD" QUALIFIER ATTRIBUTE18 = "EXCLUDE" QUALIFIER ATTRIBUTE19 = "|CSV|" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE23 = "FORM" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "Dummy Paexpitdff Context" QUALIFIER ATTRIBUTE27 = "AttributeCategory" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS Note: this will include the hidden field in the HTML form. with names.DFF segments form . This will ensure that you create only value alias values. Create at least two segments. and the timecard layout has no custom LOV included. To do this. because the additional set up for the alias definition is not required. the attribute category and the appropriate segment value are set properly. and create e.13. but the choice list approach is likely more common. 3. for each value you want the users to be able to pick for this segment value. e. Against the DFF attribute category segment choose the mapping component: ’Dummy Paexpitdff Context’ Save your work. create an alternate name entry against this alternate name definition.g.server. Freeze the flexfield definition and save your work. as: BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout . and then the context you created in step A. if you’re storing the segment value in attribute 5 in the PA DFF definition. Make sure both segments are required. under the same responsibility.g. C Next navigate to the Alternate Name Definition form. Provide some name for your alias definition.g. Save your work.’ prefix. **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 the same as the segment prompt in the PA definition. Make sure the alternate name definitions are enabled. but it is a good idea to fill this in anyway for reuse with timekeeper. Again.g. ’Activity’. Note: the alternate name translation engine adds the ’PAEXPITDFF . Typically you’d pick attribute1 for the segment value in the OTL Alternate Name attribute this mapping component tells the OTL Alternate Name translation engine where to put the value in the real (PAEXPITDFF) attribute. Alternate Name: ’Bicycling’ Date From: ’01-JAN-2000’ Date To: ¡null¿ Values (flex window opens) Segment Value: ’Bicycling’ Segment Context ’GLOBAL’. The ’Prompt’ field isn’t used on the self service timecard.DFF Attribute Category" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST" QUALIFIER ATTRIBUTE1 = "Custom1VO" QUALIFIER ATTRIBUTE4 = "N" QUALIFIER ATTRIBUTE10 = "oracle. Click in the lower block (under Attribute/Column Name) and the segments you created as part of this context will be auto populated. e. recall that the alternate name translation engine adds the required ’PAEXPITDFF . Enter ’OTL Alternate Name DFF Context’ against value set/context. so you should not include this in the segment or alternate value definitions. e.this avoids the need to type in the values in the alias definition page. PA DFF ALTERNATE NAME’. Save your work.Alternate Name DFF Activity" OWNER = "ORACLE" COMPONENT VALUE = "DFFALTNAMEACTIVITY" SEQUENCE = "260" COMPONENT DEFINITION = "CHOICE LIST" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout . D Now in the layout definition create the segment entry as the aliased value.’ prefix automatically on deposit.Custom1VO" 70 . and then pick the context name you created in step A against the ’Type Name’ field.timecard. Now. so this should not be included in the alternate name value definition.For the DFF Attribute Category segment.hxc.selfservice. provide some prompt. pick mapping component: ’PADFFAttribute5’.Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout . 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) . e.g.apps. B Navigate to the Alternate Name Mapping form under an OTL Application Developer responsibility. Against the DFF segment value column choose the dummy paexpitdff mapping component corresponding to the segment for this segment. e. If using more than one alternate name. hxc alias values b. you must specify the OTL Alternate Name context you created in Step A in qualifier attribute 24.alias value name. Once these six steps are complete.alias definition id and ad. create a preference node under the same parent node. This view ensures the right values are shown in the choice list.then associate the parent node containing both preferences to the user population via the appropriate preference resource rule.alias value id = b. value) as (select tl. 71 .e.QUALIFIER ATTRIBUTE17 = "NONE" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE24 = "PA DFF ALTERNATE NAME" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "OTL ALIAS 1" QUALIFIER ATTRIBUTE27 = "Attribute1" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS Note: It is very important to use Attribute1 and OTL ALIAS 1 in qualifier attribute 27 and 26. attaching the alternate name definition to the ’Timecard Alternate Names’ preference. b.alias value id and b. F Next create a preference node and resource rule.alias value id from hxc alias values tl tl. I.alias definition id = ad. respectively. Also.language = userenv(’LANG’) and tl. if in the layout you specified ’OTL ALIAS 3’ because 1 and 2 were used in the layout already. Also. or the alternate name translation engine can not work correctly. ensure that the number of the ’OTL ALIAS n’ context specified in the layout definition. and attach the layout definition containing the PA DFF components in the main timecard matrix . and the new PA DFF Alternate name is associated with the Timecard Alternate Name 3 segment. and it does this via the Custom1VO specified above. The supporting view definition would appear: create or replace force view HXC CUI CUSTOM1 V (display value. hxc alias definitions ad where tl. and the layout is uploaded the PA DFF segments will appear in the timecard matrix and will be populated correctly in the database. ensure this preference has the right values for alternate name 1 and 2.alias definition name = <Alternate Name Definition> ) / Where Alternate Name Definition is replaced with the quoted name provided for the alternate name definition in step C above. The choice list must fetch the alias values into the middle tier somehow. E Add the supporting view. matches the Timecard Alternate Name number in the preference. as: BEGIN HXC LAYOUT COMPONENTS "Projects Timecard Layout .apps. or if the DFF definition only contains free text field inputs.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. the term ’Global Extra Info’ will appear to the users. thus ensuring the value is properly recorded in the database without user intervention.13.timecard. instead of the component definition for attribute category above.DFF Attribute Category" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST" QUALIFIER ATTRIBUTE1 = "Custom1VO" QUALIFIER ATTRIBUTE4 = "Y" QUALIFIER ATTRIBUTE10 = "oracle.3.3 The Simple Approach: An Always-execute choice list If the alias value set up is considered too implementation intensive.selfservice. although not have them have to enter a value. it is always possible to expose the attribute category value to the user. but it will be auto-selected. we instead specify a choice list.DFF Attribute Category" OWNER = "ORACLE" COMPONENT VALUE = "DFFATTRIBUTECATEGORY" SEQUENCE = "250" COMPONENT DEFINITION = "CHOICE LIST" RENDER TYPE = "WEB" PARENT COMPONENT = "Projects Timecard Layout .i.server. it is only required on the timecard layout.Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Projects Timecard Layout . ’PAEXPITDFF . value) as (select ’Global Extra Info’. This can be done with an always-execute choice list component. HXC CUI CUSTOM1 V defined as: create or replace force view HXC CUI CUSTOM1 V (display value.GLOBAL’ from dual) / With this definition in place. and will be the only value selectable.hxc. This component can safely be excluded from all other layouts . 72 . So.e. Remember to ensure that qualifier attribute 26 is set to ’Dummy Paexpitdff Context’ and not the ’PAEXPITDFF’ prefix. 73 .13. Note: if you have used a segment to alias the attribute category.4 Other Segment Values Once the attribute category segment of the PA DFF attribute is properly set.3. you can simply add any other segment components to the layout definition as normal. do not include that same segment again in the layout definition. as in the example above or below. Create OTL Alternate Name mapping for the new data to determine where it is deposited. In a Projects and Payroll Layout.Expenditure Type ( Attribute 1) .ET EXPENDITURE TYPES. Freeze. Create AK data for the prompt. Load the ldt files using FNDLOAD.Flexfield . expenditure type is a combination of expenditure type. Segments .1 Modify delivered custom VO view to perform the required action.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.3. In order to render the combination of these values in a choice list we have to make use of Alternate Names. Figure 7: Defining New OTL Alternate Name Save.Segments Query on Title = OTL Alternate Names Context Code .14. Define a New OTL Alternate Names Type Descriptive Flexfield Context / Segment: Navigate to System Administration .Application . payroll element and system linkage function.Descriptive . Identifier (Attribute 3). Attach the layouts using the preference page.System Linkage ( Attribute 2). Modify the timecard layout ldt files to include the choice list component. This requirement of adding a choice list to the timecard matrix involves the following steps: => => => => => => 3. and Re-compile the Flexfield 74 . 2 Mapping the Segments/Attributes to respective components: Navigate to OTL Application Developer (responsibility used to administer OTL that includes the Alternate Names sub-menu .PA Expenditure Type System Linkage .Mapping Component Name Expenditure Type .Alternate Name Definition) Create an Alternate Name Definition for the Alternate Names and give description for Alternate Name Definition.Alternate Names .PA System Linkage Function Identifier .Expenditure Type for ET Time keepers Save the Definition. Attribute/Column Name . Alternate Name Definition ET EXPENDITURE TYPE Description .3.ID Expenditure Type Figure 8: Mapping Segements/Attributes to respective components 3.14.3 Creating Alternate Name for the Alternate Name Type ET EXPENDITURE TYPES: Navigate to OTL Application Developer (responsibility used to administer OTL that includes the Alternate Names sub-menu . 75 .14.Alternate Names . Select the Alternate Name Type for which Alternate Names are Creating.Alternate Name Mapping) Query on Type Name = ET EXPENDITURE TYPES Do the relevant Mapping Association for the Attributes. alias definition name = ’AUS Expenditure Type’) / 76 .Add Alternate Names: Alternate Name : Indirect Labor .alias definition id = ad. Direct Labor From Date : Date from which the Alternate name available for the Created Alternate Name Definition To Date : Expiry Date(Optional) Values : It is a descriptive flex field select the expenditure type. hxc alias values b.alias definition id and ad.language = userenv(’LANG’) and tl. Attach the Alternate Name Definition created to the preference node Self Service Timecard Alternate Name Set Defined for a User Figure 9: Preference Page 3.b.system linkage(ST/OT ) Select the Enabled check box.alias value id from hxc alias values tl tl.value) AS (select tl.alias value id and b. Attached to the preferences.alias value id = b.4 Create A Custom View and Define Layouts: Creation of Custom View: Create or replace force view HXC CUI CUSTOM1 V (display value. hxc alias definitions ad where tl.14.alias value name. timecard.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.selfservice.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 .Expenditure Type" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST" QUALIFIER ATTRIBUTE1 = "Custom1VO" QUALIFIER ATTRIBUTE4 = "N" QUALIFIER ATTRIBUTE8 = "DisplayValue" QUALIFIER ATTRIBUTE9 = "Value" QUALIFIER ATTRIBUTE10 = "oracle.lct . and display the Alternate Name component.hxc. The sample code has specific entries highlighted to emphasize the specific lines / entry. Altered the Layouts: BEGIN HXC LAYOUT COMPONENTS "B1 Projects Timecard Layout . NOTE ./layout.Define Layouts: The layout example section listed below were added to a copy of the delivered Projects Layouts layout set.Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2007/07/02" BEGIN HXC LAYOUT COMP QUALIFIERS "B1 Projects Timecard Layout . Examples of New Defined layout sections New Name section and Alternate Name sections Custom Views used in sample layouts.server.The following sections displayed are only a part of the entire layout (ldt) files.ldt 77 .apps. Load the ldt files using FNDLOAD command. Create AK data for the prompt. Define AK Region for the LOV and map the attributes define to Region as Region Items. Time Entry Page showing the expenditure type as a choice list: Figure 10: Time Entry Page 3. Run the migration script to copy the LOV definition from AK to MDS repository Bounce apache after the migration is done.15 Configuring Cost Center as a LOV in Payroll Layout Requirement: Configure Cost Center as an lov component on a payroll layout requires AK Region to be created for the LOV.Review and Confirmation Layout Page preference. Assuming this is the case adding a List of Values to the timecard matrix involves the following steps: => => => => => => => => => Modify the delivered custom VO view to perform the required action. Attach the layouts to the preference.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. Define AK Attributes which are to be displayed in the LOV. The following example will demonstrate how to add a new LOV component to the timecard matrix. 78 . This can be achieved by making use of custom VO delivered by OTL. Modify the timecard layout ldt files to include the custom LOV. 2 Create an AK region for rendering the LOV screen: Region ID: B1 CUSTOM LOV Region Name: B1 custom LOV Application Name: Time and Labor Engine Object Name: ICX PROMPTS Region Style: List of Values Application Module Definition Name: oracle. Complete the following fields: Attribute Type.3.hxc. Sequence. Attribute Name. Node Display.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. Complete the following fields: Attribute ID. Queryable. click on the Region Items button. Application.1 Create AK attributes used for the LOV screen : Use the Define Attributes window.selfservice.configui. Save the record. Figure 11: AK Region 3. you would need to create attributes for the fields: display value and value 3. query the region that you created in the previous step. Value Length.15.server. Using the AK Regions window. 79 .15.webui. and with that row selected.apps.LovAM Display Rows: 10 (or however many rows you want displayed in the LOV) Controller Object Type: oracle. Application. you would create the following region items inside the LOV region. Define attributes for each of the items that you need to show on the LOV page.LovCO Add Indexed Children: (checked) Leave all other fields blank or to their default value.configui.apps. So for our example. So in our example. which is available from the professional forms AK Developer responsibility. View Attribute Name. Style and Label and leave the other fields blank or at their default value. Attribute Name.selfservice.15. View Usage Name.Data Type.hxc. Creation of Custom View and Define Layouts: Run the migration script to copy the LOV definition from AK to the MDS repository exec hxc lov migration.15.Costcenter Value Id Sequence: 20 Node Display: Checked Queryable: Checked Item Name: CustomCostcenterValueId View Usage Name: Custom1VO View Attribute Name: Value Figure 12: AK Region items 3.p force => ’Y’ ). commit.p region app short name => ’HXC’ .migrate lov region (p region code => ’B1 CUSTOM LOV’ .Costcenter Value Sequence: 10 Node Display: Checked Queryable: Checked Item Name: CustomCostcenterValue View Usage Name: Custom1VO View Attribute Name: DisplayValue Attribute Type: Attribute Application: Time and Labor Engine Attribute Name: B1 Custom LOV . 80 .4 Migration of Ak Region to MDS Repository.Attribute Type: Attribute Application: Time and Labor Engine Attribute Name: B1 Custom LOV . Bounce Apache to reflect the changes made in the AK Region on selfservice page. to char(flex value id) value from fnd flex values vl fv.Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2007/07/12" BEGIN HXC LAYOUT COMP QUALIFIERS "B1 Payroll Timecard Layout . Create A Custom View : Create or Replace force view hxc cui custom1 v AS select flex value display value.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 .flex value set name = ’US#Cost Center’ and fv.apps.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 .selfservice. fnd flex value sets fvs where fv.server.flex value set id and fvs.timecard.flex value set id = fvs.enabled flag = ’Y / Customization the ldt file: BEGIN HXC LAYOUT COMPONENTS "B1 Payroll Timecard Layout .hxc.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. Attach the custom Timecard Layout to the preference node to reflect the changes.ldt The output log should be checked to ensure that there were no errors loading the layout.lct . Figure 13: Preference page Time entry page after modifying the cost center as an LOV.QUALIFIER ATTRIBUTE28 = "COSTCENTER" LAST UPDATE DATE = "2007/07/12" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS Load the layouts using FNDLOAD command: FNDLOAD username/password@dbname 0 Y UPLOAD $HXC TOP/patch/115/import/hxclaytlayoutsld. Figure 14: Time Entry Page 82 ./layout. 16 Adding Custom LOVs. => Attach the layouts to the Timecard Layout preference. => Load the ldt files using FNDLOAD command. => Define AK Region for the LOV and map the attributes defined to the Region as Region Items. the final timecard should look like this. After all the configuration is done. => Modify the timecard layout ldt files to include the 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. => Modify the delivered seeded custom VO view and create a new custom LOV VO view to perform the required action.3. => Execute the LOV migration script to copy the LOV definition from AK to MDS repository => Bounce apache. following is an outline of steps invovled: => Define AK Attributes which are to be displayed in the LOVs. Choice List and text field. Note: This is an example to explain the Timecard configuration steps only. choice list and text field. Figure 15: Configured Airlines Timecard 83 . => Add the AK Attribute codes to the AK region. => Create AK data for the prompts. Considering the above requirement. 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. Refer to section 3.The above timecard layout has been configured to capture Additional Element Input values that can be validated. The Additional Element Input Values are defined as follows : Source : Sequence 12 Destination : Sequence 13 Aircraft Model : Sequence 14 Total Passengers : Sequence 15 Figure 16: Additional Element Input Values 84 .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. deposited in time store and retrieved to BEE. 1 Create AK attributes: Navigate to AK Dev Responsibility .16.Define Attributes form and create the following Attributes Figure 17: AK Attributes Aircraft Type Choice list Attribute ID: HXC ART AIRCRAFT Attribute Name: Aircraft Type Application: Time and Labor Engine Data Type: Varchar2 Label: Aircraft Type Changing the Hours Type Prompt Attribute ID: HXC ART JOB TYPE Attribute Name: Job Type Application: Time and Labor Engine Data Type: Varchar2 Label: Job Type Flight Source LOV Prompt Attribute ID: HXC ART SOURCE Attribute Name: Flight Source Application: Time and Labor Engine Data Type: Varchar2 Label: Flight Source Flight Destination LOV Prompt Attribute ID: HXC ART DESTINATION Attribute Name: Flight Destination Application: Time and Labor Engine 85 .3. Data Type: Varchar2 Label: Flight Destination Flight Source LOV for city name Attribute ID: HXC ART SOURCE CITY NAME Attribute Name: Source City Name Application: Time and Labor Engine Data Type: Varchar2 Label: Source City Name Flight Destination LOV for city name Attribute ID: HXC ART DEST CITY NAME Attribute Name: Destination City Name Application: Time and Labor Engine Data Type: Varchar2 Label: Destination City Name Flight Destination LOV for Country Name Attribute ID: HXC ART DEST COUNTRY Attribute Name: Destination Country Name Application: Time and Labor Engine Data Type: Varchar2 Label: Destination Country Name Total Passengers text field Attribute ID: HXC ART PASSENGERS Attribute Name: Total Passengers Application: Time and Labor Engine Data Type: Varchar2 Label: Total Passengers and leave the other as per their default value. 86 . 303). Create view definition for Source and Destination city LOVs.3.Define Regions form and query for REGION ID = HXC CUI TIMECARD. 101).3 Create database views: Create view definition for AIRCRAFT TYPE choice list. create or replace view hxc cui custom1 v (display value. create table hxc aircraft models ( aircraft model VARCHAR2(30).2 Add Attributes to AK Region: Navigate to AK Responsibility . 505). values(’McDonnell-Douglas MD-11’. values(’Boeing 737’. values(’Airbus A380’.16. aircraft id NUMBER). values(’ATR 72’. insert insert insert insert insert into into into into into hxc hxc hxc hxc hxc aircraft aircraft aircraft aircraft aircraft models models models models models values(’Bell P-39 Airacobra’. 404). Click on Region Items button and add the attributes as shown in the following figure. value) as select aircraft model . 87 . Figure 18: Add Attributes 3. 202).16. aircraft id from hxc aircraft models. The remaning attributes that were created in the previous step would be added to the LOV region at a later stage. 3. lov1column5. values(’DURBAN’. insert insert insert insert insert into into into into into hxc hxc hxc hxc hxc city city city city city names names names names names values (’BANGALORE’. lov1column9. country name VARCHAR2(30) ). lov1column7. null. lov2column2. ’INDIA’). 555. lov2column6. lov1column2. Region ID: HXC ART SOURCE LOV Region Name: Configurable UI LOV 88 .16. null FROM hxc city names ). null. ’USA’). city id . values(’LONDON’. lov1column6. null. lov1column8. ’AUSTRALIA’). ’UK’). 444. null. lov1column10) AS (SELECT city name. null. lov2column9. lov1column3. values (’SYDNEY’. ’SOUTH AFRICA’).4 Create AK regions for rendering the LOVs: Navigate to AK Dev Responsibility . lov2column5. lov2column3. lov2column4. VIEW USED FOR THE SOURCE CITY NAME LOV CREATE OR REPLACE FORCE VIEW hxc cui custom lov1 v ( lov1column1. lov2column8. VIEW USED FOR THE DESTINATION CITY NAME LOV CREATE OR REPLACE FORCE VIEW XX cui custom lov2 v ( lov2column1. 111. lov2column10) AS (SELECT city name. null. 222. null. null. null. null. null FROM hxc city names ). 333. lov1column4. null. lov2column7.Define Regions form and create new LOV regions. city id NUMBER. city id . null. values(’WASHINGTON’.create table hxc city names ( city name VARCHAR2(30). null. country name. server.apps.apps. Save the record.configui.configui.hxc.hxc.webui.configui. Save the record.LovAM Display Rows: 10 (or however many rows you want displayed in the LOV) Controller Object Type: oracle.selfservice.server.LovCO Add Indexed Children: (checked) Leave all other fields blank or to their default value.hxc. Figure 19: LOV AK Region 89 . Region ID: HXC ART DEST LOV Region Name: Configurable UI LOV Application Name: Time and Labor Engine Object Name: ICX PROMPTS Region Style: List of Values Application Module Definition Name: oracle.selfservice.LovAM Display Rows: 10 (or however many rows you want displayed in the LOV) Controller Object Type: oracle.hxc.apps.selfservice.configui.webui.selfservice.apps.LovCO Add Indexed Children: (checked) Leave all other fields blank or to their default value.Application Name: Time and Labor Engine Object Name: ICX PROMPTS Region Style: List of Values Application Module Definition Name: oracle. 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. click on the Region Items button. you would create the following region items inside the HXC ART SOURCE LOV region. So in our example. query the region that you created in the previous step. 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 . and with that row selected.16. Using the AK Regions window. For the Source LOV.xml that is delivered in the seeded product. we make use of a new VO called XXDestLovVO that is not delivered in the seeded product.3. we make use of the seeded CustomLov1VO. 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. Figure 20: LOV AK Region items 91 . lov1column8. lov1column4. lov1column7.xml file as given below because we do not require the aliasdefintionid column in this example.xml : select lov1column1. lov1column2. lov1column4. lov1column3. lov2column6. lov2column5. lov1column10 from hxc cui custom lov1 v For the Destination City Name LOV. 92 .6 Setting up the Custom LOV xml and java files: For the Source City Name LOV. lov1column3. lov2column7.xml : select lov2column1. lov2column3. lov1column8. we reuse the delivered VO in $HXC TOP/java/selfservice/timecard/server/CustomLov1VO. lov1column6.xml : select lov1column1. lov1column2. lov2column2. lov1column9.xml Query in the XXDestLovVO. Actual query in the CustomLov1VO. lov1column10 from hxc cui custom lov1 v where aliasdefinitionid = :1 Modified Query in the CustomLov1VO. lov1column6. lov2column4. lov1column5.xml but with a customization.16. lov1column7. lov1column9. lov1column5. Step 1 : Create a new custom VO $HXC TOP/java/selfservice/timecard/server/XXDestLovVO. We have to modify the query in the CustomLov1VO.3. 7 Migration of Ak Region to MDS Repository: Run the migration script to copy the LOV definition from AK to the MDS repository exec hxc lov migration.hxc. exec hxc lov migration. 3.p force => ’Y’ ).xml and .p region app short name => ’HXC’ . lov2column9.selfservice.16.p force => ’Y’ ).lov2column8. 93 . </ViewUsage> <ViewUsage Name="XXDestLovVO" ViewObjectName="oracle.p region app short name => ’HXC’ .server. Step 2 : Add this newly created XXDestLovVO. the file would have details about this new custom VO which was just created.class files in the correct locations. lov2column10 from XX cui custom lov2 v and generate the XXDestLovVOImpl.migrate lov region (p region code => ’HXC ART DEST LOV’ .apps.migrate lov region (p region code => ’HXC ART SOURCE LOV’ . commit.timecard.xml to the Application Module $HXC TOP/java/selfservice/configui/server/LovAM.xml After adding this to the AM.XXDestLovVO" > </ViewUsage> Place these modified and compiled .java in the same location. Figure 21: Flight Source and Destination LOVs 94 . 9 LDT file customization to include choice list: BEGIN HXC LAYOUT COMPONENTS "Airways Payroll Timecard Layout .Aircraft Model" OWNER = "ORACLE" COMPONENT VALUE = "AIRCRAFT MODEL" REGION CODE = "HXC CUI TIMECARD" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC ART AIRCRAFT" 95 . 3.16.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 .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.Job Type" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "PACKAGE CHOICE LIST" QUALIFIER ATTRIBUTE1 = "HXC DEPOSIT WRAPPER UTILITIES.8 LDT file customization to change prompt from Hours Type to Job Type: BEGIN HXC LAYOUT COMPONENTS "Airlines Payroll Timecard Layout .Bounce Apache to reflect the changes made in the AK Region on selfservice page.16.Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Airlines Payroll Timecard Layout . Aircraft Model" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST" QUALIFIER ATTRIBUTE1 = "Custom1VO" QUALIFIER ATTRIBUTE4 = "N" QUALIFIER ATTRIBUTE8 = "DisplayValue" QUALIFIER ATTRIBUTE9 = "Value#NUMBER" QUALIFIER ATTRIBUTE10 = "oracle.timecard.server.hxc.apps.selfservice.Custom1VO" QUALIFIER ATTRIBUTE17 = "OraTableCellText" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "Dummy Element Context" QUALIFIER ATTRIBUTE27 = "Attribute14" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS 96 .Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Airways Payroll Timecard Layout .ATTRIBUTE CODE APP SHORT NAME = "HXC" SEQUENCE = "190" COMPONENT DEFINITION = "CHOICE LIST" RENDER TYPE = "WEB" PARENT COMPONENT = "Payroll Timecard Layout . timecard.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 .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 .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.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 .16.hxc.10 LDT file customization to include source and destination LOVs: BEGIN HXC LAYOUT COMPONENTS "Airlines 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 .server.selfservice.apps.3. 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 .timecard.selfservice.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 .hxc.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.server.apps. 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 . Attach the custom Timecard Layout to the preference node to reflect the changes.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.ldt The output log should be checked to ensure that there were no errors loading the layout.16./layout.3.11 LDT file customization to include text field: BEGIN HXC LAYOUT COMPONENTS "Airlines Payroll Timecard Layout .lct . 99 . => Attach the layouts to the Time card layout preference. Element Set and run Generate Flexfield and Mapping process for this Element set.17 Configure an Entry Level Processing Timecard Layout to capture Project. => Define Job and Location AK Attributes and map them to the AK region. The final timecard should look like this. and additionally capture Project. => Load the ldt files using FNDLOAD command. Task Id and Expenditure Type as segments to the Cost Allocation KFF. 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. Figure 22: Configured ELP Timecard 100 . This configuration involves the following steps: => Create an element with additional input values Job and Location.3. Task and Expenditure Type in Cost Allocation Key Flexfield segments so that the Projects information can be retrieved to BEE as well. Task Id and Expenditure Type in hidden field components which is stored in the Dummy Cost Context Attribute. => Define Element Link. => Modify the ELP layout ldt file to show Job and Location fields. => Add Project Id. => Modify the ELP timecard layout ldt files to populate Project Id. deposited in time store and retrieved to BEE. Task and Expenditure Type information in Cost Allocation KFF segments that can be validated. The Additional Element Input Values are defined as follows : Job : Sequence 12 Location : Sequence 13 Figure 23: Additional Element Input Values 101 .The above timecard layout has been configured to capture Additional Element Input values and also capture Project. 1 Create AK attributes: Navigate to AK Dev Responsibility . 102 .Define Attributes form and create the following Attributes Figure 24: AK Attributes Job Choice List Attribute ID: HXC TIMECARD JOB Attribute Name: Timecard Job Prompt Application: Time and Labor Engine Item Style: Text Data Type: Varchar2 Label: Job Location Choice List Attribute ID: HXC TIMECARD LOCATION Attribute Name: Timecard Location Prompt Application: Time and Labor Engine Item Style: Text Data Type: Varchar2 Label: Location and leave the other fields to their default value.3.17. 17.2 Add Attributes to AK Region: Navigate to AK Responsibility . Click on Region Items button and add the attributes as shown in the following figure. Figure 25: Add Attributes 103 .3.Define Regions form and query for REGION ID = HXC CUI TIMECARD. 3. create or replace view hxc cui custom1 v (display value.4 Add Project Id. job id from per jobs. value) as select name . Task Id and Expenditure Type segments to Cost Allocation KFF: Navigate to Key Flexfield Segments form and query for Title ”Cost Allocation Flexfield” and add the following segments to the appropriate context. Name : Project Id Name : Task Id Name : Expenditure Id Window Prompt : Project Id Window Prompt : Task Id Window Prompt : Column : SEGMENT11 Column : SEGMENT12 Column : SEGMENT13 Figure 26: Cost Allocation KFF Segments 104 Expenditure Id . Create view definition for LOCATION choice list.17.3 Create database views: Create view definition for JOB choice list.17. create or replace view hxc cui custom2 v (display value. state code from pay us states. 3. value) as select state name . 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 .timecard.hxc.server.5 LDT file hxczzhxclayt0025.17.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.selfservice.Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/24" 105 .3.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 .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 . hxc.timecard.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 .timecard.server.selfservice.17.hxc.CostCenter2VO" QUALIFIER ATTRIBUTE11 = "TIMECARD BIND END DATE|TIMECARD BIND END DATE" QUALIFIER ATTRIBUTE17 = "OraTableCellText" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" 106 .apps.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 .ldt customization to add Cost Center field: BEGIN HXC LAYOUT COMPONENTS "Demo ELP Proj-Pay Timecard Layout .BEGIN HXC LAYOUT COMP QUALIFIERS "Demo ELP Proj-Pay Timecard Layout .selfservice.6 LDT file hxczzhxclayt0025.Location" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "CHOICE LIST" QUALIFIER ATTRIBUTE1 = "Custom2VO" QUALIFIER ATTRIBUTE4 = "N" QUALIFIER ATTRIBUTE8 = "DisplayValue" QUALIFIER ATTRIBUTE9 = "Value#NUMBER" QUALIFIER ATTRIBUTE10 = "oracle.server.apps.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.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. QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "Dummy Cost Context" QUALIFIER ATTRIBUTE27 = "Attribute1" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS 3.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 .7 LDT file hxczzhxclayt0025.17.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 .ldt customization to map Project Information to Cost Allocation KFF: BEGIN HXC LAYOUT COMPONENTS "Demo ELP Proj-Pay Timecard Layout .server.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 .timecard.selfservice.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.hxc.apps. END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS "Demo ELP Proj-Pay Timecard Layout .Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/23" BEGIN HXC LAYOUT COMP PROMPTS "HxcCuiTaskProjectId" "AK PROMPT" OWNER = "ORACLE" 108 .Project Hidden" OWNER = "ORACLE" COMPONENT VALUE = "PROJECTID" SEQUENCE = "204" COMPONENT DEFINITION = "HIDDEN FIELD" RENDER TYPE = "WEB" PARENT COMPONENT = "ELP Proj-Pay Timecard Layout .Task" OWNER = "ORACLE" COMPONENT VALUE = "TASK" REGION CODE = "HXC CUI TIMECARD" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC TIMECARD TASK" ATTRIBUTE CODE APP SHORT NAME = "HXC" SEQUENCE = "206" COMPONENT DEFINITION = "LOV" RENDER TYPE = "WEB" PARENT COMPONENT = "ELP Proj-Pay Timecard Layout .Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/24" BEGIN HXC LAYOUT COMP QUALIFIERS "Demo ELP Proj-Pay Timecard Layout .Project Hidden" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "HIDDEN FIELD" QUALIFIER ATTRIBUTE18 = "EXCLUDE" QUALIFIER ATTRIBUTE19 = "|CSV|" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE23 = "FORM" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "Dummy Cost Context" QUALIFIER ATTRIBUTE27 = "Attribute11" QUALIFIER ATTRIBUTE28 = "PROJCAKF" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS "Demo ELP Proj-Pay Timecard Layout . Task Hidden" OWNER = "ORACLE" COMPONENT VALUE = "TASKID" SEQUENCE = "208" COMPONENT DEFINITION = "HIDDEN FIELD" RENDER TYPE = "WEB" PARENT COMPONENT = "ELP Proj-Pay Timecard Layout .apps.server.REGION CODE = "HXC CUI TIMECARD" REGION APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC TIMECARD PROJECT" ATTRIBUTE APP SHORT NAME = "HXC" LAST UPDATE DATE = "2004/05/23" END HXC LAYOUT COMP PROMPTS BEGIN HXC LAYOUT COMP QUALIFIERS "Demo ELP Proj-Pay Timecard Layout .Day Scope Building blocks for worker timecard matrix" LAST UPDATE DATE = "2004/05/24" 109 .selfservice.Task" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "LOV" QUALIFIER ATTRIBUTE1 = "TaskLOVVO" QUALIFIER ATTRIBUTE2 = "N" QUALIFIER ATTRIBUTE3 = "HXC CUI TASK LOV" QUALIFIER ATTRIBUTE4 = "809" QUALIFIER ATTRIBUTE5 = "12" QUALIFIER ATTRIBUTE6 = "HxcCuiTaskNumber|TASK-DISPLAY|CRITERIA|N|HxcCuiTaskProjectId|PROJECT|PASSIVE CRITERIA|Y| HxcCuiTaskId|TASK|RESULT|N|HxcCuiTaskNumber|TASK-DISPLAY|RESULT|N|HxcCuiTaskId|TASKCAKF|RESULT|N" QUALIFIER ATTRIBUTE8 = "TaskNumber" QUALIFIER ATTRIBUTE9 = "TaskId#NUMBER" QUALIFIER ATTRIBUTE10 = "oracle.TaskLOVVO" QUALIFIER ATTRIBUTE14 = "HxcCuiTaskProjectId|PROJECT|Y#HxcCuiTaskProjectNumber|PROJECT-DISPLAY|Y" QUALIFIER ATTRIBUTE15 = "project id = ::HxcCuiTaskProjectId#upper(project number) = upper(::HxcCuiTaskProjectNumber)" QUALIFIER ATTRIBUTE17 = "OraTableCellText" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "PROJECTS" QUALIFIER ATTRIBUTE27 = "Attribute2" QUALIFIER ATTRIBUTE28 = "TASK" LAST UPDATE DATE = "2004/05/23" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS "Demo ELP Proj-Pay Timecard Layout .hxc.timecard. Task Hidden" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "HIDDEN FIELD" QUALIFIER ATTRIBUTE18 = "EXCLUDE" QUALIFIER ATTRIBUTE19 = "|CSV|" QUALIFIER ATTRIBUTE20 = "N" QUALIFIER ATTRIBUTE21 = "Y" QUALIFIER ATTRIBUTE22 = "L" QUALIFIER ATTRIBUTE23 = "FORM" QUALIFIER ATTRIBUTE25 = "FLEX" QUALIFIER ATTRIBUTE26 = "Dummy Cost Context" QUALIFIER ATTRIBUTE27 = "Attribute12" QUALIFIER ATTRIBUTE28 = "TASKCAKF" LAST UPDATE DATE = "2004/05/24" END HXC LAYOUT COMP QUALIFIERS END HXC LAYOUT COMPONENTS BEGIN HXC LAYOUT COMPONENTS "Demo ELP Proj-Pay Timecard Layout .Expenditure Type" OWNER = "ORACLE" COMPONENT VALUE = "EXPENDITURETYPE" REGION CODE = "HXC CUI TIMECARD" REGION CODE APP SHORT NAME = "HXC" ATTRIBUTE CODE = "HXC TIMECARD EXPTYPE" ATTRIBUTE CODE APP SHORT NAME = "HXC" SEQUENCE = "210" COMPONENT DEFINITION = "LOV" RENDER TYPE = "WEB" PARENT COMPONENT = "ELP Proj-Pay Timecard Layout .selfservice.timecard.BEGIN HXC LAYOUT COMP QUALIFIERS "Demo ELP Proj-Pay Timecard Layout .apps.ExpenditureType2LOVVO" 110 .Expenditure Type" OWNER = "ORACLE" QUALIFIER ATTRIBUTE CATEGORY = "LOV" QUALIFIER ATTRIBUTE1 = "ExpenditureType2LOVVO" QUALIFIER ATTRIBUTE2 = "N" QUALIFIER ATTRIBUTE3 = "HXC CUI EXPTYPE2 LOV" QUALIFIER ATTRIBUTE4 = "809" QUALIFIER ATTRIBUTE5 = "12" QUALIFIER ATTRIBUTE6 = "HxcCuiExptypeDispColumn|EXPTYPE-DISPLAY|CRITERIA|N|HxcCuiExptypeExpType| EXPTYPE|RESULT|N|HxcCuiExptypeDispColumn|EXPTYPE-DISPLAY|RESULT|N|HxcCuiExptypeSysLinkFunc| SYSLINKFUNC|RESULT|N|HxcCuiExptypeExpType|EXPCAKF|RESULT|N" QUALIFIER ATTRIBUTE7 = "SYSLINKFUNC|SystemLinkageFunction" QUALIFIER ATTRIBUTE8 = "DisplayColumn" QUALIFIER ATTRIBUTE9 = "ExpenditureType" QUALIFIER ATTRIBUTE10 = "oracle.server.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 .hxc. /layout.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 .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.ldt 111 .lct .Expenditure Type Hidden" OWNER = "ORACLE" COMPONENT VALUE = "EXPENDITURETYPE" SEQUENCE = "212" COMPONENT DEFINITION = "HIDDEN FIELD" RENDER TYPE = "WEB" PARENT COMPONENT = "ELP Proj-Pay Timecard Layout . Figure 27: HXC TIME ATTRIBUTES table data 112 .8 Attributes data stored in database: When a user submits a timecard using this layout.17. Attribute12 and Attribute13 respectively as the Cost Allocation KFF is modified and the ldts are configured to store data in this format. Attach the custom Timecard Layout to the preference node to reflect the changes. Task Id and Expenditure Type in Attribute11. the HXC TIME ATTRIBUTES table stores data in the following format.The output log should be checked to ensure that there are no errors loading the layout. The row with Attribute Category ”Dummy Cost Context” stores the Project Id. 3. Figure 28: Cost Allocation KFF Segments in BEE 113 . Project.17. the Cost Allocation KFF segments will contain the Cost Center information.3. When the batch is queried in BEE and the Element Lines are seen.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. Taks and Expenditure Type Information entered in the timecard. 18 Confirmation Check box on Timecard review page for Time Accuracy A check box will be displayed on the timecard review page forcing the users to confirm Time entered for Accuracy.. Please note that this feature is available from R12. QUALIFIER ATTRIBUTE12 need to be set to ’Y’ for TOP level TIME BUILDING BLOCK component of the review layout only.3.HRMS. The Timecard Submit button will be enabled only when the checkbox is checked.RUP5 onwards. Use HXC MANDATORY TCD CHECK PROPMT messge associated via the standard FND MESSAGES infrastructure to display user or business specific message.Top Level Building Block" 114 . Please note that it does not have any PARENT COMPONENT associated to it.1. Additionally the message displayed next to check box can be configured. 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 . To enable this feature. This QUALIFIER ATTRIBUTE12 needs to be set for the component having the COMPONENT DEFINITION = ”TIME BUILDING BLOCK”. Figure 29: Confirmation Check box on Timecard review page for Time Accuracy eg. 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 . qualifiers are made to be global if they apply to a wide range of components. The outside direction setting controls which side of the timecard matrix attributes are shown. although that does not mean they actually have a use for all components. This section covers all the components that the OTL Configurable UI supports along with their qualifiers.Value is case sensitive Table 12: Component Tables Key 4. The global attributes are shown in table 13.this field should be used. 116 . 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.4 Technical Reference Guide 4. Attributes marked as for OTL Development Use Only should not be altered by customers unless you have been instructed to do so by OTL Development. Display modes can be used to remove or specifically include components in a particular layout context.1 Components Components are the visual items that build up an OTL layout file. although not necessarily used or supported . The INCLUDE setting means that the component will only be shown if the mode exists in qualifier 19. 2. the component will not be shown if the current display mode exists in qualifier 19. Applicable to the attributes on the timecard matrix only Applicable to specific components only Note .1 Global attributes Context: GLOBAL DATA ELEMENTS Description: Global attributes are present for all components. but inclusion here does not necessarily mean the component/qualifier is supported for use in customized layouts. Along with qualifiers specific to each component. Eg.this attribute has usually been implemented for a very specific purpose and should not be changed since it may have undesirable side-affects. and each component can have qualifiers which control various aspects of how the component behaves. Caution . Measure. Notes: 1. The key for the tables defined below is intended to act as a guide to the restricted components.1. An attribute is designated to be global if it applies to a significant number of components. Position is relative to the day level fields (ie. This is primarily targeted at the layouts that are re-used in different screens. By using the EXCLUDE setting. or the value not changed from that delivered. Many of the development only qualifiers are subject to change without notice and should not be changed. Table Entry D ! M * C Meaning OTL Development Use Only . there are also a number of global qualifiers which are settable for all components. start/stop time) and individual positioning either side will be determined by the sequence set for each component. The timecard entry layout is also used in the template create page. Required attribute(s) in bold.EXCLUDE (*) (C) 20 Display On New Line Y. STATIC * Oracle Development Use Only * * Oracle Development Use Only * Sets the read-only flag (D) (D) (*) Table 13: Global Attributes. 117 . TIMECARD ATTRIBUTE. READ-ONLY. CSV (Export). TIMECARD-SAVEFORLATER. CUI.R (M) The flex context for the data source The flex attribute for the data source A valid flex context (C) A valid attribute name within the flex context (C) 17 18 19 22 23 24 25 Render Type Display Modes Access Method 26 Context 27 View Object Attribute Component Alias Component Identifier Read Only 28 29 30 TIMECARD.N (D) L.No 16 Purpose Component Level Style Class Display Mode Flag Display Mode List Description Oracle Development Use Only CSS Style class The display mode for this component1 The display mode list used in conjunction with qualifier 18 Valid Values N/A Notes (D) (!) Any valid style class name INCLUDE. TIMECARDSAVETEMPLATE. REVIEW. TIME BUILDING BLOCK ATTRIBUTE. TIME BUILDING BLOCK. applicable to every component. TEMPLATE. REVIEW-REMOVE (D) (D) FLEX. N (D) (!) 21 Show Outside Building Block Outside Direction Force the component to be rendered in a new table cell .Development Use Only Determines whether or not a component should be shown outside the timecard matrix Determines which side of the timecard matrix the attribute will be shown2 * Oracle Development Use Only * * Oracle Development Use Only * Determines the access method for the data source Y. DETAILS-REMOVE. In general this qualifier should always be set to ’N’. or if support for more than 5 parameters is needed then the whole set can be defined in qualifier 1 using the format ’BIND1—BIND2—BIND3—etc’. In each of the bind qualifiers 1-5).2 Accrual Balance Component Context: ACCRUAL BALANCE Description: The Accrual Balance component has been added as an extra feature to our existing timecard entry screen to facilitate users to see the Paid Time-Off Accrual balances he is entitled to and also assists him in entering the absence hours. Enabling View Object caching should be used with caution. When in this mode. The display of this component is optional and is controlled via the preference ’Timecard allows display of Accrual Balances’.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. Notes: This component can be used in conjunction with the custom view object functionality provided with OTL. This component appears only in the Timecard Entry Screen and will not be available in Review and the Confirmation screens. This option is used to enable or disable prompt display . Other notes for qualifers described in the table: 1. This option forces the view object to execute even if there is no id . The configurable UI will not usually execute a query unless there is an ’ID’ stored for a field since. 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. or with new View Objects.4.1.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. For this component the display mode flag and the display mode list are configured to EXCLUDE and —TEMPLATE—CSV— respectively to ensure the component appears only in the Time-Entry Screen. The cache is based on the static criteria bound to the view object. 3. 118 . 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. By default this perference is set to ’No’ and hence the component will not appear in the TimeEntry Screen.3 Choice List Context:CHOICE LIST Description: This component can be used to display a choice list (also known as a poplist) on your layout. 2. See Application Modules for more information. the first row returned will be shown in the case of multiple matches. The list is based on a SQL query on a database object as defined in the attached View Object. View Object bind parameters can either be associated with the View Object one at a time (ie. Selecting the hyperlink will evaluate and display the accrual balances for the user. 4. The Accrual Balances are shown to the user through a show/hide hyperlink region and by default the component will be in hide state.1. 4. 5. This is a simple display component and all the display processing is done in the Java Component class. N (!) Y. 1 Purpose ViewObject Name 2 3 Cache Enabled Always Execute for Read Only 4 Show Prompt 5 8 Required Displayed Name 9 ID Attribute Name This is the name of the attribute in the View Object that should be used for the stored value of the field 10 View Object Class Full class reference of the view object for the component 11 Bind Variable #1 Parameter to bind to the view object5 12 Bind Variable #2 Parameter to bind to the view object5 13 Bind Variable #3 Parameter to bind to the view object5 14 Bind Variable #4 Parameter to bind to the view object5 15 Bind Variable #5 Parameter to bind to the view object5 Attribute Description This is the name of the view object that is attached to the choice list1 Enable the cache for the View Object2 Instructs the view object to perform the query associated even if there is no ID value stored.N Y.(!) (C) (C) (C) . Required Attribute(s) are displayed in bold. 119 Notes (C) (D).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.N Y.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.No. 4.1.4 Descriptive FlexField Context:DESCRIPTIVE FLEX Description: This component is used to render a descriptive FlexField onto the page. At the current time its use is limited to rendering the appropriate FlexField on the details page for each day. Notes:* Oracle Development Use Only * No. 1 Purpose FlexField Name Description Name of the descriptive FlexField 2 FlexField App Short Name Application short name of the descriptive FlexField (eg. HXC) 3 Default Context 4 Show Context List 5 Region Name The default selected context for the FlexField Flag to turn the context list for the FlexField on or off The region code for the page 6 Region ID The application id of the region for the page Application Valid Values A valid FlexField name. A valid short application code. A valid context Notes (D)(!) Y,N (D)(!) The correct region code A valid and correct application id (D) (D) Table 15: Descriptive flexfield component qualifing attributes. Required attribute(s) are displayed in bold. 120 4.1.5 Display Header Context:DISPLAY HEADER Description: This component is used to display a header on the layout. The header text is retrieved from the prompt data attached to the component. 4.1.6 Display Label Context:DISPLAY LABEL Description:This component is used to show a label on the layout. The label text is retrieved from the prompt data attached to the component. 4.1.7 Display Text Context:DISPLAY TEXT Description:This component is used to display a block of text on the page - it is intended for larger and usually multi-line sections of text (unlike the Display Label component which is intended for short label text). The source of text for the label is a standard Oracle Applications message. No. 1 Purpose Message Name Description The alias of the message to display (the alias links to a prompt object attached to the component which in turn points to an FND message) Valid Values Valid message alias name Notes Table 16: Display text component qualifing attributes. Required attribute(s) are displayed in bold. 4.1.8 Hidden Field Context:HIDDEN FIELD Description:The hidden field component is used to create a HTML form field, which is basically a non-visible form item which is submitted along with the page. The common use for this common in the OTL configurable UI is in conjunction with LOVs when the requirement is for the LOV criteria to populate multiple IDs to be submitted when a value is selected. 4.1.9 Hours Type Table Context:HOURSTYPE TABLE Description: This component is used to display the Hours Type table on the confirmation pages of various layout sets. 4.1.10 Inter-Period Navigation Control Context: INTER PERIOD NAV CONTROL Description: This component is used to display the inter-period navigation choice list and ’go’ button on timecard entry layouts. Notes: Oracle Development Use Only No. 1 Purpose Show Prompt Description Flag to determine whether or not the component should render its own prompt Valid Values Y,N Notes (D) Table 17: Inter Period Navigational Control component qualifing attributes. Required attribute(s) are displayed in bold. 121 4.1.11 Key Notation Context: KEY NOTATION Description: This component is used to control the display of some page key message such as the one for required fields. Notes: Oracle Development Use Only No. 1 Purpose Show Required Key Description Show required field message Valid Values Y,N Notes (D) Table 18: Key notation component qualifing attributes. Required attribute(s) are displayed in bold. 4.1.12 List Of Values Context: LOV Description: This component is used to display a List-of-Values (LOV) component on a timecard layout. Various criteria can be set up to dynamically configure both the value available (based on other fields) as well as the fields that will be populated when a result is selected from the list. This component is best suited for scenarios when a field has many possible values (since the data does not need to be included in the page, and the query fires only when the user does a search and Is often restricted further to improve performance), or if there is a requirement for multiple fields to be populated, or the field to be restricted by other values the user has entered on the page. Notes: 1. if using a new View Object that you have defined please ensure the application module name and class are also specified so that the object can be referenced correctly. See Application Modules for more information. 2. Enabling View Object caching should be used with caution. The cache is based on the static criteria bound to the view object, but in many views there are dynamic criteria referenced from global variables or profiles that may mean the same bind parameters may not result in the same set of data. In general this qualifier should always be set to ’N’. 3. The qualifiers still reference the AK region name and application ID for backwards compatibility, but the LOV region must be migrated to the MDS repository. 4. The display width is set as the width on the HTML component produced by the configurable UI. Depending on your font settings the number of characters that can be displayed for a given field width can vary. 5. This qualifier is used to set up the criteria used for the LOV. It is a tokenized string consisting of 4 items per criteria, each separated by a pipe symbol ’—’.Note: when a LOV component is rendered by the configurable UI it will actually render two components. One contains the actual ID that is submitted and saved with the timecard (this component can be referred to by the alias given to the LOV component in the layout definition). This ID component is rendered on the page as a hidden field and the ID value in the LOV should be returned to it.The other field that is rendered is the actual text field that can be seen on the page. This field contains the ’display’ value for the LOV. This field has an implicit alias given to it of the base alias name followed by ’-DISPLAY’. This alias should also be populated as a result of the LOV. Bear in mind that if you create other fields on the screen that are dependant on the ID of a field, then you should also take into account the ’display’ value to cover the scenario where a user is manually entering values into the LOV text fields (in this scenario the ID fields will not be populated). 6. If your LOV needs to populate additional columns from the query (eg. If one of the displayed fields has a composite primary key and both fields need to be populated) then this qualifier can be used. This qualifier is used in conjunction with the LOV result criteria - if the LOV is used on a page, then the additional results should be populated with that. This qualifier is used in the cases when the LOV does not fire (and so the additional columns would not be populated usually). When the SQL query is performed for the LOV this qualifier will be checked and additional results will be populated based on its contents. The format of this qualifier is: ¡Component Alias¿—¡View Object Attribute¿. Where ¡Component Alias¿ is the name of the component being used to store the value (usually a hidden field component), and ¡View Object Attribute¿ is the name of the view object attribute that the column should be populated from. For example, the System Linkage Function is returned as a result of the Expenditure 122 Type query. Note that the in page population of result fields is handled in qualifier attribute6 as stated above - this qualifier is used for the case when the LOV functionality is not used on the screen and a value is entered manually. In this scenario, when the page is submitted, the query for the LOV will be executed with the manually entered value and if a unique result is found the ’result’ columns will be populated using the attribute in the VO specified by this qualifier. To allow multiple result columns to be specified, this qualifier is a token separated string consisting of ’ALIAS—View Object Attribute Name’ pairs. So for example, if you have a query and wish the component aliased as ’PROJECT’ to contain the value from the ’ProjectId’ column in the VO, and the component aliased as ’PROJECTCODE’ to contain the value from the ’ProjectCode’ column in the VO, the qualifier would be: QUALIFIER ATTRIBUTE7 = ”PROJECT—ProjectId—PROJECTCODE—ProjectCode” 7. View Object bind parameters can either be associated with the View Object one at a time (ie. In each of the bind qualifiers 1-5), or if support for more than 5 parameters is needed then the whole set can be defined in qualifier 1 using the format ’BIND1—BIND2—BIND3—etc’. 8. If your LOV is dependant on the value of another field, then qualifiers 14 and 15 can be used to restrict the choices available in the list based on that value. These settings are also used to ensure that the correct results are returned from queries on the field. Qualifier 14 contains the mappings between items in the LOV and aliases in the timecard for the purposes of building the query clause at runtime. There is a third value which is used to specify if this mapping is also to be used when the LOV is built - in most cases this will be set to Y, but may be set to N in cases where the appropriate values are being passed into the LOV code using the criteria. The value for this qualifier is a double token separated list - for each dependent item there is a tokenized string in the form ’Lov Item Name—Alias—Use in LOV’. If there is more than one dependent item more can be added, separating each one with a hash ’#’ - i.e. ’Item1—ALIAS1—Y#Item2—ALIAS2—Y’ Qualifier 15 is linked to the dependent item list qualifier outlined above. The value for this qualifier is also a token separated string and contains the fragments of SQL to be added to the where clause if a value for the dependent item exists. There should be one entry on this list for each of the dependent items specified in qualifier 14 - each of the entries is separated by a hash sign ’#’. In order to reference the value of the dependent item, you can prefix the LOV item name with two colons. For example ’my column = ::Item1’. Note that for LOVs the displayed value is implicitly added to the where clause using UPPER to make it case-insensitive. See the LOV and JRAD/MDS and example section for additional information about LOVs. 123 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.No 1 Purpose View Object name 2 3 Cache Enabled LOV AK Region Code LOV AK Region Application ID Display Width LOV Criteria 4 5 6 7 8 Result Column Mappings Displayed Attribute Name 9 ID Attribute Name 10 View Object Class 11 12 13 14 Bind Variable #1 Bind Variable #2 Bind Variable #3 Dependant Item List 15 Dependant Item Where Clause Description This is the name of the view object that is attached to the LOV1 Cache the View Object?2 AK region that defines the LOV page3 Application ID of the AK region that defines the LOV page Display width of the LOV field4 LOV criteria .N Valid AK LOV region (D)(!) Application ID for the AK LOV region specified Numeric Valid Criteria String5 (C) A valid attribute name in the view object for the component (C) A valid attribute name in the view object for the component (C) A valid view object reference Valid bind parameter Valid bind parameter Valid bind parameter (C) Table 19: List of Values component qualifing attributes.this controls what values the LOV is restricted by. 124 (C) (C) (C) . Required attribute(s) are displayed in bold. 14 Notification Day Detail Context:NOTIFICATION DAY DETAIL Description:This component is used to display the day detail in notification layouts. Notes:Development Use Only No. which is used to render page controls and messages. Other notes from the qualifier table are: 1. When in this mode. This option forces the view object to execute even if there is no id .16 Page Status Context: PAGE STATUS Description:This shows a standard Oracle Applications framework page status component. The type of dialog and FND message to use for the text is defined in the qualifiers. 1 Purpose Type Description Type of dialog to display 2 Text Message Name 3 Display at the Top of the Page The alias of the message to display (the alias links to a prompt object attached to the component which in turn points to an FND message) Flag as to whether or not this dialog will be shown in the page status region at the top of the page Valid Values ERROR. Notes:See Package Choice List in the Configuration Concepts section for more information. 2. WARNING.15 Package Choice List Context:PACKAGE CHOICE LIST Description:This component is used to display a choice list on a layout that is based on the result of a PL/SQL function call rather than the traditional SQL query.4. Notes:Oracle Development Use Only 125 . In general this qualifier should always be set to ’N’. 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. the first row returned will be shown in the case of multiple matches. INFORMATION Valid message alias name Notes Y. 4.1. Currently only one instance of a Package Choice List component can exist on a Self-Service page. The cache is based on the static criteria bound to the view object.N Table 20: Message Box component qualifing attributes.1. Required attribute(s) are displayed in bold. 4. Notes:Development Use Only 4.1.13 Message Box Context:MESSAGE BOX Description:This component displays an imbedded message dialog on the timecard page.1. The configurable UI will not usually execute a query unless there is an ’ID’ stored for a field since. Enabling View Object caching should be used with caution.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. 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.N (D)(!) Table 21: Package Choice List component qualifing attributes.1.N Y.No. 1 Purpose Text Instruction 2 Required Field Description Text instruction to include in the page status component Controls whether or not the required field component is displayed Valid Values Notes (D) Y. 4.2 Valid Values Notes (!) Y. 1 Purpose Spacer Type Description The orientation of the spacer 2 Spacer Size The size of the spacer (in pixels) Valid Values VERTICAL. Required attribute(s) are displayed in bold. 4.N (D) Table 22: Page Status component qualifing attributes. 126 . Notes: No. 1 Purpose Function Call 2 Parameter List 3 4 Cache Enabled Show Prompt 5 6 Required Always Execute for Read Only Description Function call for the package choice list (in package.1.18 Submit Button Context:SUBMIT BUTTON Description:This component creates a submit button on the page. No. HORIZONTAL Numeric Notes Table 23: Spacer component qualifing attributes. Notes: Oracle Internal Development Use Only.17 Spacer Context:SPACER Description:This component can be used to add extra white space between components on the page.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. Notes: Oracle Internal Development Use Only. Required attribute(s) are displayed in bold.1. 4. Required attribute(s) are displayed in bold.N Y. 4.1. ENABLED (D) (D) Table 25: Submit Icon component qualifing attributes.20 Summary Table Context:SUMMARY TABLE Description: Used to display the CLA summary table on a timecard layout. No. moving to a new row once the column count has been reached. Required attribute(s) are displayed in bold. Notes: 1.1. achieving the desired layout and ensuring correct alignment of fields. Using the sequence order the component will display each child in a new table cell. No. It is primarily used for formatting of screens. 1 Purpose Submit Action 2 Enabled Icon 3 Disabled Icon 4 Show When abled? Default Value 5 Dis- Description The form action parameter (used to identify what submit button has been used) The icon to display when the button is enabled The icon to display when the button is disabled Flag to determine if the disabled icon should be shown The default state of the icon Valid Values Alphanumeric string Notes (D) Valid icon image Valid icon image (D) Y.N (D) DISABLED. 127 . Notes: Oracle Internal Development Use Only. 1 Purpose VO Name 2 Fully Qualified Name VO Description This is the name of the view object that is attached to the component (1) Full class reference of the view object for the component Valid Values Valid view object name Notes (D)(C) A valid view object reference (D)(C) Table 26: Summary Table component qualifing attributes. 4.No. Required attribute(s) are displayed in bold. The table will render based on the number of columns and the child components attached to the table. Required attribute(s) are displayed in bold.21 Table Layout Context:TABLE LAYOUT Description: This component creates a HTML table layout based on any child components attached to it. 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. 25 Time Building Block Context:TIME BUILDING BLOCK Description: This component is used to control the rendering of the page based on timecard data. 128 . The display width is set as the width on the HTML component produced by the configurable UI. Notes: Oracle Internal Development Use Only 4. Notes: 1. 1 Purpose Show Prompt Description Flag to determine whether or not the component should render its own prompt Valid Values Y. The component consists of the prompt. 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.24 Timecard Fragmentation Cluster Context: TIMECARD FRAGMENTATION CLUSTER Description: This component is used to display a fragmented view of the timecard on layouts. Notes: Oracle Internal Development Use Only No. Required attribute(s) are displayed in bold.23 Text Field Context: TEXT FIELD Description: This component is used to display a text field component on the layout.22 Template Control Context:TEMPLATE CONTROL Description:This component is used to display the template control on the timecard entry page.N Notes (D) Table 28: Template Control component qualifing attributes. It is used to both control the data linking of the all of attributes.g. and also to render the timecard matrix. 4. Notes: Oracle Internal Development Only 4. 4.1.1. choice list containing the available templates.2 Tokens Table 31 displays the list of currently understood tokens. for use as bind parameters etc.1. 4. Depending on your font settings the number of characters that can be displayed for a given field width can vary. e. Required attribute(s) are displayed in bold. an overwrite checkbox (which can be turned off via preferences) and the submit button.No.1. 1 Purpose Show Label (Component) 2 Show Label (Parent Component) 3 4 Field Width Field Height 5 Maximum Length 6 CSS Class 7 Read-Only CSS Class Description Flag to determine whether or not the component should render its own prompt Flag to determine whether or not the parent component should render the prompt for the component Display width of the LOV field1 The height/number of lines to use for the text field The maximum length (in characters) to enforce for this field CSS Style class CSS Style class to use when the field is rendered in read-only mode Valid Values Y.2 HXC CUI TIMECARD REVIEW Region 4.3 HXC CUI TIMECARD CONFIRMATION Region 4.5 CUI Error Codes Codes in italics are internal development debugging messages and will not usually be seen. Required attribute(s) are displayed in bold.3 Seeded Prompts 4.No.4 Seeded Messages 4.3.N Numeric Numeric Numeric Any class Any class valid style name valid style name Table 29: Text Field component qualifing attributes. 4. 129 .3.3.1 HXC CUI TIMECARD Region 4.N Notes Y. V Notes (D)(!) D.N Y.N (D)(!) D. 1 Purpose Orientation 2 Grouping 3 4 Scope Building Block Number Show Horizontal Total 5 6 Show Vertical Total 7 Add Row Button 8 Recalculate Button 9 Delete Enabled 10 Building Block Alignment Building Block Display Style Show Confirmation Checkbox on Timecard Review page 11 12 Description Controls the orientation that the building block is rendered in Controls the way the building blocks are grouped Scope of the building block Not used Flag to determine if the horizontal total should be shown on the timecard matrix Flag to determine if the vertical total should be shown on the timecard matrix Flag to determine if the add row button should be shown on the timecard matrix Flag to determine if the calculate button should be shown on the timecard matrix Not used Valid Values H. Required attribute(s) are displayed in bold.N Table 30: Time Building Block component qualifing attributes.N Y. 130 .N Not used (D)(!) Controls the alignment of the table cells generated Not used Enable Confirmation Check on Timecard Review Page to confirm the Time Accuracy (D)(!) Y.N Y.No.T (D)(!) (D)(!) Y. this number along with the ID is the key needed to uniquely identify a timecard. The ID of the resource. The formatted start date of the timecard period. The formatted end date of the timecard period. Bind variables) The end date of the timecard period in canonical format . The persons name). Bind variables) The type of resource the timecard is for . The version number is incremented each time changes are made to a timecard.the primary use of this format is to pass the date in a standard character format (ie.the primary use of this format is to pass the date in a standard character format (ie.Name TIMECARD ID TIMECARD OVN TIMECARD START DATE TIMECARD END DATE TIMECARD BIND START DATE TIMECARD BIND END DATE RESOURCE IDENTIFIER TYPE RESOURCE IDENTIFIER NAME RESOURCE IDENTIFIER ID BUSINESS GROUP ID Description The ID of the timecard level building block for the current timecard . The business group ID for the resource . The start date of the timecard period in canonical format . Table 31: Currently recognized tokens 131 .primarily used for bind variables.this ID along with the version number is used to uniquely identify a timecard row.at the current time this will always be ’PERSON’. The name of the resource for the timecard (ie. The version number of the timecard . ) 132 .Code HXC APPR FRAG HEADER TITLE HXC CUI ADD ANOTHER ROW HXC HXC HXC HXC HXC HXC HXC CUI CUI CUI CUI CUI CUI CUI ALTERNATE NAME4 ALTERNATE NAME ITEM1 ALTERNATE NAME ITEM2 ALTERNATE NAME ITEM3 ALTERNATE NAME ITEM5 ANNUAL ACCRUAL APPR REJECT COMMENT HXC CUI CALCULATE HXC CUI COMMENTS LABEL HXC CUI HORIZONTAL TOTAL LABEL HXC HXC HXC HXC HXC HXC HXC HXC HXC CUI CUI CUI CUI CUI CUI CUI CUI CUI MONTHLY ACCRUAL TIMECARD APPR OVERRIDE TIMECARD AUDIT REASON TIMECARD COMMENTS TIMECARD FRAG BUTTON TIMECARD PERIOD TIMECARD WEEK STARTING TOTAL LABEL VERTICAL TOTAL HXC HOURSTYPE OVERTIME LABEL HXC HOURSTYPE REGULAR LABEL HXC HOURSTYPE TOTALHOURS LABEL HXC TEMPLATE LABEL HXC TEMPLATE SUBMIT BUTTON Name Approval Header Fragmentation Timecard Add Another Row Label Alternate Name Item 4 Label Alternate Name Item 1 Label Alternate Name Item 2 Label Alternate Name Item 3 Label Alternate Name Item 5 Label Annual Leave Balance Approval Rejection Comment Timecard Calculate Label Timecard Comments Export Label Timecard Horizontal Total Prompt Monthly Leave Balance Timecard Approver Override Reason Label Comments Approver Comments Timecard Period (days) Week Starting Timecard Total Label Timecard Vertical Total Prompt Timecard Hours Type Overtime Label Timecard Hours Type Regular Label Timecard Hours Type Total Hours Label CUI Template Label CUI Template Go Button Label Long Label Review Approver Comments: @RI NAME. @RA NUMBER Add Another Row Alternate Name Item 4 Alternate Name Item 1 Alternate Name Item 2 Alternate Name Item 3 Alternate Name Item 5 Annual Leave Balance Approver’s Comments: Calculate Comments Total Monthly Leave Balance Overriding Approver Reason Comments Approver Comments Timecard Period (days) Week Starting Total Total Premium Regular Total Hours Entered Template Go Table 32: Timecard region seeded prompts (Part 1. ) 133 . @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.Code HXC TIMECARD DELETE HXC TIMECARD DETAILS HXC TIMECARD DETAIL HEADER Name Apply to Selected label Audit Page Day Header Audit Page Date Entered Header Audit Page Hours Header Audit Page Reason Audit Page Comment Timecard Context List Prompt Timecard Cost Center Prompt Delete Label Details Label Timecard Details Header HXC TIMECARD DETAIL TITLE Timecard Detail Title HXC TIMECARD DUPLICATE HXC TIMECARD EXPTYPE HXC TIMECARD HEADER TITLE Duplicate Expenditure Type Timecard Header Title HXC TIMECARD HOURS TYPE HXC TIMECARD TIP TEXT Timecard Hours Type Prompt Measure Audit Page New Entry Audit Page Old Entry Timecard Period Go Button Label Timecard Period Label Project Quantity Timecard Save As Template Submit Button Timecard Save As Template Label Start Time Stop Time System Linkage Function Task Timecard Template Label Timecard Template Overwrite Label Timecard Template Submit Label Timecard Tip Text HXC TIMECARD TIP TITLE Timecard Tip Title HXC TIMECARD APPLY SELECTED HXC TIMECARD AUDIT DAY HXC TIMECARD AUDIT DTENTERED HXC HXC HXC HXC TIMECARD TIMECARD TIMECARD TIMECARD AUDIT HOURS AUDIT REASON COMMENT CONTEXTLIST HXC TIMECARD COST CENTER HXC HXC HXC HXC TIMECARD TIMECARD TIMECARD TIMECARD MEASURE NEW ENTRY OLD ENTRY PERIOD GO LABEL HXC HXC HXC HXC TIMECARD TIMECARD TIMECARD TIMECARD PERIOD LABEL PROJECT QUANTITY SAVE TEMPL BUTTON HXC TIMECARD SAVE TEMPL LABEL HXC HXC HXC HXC HXC HXC TIMECARD TIMECARD TIMECARD TIMECARD TIMECARD TIMECARD STARTTIME STOPTIME SYSLINKFUNC TASK TEMPLATE LABEL TEMPLATE OW LABEL HXC TIMECARD TEMPLATE SUBMIT Long Label Apply to Selected Day Date Entered Hours Reason Comment Context List Cost Center Delete Additional Details Additional Details: @RI NAME. @RA NUMBER Detail Information: @!DETAIL DAY HEADER Duplicate Type Time Entry: @RI NAME. Timecard Period Starting: @TIMECARD START DATE Table 33: Timecard region seeded prompts (Part 2. 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. Timecard Period @TIMECARD PERIOD LENGTH day(s) Week Starting Audit Summary Changed Entries Late Entries Hours Entered Table 34: Timecard Review region seeded prompts Code HXC TC AUDIT HEADER HXC TC CHANGE HEADER HXC TC CONF APPROVER LABEL HXC TC CONF HEADER HXC TC CONF HOURS ENT HEADER HXC TC CONF SUMMARY HEADER HXC TC CONF VAC BAL LABEL HXC TC LATE HEADER Name Audit Summary Header Audit Page Change Header Timecard Confirmation Approver Label Timecard Confirmation Header Timecard Confirmation Hours Entered Header Timecard Confirmation Summary Header Timecard Confirmation Vacation Balance Label Audit Page Late Header Long Label Audit Summary Changed Entries Approver Confirmation: @RI NAME. @RA NUMBER Hours Entered Summary Vacation Balance Table 35: Timecard Confirmation region seeded prompts 134 . Review: @RA NUMBER Time Detail @RI NAME. Time entries for the given timecard period have been submitted successfully. The timecard has been successfully saved as a template. You have entered duplicate time attributes. ¡b¿¡/b¿ Table 36: Seeded Timecard Messages 135 . Enter unique time attribution on each row.Message Name HXC SAVEFORLATER CONFIRM HXC SAVEASTEMPLATE CONFIRM HXC SUBMIT CONFIRMATION HXC 366216 DUP ATTR ENTRY HXC PROJECTS DETAIL TIP TEXT HXC TIMECARD TIP TEXT Message Text The timecard has been saved successfully. This is not currently supported. 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.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.confirm you have edited the layout correctly if this message is seen. 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 . Reload the layout to resolve this error.confirm the user has an employee attached Internal development code . The parent webbean reference for the component could not be found .Error Code CUI COMPONENT MESSAGE NOT FOUND CUI COMPONENT PROMPT NOT FOUND CUI COMPONENT PROPERTY NOT FOUND CUI INVALID RENDER METHOD CUI INVALID QUERY METHOD CUI NO COMPONENTS CUI NO LAYOUT FOUND CUI NO RESOURCE ID CUI NULL LAYOUT NAME CUI PARENT WEBBEAN NOT FOUND CUI PREF LAYOUT ID ERR CUI PREF LAYOUT ID NULL CUI UNKNOWN RENDER METHOD CUI UNKNOWN QUERY METHOD Meaning The message entity specified in the message alias on the component could not be found (check it exists and that the alias is correct).an incorrect render method for the configurable UI to use has been specified Internal development code -an incorrect query method to find the layout id has been specified Table 37: Configurable User Interface Error Codes 136 . but no components were found in it .the layout name is null. Internal development code .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 . 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 . there was a problem creating an application module The criteria specified for the LOV component are incomplete .Error Code DFF INCOMPLETE FLEX CONTEXT DFF NULL FLEX APP SHORT NAME DFF NULL FLEX NAME DFF NULL FLEX REGION NAME DFF NULL FLEX REGION APP ID DH NULL LABEL HOURS TYPE MULTI ROWS INPD NO RESOURCE ID LOV APP MODULE CREATE ERROR LOV INCOMPLETE CRITERIA LOV INCOMPLETE MAP LOV INVALID MAPPINGS LOV NULL REGION APP ID LOV NULL REGION CODE LOV NULL COMPONENT ALIAS LOV QUERY COLUMNS INVALID MB MESSAGE NOT FOUND MB NULL TEXT NULL DISPLAY LABEL TBB BB NUM NOT SET TC NO RESOURCE ID TF NULL NAME Meaning Internal development code .the flex context is missing or corrupt The FlexField application short name was not set for the descriptive flex component The FlexField name was not set for the descriptive flex component The region name was not set for the descriptive flex component The region application id was not set for the descriptive flex component The label for the display header component is not set Internal development code .the form field name for the text field component is null Table 38: Configurable User Interface Error Codes (Part 2) 137 .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 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) .the hours type query returned multiple rows Internal development code -resource ID was not available for the inter-period navigation control 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 .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 . and any custom objects such as View Objects and Application Modules • Full and detailed steps to reproduce the error In addition. 5. • If the issue is with a configured timecard then please include all of the layout files.in particular the level of the Oracle Applications Framework you are running along with any related patches you have applied.please include the full text when reporting errors).5 Troubleshooting and Frequently Asked Questions When reporting suspected bugs or issues with configuration using the OTL Configurable UI please ensure you include the following information: • A full java stack trace of the issue if applicable (if a generic framework error page is shown.1 FAQ 138 . • Details of your patch level . if you are using a customized timecard then please try and reproduce the error using the delivered timecard layouts if possible. click the link in the error message to see the full stack trace .