Saturday, December 21 2024

Header Ads

Task Name vs Long Task Name in Time and Labour and Project Management


When using Oracle Time and Labour for time entry together with Project Management you might run into the problem that your task names appear to be truncated within the timecard pages in Time and Labour. Also within several screens in Project Management this is happening.

Table PA_TASKS holds 2 columns to record the task name which you define in your project:
  • TASK_NAME which is a column of 20 characters
  • LONG_TASK_NAME which is a column of 240 characters
When maintaining your projects within forms the task entry fields are limited to enter names with more than 20 characters (to follow the TASK_NAME column). However when using Project Management there is a limit of 240 characters (which is the LONG_TASK_NAME). When maintaining your task structure Oracle truncates your long task name to 20 characters and records this in the TASK_NAME field and enters your longer task name in the LONG_TASK_NAME column.

Within several pages in Project Management however the TASK_NAME is displayed - hence the task name appears to be truncated. Also within your timecard in Time and Labour the column TASK_NAME is shown instead of the LONG_TASK_NAME.

Check below screen from the Task LOV in Oracle Time and Labour (using the concatenated task details timecard layout). The name of task 01 appears to be truncated.


After (quick) selecting your task the name is also truncated within the Time Entry screen.


The same will happen in the review and confirmation pages and in the approval workflow notification.

What we want in this case is to always show the long version of the task name so column LONG_TASK_NAME. To accomplish this we have to change 2 views which Oracle Time and Labour is using to render the timecard pages and LOV's. Changing these views is Oracle supported so you don't have to worry that Oracle won't help you if anything is wrong in your instance and Oracle notices the change in the views. Optionally you can alter the timecard layout by making the task field a little bit wider to fit the longer description of the task.
Please note that patches you apply related to PA or OTL may overwrite this customization so let a DBA exclude it or reapply the customization when needed.

First change that we need is a change in view PA_ONLINE_TASKS_V which is part of the APPS schema. Change the occurences of column TASK_NAME in this view into LONG_TASK_NAME. See below for the result.

CREATE OR REPLACE FORCE VIEW apps.pa_online_tasks_v
(project_id,
project_number,
task_id,
task_number,
task_name,
start_date,
completion_date,
chargeable_flag,
billable_flag,
org_id,
task_details
)
AS
   SELECT t.project_id, p.segment1 project_number, t.task_id, t.task_number,
          t.long_task_name, t.start_date, t.completion_date,
          t.chargeable_flag, t.billable_flag, imp.org_id,
          t.task_number || '-' || t.long_task_name task_details
     FROM pa_tasks t, pa_projects_all p, pa_implementations imp,
          pa_lookups lu
    WHERE lu.lookup_type = 'PA_TASKS_TO_DISPLAY'
      AND lu.lookup_code =
                         NVL (fnd_profile.VALUE ('PA_TASKS_DISPLAYED'), 'ALL')
      AND (   (lu.lookup_code = 'CHARGEABLE' AND t.chargeable_flag = 'Y')
           OR (lu.lookup_code = 'ALL')
           OR (    lu.lookup_code = 'LOWEST'
               AND pa_task_utils.check_child_exists (t.task_id) = 0
              )
          )
      AND (    p.project_id = t.project_id
           AND (imp.org_id = p.org_id OR t.allow_cross_charge_flag = 'Y'));


Next is a change in view HXC_BASE_PA_ONLINE_TASKS_V also part of the APPS schema. Again change occurences of TASK_NAME into LONG_TASK_NAME.

CREATE OR REPLACE FORCE VIEW apps.hxc_base_pa_online_tasks_v (task_number,
task_name,
task_id,
billable_flag,
project_id,
start_date,
completion_date,
chargeable_flag,
task_details
)
AS
   SELECT task_number, task_name, task_id, billable_flag, project_id,
          start_date, completion_date, chargeable_flag,
          task_number || '-' || long_task_name task_details
     FROM pa_tasks;


I didn't change the first occurence in the select statement as this was not needed. I was using the concatenated timecard layout which is using the task_details view column. If applicable you might need to change the first task_name also.

Optionally you can widen the field which holds the task within your timecard by changing the field width of the task column in your ldt file which represents your used timecard layout. Change QUALIFIER_ATTRIBUTE5 to a higher number of characters. You've also the option to do this directly in table HXC_LAYOUT_COMP_QUALIFIERS. In that case set column QUALIFIER_ATTRIBUTE5 to a higher number of characters for the layout component id that represents the task column. As an example find below UPDATE statement to widen the task name field to 30 characters.

UPDATE HXC_LAYOUT_COMP_QUALIFIERS
SET QUALIFIER_ATTRIBUTE5 = 30
WHERE
    LAYOUT_COMPONENT_ID = 5294;


When the above changes are done the full task name will appear within your timecard pages and LOV's.


Powered by Blogger.