Just to close in the loop, below is the query which runs at the backend when adding task to timesheet -
SELECT * FROM ( SELECT T.PRID AS TASK_ID
,T.PRNAME AS NAME
,T.PREXTERNALID AS UNIQUE_NAME
,T.PRSTART AS START_DATE
,T.PRFINISH AS FINISH_DATE
,T.PRSTATUS AS TASK_STATUS
,T.PRWBSSEQUENCE
,P.ID AS PROJECT_ID
,P.NAME AS PROJECT_NAME
,P.CODE AS PROJECT_UNIQUE_NAME
FROM INV_INVESTMENTS P, INV_PROJECTS PRJ, PRTEAM
, PRTASK T , (SELECT prtaskid, prresourceid FROM PRASSIGNMENT WHERE PRRESOURCEID=<ResourceID>) A
WHERE T.PRID = A.PRTASKID AND PRTEAM.PRRESOURCEID=<ResourceID>
AND PRTEAM.PRISOPEN <> 0
AND P.ID = PRTEAM.PRPROJECTID
AND P.IS_ACTIVE <> 0
AND PRJ.PRID = P.ID AND PRJ.IS_TEMPLATE = 0
AND P.IS_OPEN_FOR_TE <> 0 AND P.TRACK_MODE = 2
AND T.PRPROJECTID = P.ID
AND T.PRISMILESTONE = 0
AND T.PRISTASK <> 0
AND T.IS_OPEN_TE = 1 AND T.PRSTATUS <> 2 MINUS
SELECT T.PRID AS TASK_ID
,T.PRNAME AS NAME
,T.PREXTERNALID AS UNIQUE_NAME
,T.PRSTART AS START_DATE
,T.PRFINISH AS FINISH_DATE
,T.PRSTATUS AS TASK_STATUS
,T.PRWBSSEQUENCE
,P.ID AS PROJECT_ID
,P.NAME AS PROJECT_NAME
,P.CODE AS PROJECT_UNIQUE_NAME
FROM INV_INVESTMENTS P, INV_PROJECTS PRJ, PRTEAM
, PRTASK T , (SELECT prtaskid, prresourceid FROM PRASSIGNMENT WHERE PRRESOURCEID=<ResourceID>) A
WHERE T.PRID = A.PRTASKID AND PRTEAM.PRRESOURCEID=<ResourceID>
AND PRTEAM.PRISOPEN <> 0
AND P.ID = PRTEAM.PRPROJECTID
AND P.IS_ACTIVE <> 0
AND PRJ.PRID = P.ID AND PRJ.IS_TEMPLATE = 0
AND P.IS_OPEN_FOR_TE <> 0 AND P.TRACK_MODE = 2
AND T.PRPROJECTID = P.ID
AND T.PRISMILESTONE = 0
AND T.PRISTASK <> 0
AND T.IS_OPEN_TE = 1
AND (EXISTS
(SELECT PARENT.PRID FROM PRTASK PARENT
WHERE PARENT.PRPROJECTID = P.ID
AND PARENT.PRWBSSEQUENCE < T.PRWBSSEQUENCE
AND PARENT.WBS_NNBSEQ > T.PRWBSSEQUENCE
AND PARENT.IS_OPEN_TE = 0)
OR T.PRID IN
(SELECT DISTINCT A1.PRTASKID
FROM PRASSIGNMENT A1, PRTIMEENTRY TE1
WHERE TE1.PRASSIGNMENTID = A1.PRID
AND TE1.PRTIMESHEETID = <TimesheetId>)
) ) SORTABLE_DATA_SET ORDER BY PROJECT_NAME asc, PRWBSSEQUENCE asc;
Before running the query, you should perform the required checks on GUI, e.g. -
Project -
Open for time-entry
Track-mode = Clarity
Task -
Open for time-entry
Any parent tasks should also be open for time-entry
Resource -
Open for time-entry
Track-mode = Clarity
Should be assigned to the task, and from the assignment perspective (Application side > Resource > Resource Profile > Allocations ::: there is a time-entry check-mark, which should be checked)
NJ