What determines timesheet population with Populate button, or Add Tasks button?
What is the algorithm for tasks to show on a timesheet and how to find out why they are not showing
Release: All Releases
Component: PPM Timesheets
From 16.0 on, the functionality in MUX has changed.
Changes in Version 16.0:
With the introduction of the generic tasks grid for the Modern UX Timesheets 'Select Tasks' action, there is now a difference in the behavior from what was implemented previously in Modern and Classic of what tasks can be seen in the grid for the user to manually select tasks. Please see the spreadsheet attached at the bottom of this article for more info.
With this change, each task will need to be closed from time entry if you do not want users to charge time to the task, and not just the summary level task as in previous versions and in Classic.
For Classic Clarity and prior to 16.0 in MUX these are the criteria
For a task to show up on a timesheet the following conditions must be met (When Populate button is used)
1. The following attributes must be set as follows:
a. The project that the task belongs to must be active.
(SRM_PROJECTS.IS_ACTIVE = 1)
b. The project that the task belongs to must not be a template.
(SRM_PROJECTS.IS_TEMPLATE = 0)
c. The project that the task belongs to must have a track mode of Clarity/PPM.
(PRTRACKMODE = 2)
d. The team association for the task must be open.
(PRTEAM.PRISOPEN <> 0)
e. The task must not be a milestone, activity or phase.
(PRTask.PRISMILESTONE = 0 AND PRTask.PRISTASK <> 0)
f. The task must be open for time entry as well any immediate parent tasks.
(PRTask.IS_OPEN_TE = 1)
(The easiest way to find if a task is a child task, please open the project in PPM Gantt where the WBS structure is displayed). Any parent tasks should also be set to Open for Time entry
AND
2. The assignment cannot have a status of complete. It must be "not started" or "started." The assignment status is determined by condition a, b or c below.
a. If there are no actuals posted to the assignment, regardless of what the estimates are, then the assignment status is Not Started.
(PRAssignment.prstatus = 0)
b. If there are actuals and the estimate is not 0, then the assignment status is started.
(PRAssignment.prstatus = 1)
c. Otherwise (there are actuals and the estimate is 0) then the assignment status is completed. (PRAssignment.prstatus = 2)
Note: It is important to look at the assignment status, not the task status in determining if a task should show on a timesheet for a resource. There are scenarios where the task status will differ from the assignment. i.e., A resource may be finished working on the task (that assignment would be complete); however, another resource may still need to complete the work on the same task.
AND either Condition 3 or 4 is met:
3. There is a pending estimate on the assignment.
(PRAssignment.prpendestsum > 0)
4. There is no pending estimate specified on the assignment
(PRAssignment.prpendestsum is null) , but one of the next 3 conditions are met:
a. The timesheet population window intersects the assignment date ranges.
(PRAssignment.prstart < "timesheet population window end" AND
PRAssignment.prfinish > "timesheet population window start")
b. There is still some estimate on the assignment left on the assignment and the timesheet population window is later than the assignment date ranges.
(PRAssignment.prfinish < "timesheet population window start" AND PRAssignment.prestsum > 0)
c. The assignment start date is null and the timesheet population window intersects the task date ranges. (PRAssignment.prstart is null AND PRTask.prstart < "timesheet population window end" AND PRTask.prfinish > "timesheet population window start")
(Note: This scenario is uncommon.)
Note: If the pending estimate is 0, then neither condition 3 or 4 are met, so the task will not show on the timesheet.
Note 2: If the "Copy from previous timesheet" feature is enabled, then in addition to any time entries selected by the above logic, any entries that were on the previous timesheet will be added to the timesheet being populated.
Frequently Asked Questions
1. How are pending estimates entered?
Pending estimates are typically entered by overriding the value in the ETC field on the timesheet or by specifying a value for the pending estimate field on the assignment properties page.
2. How is the timesheet population window determined?
The timesheet population window can be specified in the " Populate Time Range " section found in the Admin Tool à Timesheet Options page.
[Timesheet population window start] = [time period start] - [days before time period start]
[Timesheet population window end] = [time period end] + [days after time period end]
3. When populating a timesheet using the "populate" button, there are tasks being populated, that should not show on the timesheet. This appears to occur for task assignments under the following conditions.
Explanation: Condition 2a above indicates that if an assignment has no actuals, even though the ETC is 0, then the assignment is not complete, so the task can show on the timesheet. Once actuals are entered for this task, then the assignment will be complete and will not show up on the subsequent timesheet.
Note: Even though the task was complete, this does not mean that the assignment will be.
4. You have the "Populate from Previous Timesheet" enabled, but you want to prevent a task from showing on next week's timesheet. How do you do this?
5. When you use the Add Tasks button to add an additional investment, what is the logic behind?