Clarity: Leading or trailing space entered for unplanned task ID results in duplicate PREXTERNALID on PRTASK

Document ID : KB000020756
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

When using Create Task feature on timesheets to create an unplanned task on a project, if any space is entered as the first or last letter of the Task ID, Clarity takes out the space before storing the ID in the database.

When we try to create a second task with the same exact task ID, Clarity will not allow it, an error is shown stating task ID must be unique. However if the second task is created with the same Task ID as the first one but without the leading or trailing space (for instance, "task123" versus " task123"), the UI lets it pass, while storing the ID without the space into the database. This results in the same string being stored in PRTASK.PREXTERNALID.

When the project is opened in OWB, the tasks are shown with extension numbers added to their ID

Steps to Reproduce:

  1. On a timesheet click on Add Task
  2. On the Select Tasks page click on 'Create Task'
  3. On the Create Unplanned Task page select a project, enter Task Name such as "Test Task 123", enter Task ID such as "TestTask123", click Save and Return

    Figure 1

  4. Back on the timesheet, a task is created with the given name and ID. Query the PRTASK table, PREXTERNALID is saved as "TestTask123"
  5. Repeat step 1 through 3, you will encounter an error as expected saying task ID must be unique: PRJ-07006: Invalid or duplicate task ID. Task ID must be unique within a project.
  6. Repeat step 1 and step 2, on step 3, enter Task ID " TestTask123", which has a space at the very first letter, click Save and Return.

    Figure 2

    Expected: You should get an error saying Task ID must be unique, the second task is not saved
    Actual: You do not get an error, a second unplanned task is created on the project

    Figure 3

  7. Query the PRTASK records for these two tasks:
    select t.* from PRTASK t, INV_INVESTMENTS inv
    where t.prprojectid = inv.id
    and inv.name = 'enter project name'

    Figure 4

Solution:

WORKAROUND:
None

STATUS/RESOLUTION:
This issue is documented as CLRT-71438 and is being reviewed by Development for a resolution.

Keywords: CLARITYKB, CLRT-71438, clarity12open, clarity13open, PRNAME, Open Work Bench.