About Timesheet Methods

The timesheet API provides the ability to get assignments from Microsoft® Office Project Server 2003, edit those assignments, and inform the project manager of existing edits. This API also provides a programmatic interface to Project Server assignment data that is independent of the Microsoft Office Project Professional 2003 client or the Microsoft Office Project Web Access timesheet tool. Management of assignments can be accomplished by native calls to the PDS.

The timesheet API does not provide the programmatic ability for the project manager to approve timesheet transactions after team members have submitted them. The project manager still needs to log on to Project Web Access to approve transactions, in order for Project Server to save the updates in the project plan.

The new Project 2003 add-in for Microsoft Outlook® uses the timesheet API to communicate with Project Server.

The three timesheet API methods are:

Changes for Service Pack 1 (SP1)

In Project Server 2003 SP1, each of the timesheet methods includes a new <LockedDownByManager> top-level tag in the request. When assignments are locked, their state is considered closed within the project; timesheet actuals for locked assignments cannot be changed. The purpose of the change is to enable developers to build applications using the PDS that can lock assignments and exclude them from reports. For example, project and task data exported to a third party financial application can exclude closed tasks and projects, in order to reduce the possibility that data can get out of synchronization between Project Server and the external system.

The developer should design the PDS application to lock a summary task if and only if all sub-tasks are locked. The application should not lock an assignment that is pending approval.

Project Web Access pages that can show locked assignments include the Assignments Summary and Assignments Detail views if the View a Project page, View resource assignments, and View timesheet summary . Project Web Access pages that hide locked assignments include Approve timesheets, Assign myself to an existing task, Delegate tasks, and Adjust actuals. Microsoft Office Project Professional 2003 SP1 and Project Web Access 2003 SP1 do not provide a way to directly lock or unlock assignments. However, you can build a PDS Web application to manage locked assignments and host it in either client. For more information, see Building and Hosting a PDS Web Application.

Following is a summary of features for managing locked assignments.

  • Use the PDS to lock assignments and prevent team members from updating them.

  • The PDS prevents updates to locked assignments. The PDS does not provide any way to unlock an assignment that is already locked, regardless of the caller's permissions.

  • To unlock assignments, republish them with Project Professional. When a Project Server administrator or the project manager publishes assignments, the new MSP_WEB_ASSIGNMENTS.WASSN_LOCKDOWN_BY_MANAGER field is set to 0 (the assignments are not locked).

  • View closed assignments in Project Web Access. The View resource assignments page in Project Web Access can show locked assignments, but does not show hidden assignments. If a resource hides an assignment, or if the PDS method AssignmentsSave locks an assignment, the database field MSP_WEB_ASSIGMENTS.WASSN_REMOVED_BY_RESOURCE is set to 1. This allows assignments where WASSN_REMOVED_BY_RESOURCE is 0 to remain visible in the View resource assignments page, but assignments locked by a third-party application using AssignmentsSave to be hidden.

    Note   The project manager must publish a reopened assignment using Project Professional to have the unlocked assignment show again in the Project Web Access pages that hide locked assignments.

The following table summarizes the LockedDownByManager parameter for each PDS timesheet method. In the request of each method, LockedDownByManager is optional and has a default value of 0. The database table MSP_WEB_ASSIGNMENTS includes the new WASSN_LOCKDOWN_BY_MANAGER field.

Method Request Value Reply Value
AssignmentsGet When LockedDownByManager is 1, returns all assignments that the manager has permission to view, and includes the <LockedDownByManager> tag for each assignment in the reply. Includes LockedDownByManager for each assignment returned, with the value of WASSN_LOCKDOWN_BY_MANAGER for that assignment.

Cannot return assignments that are hidden by the resource (this feature is unchanged in SP1).

AssignmentsSave Allows the assignment to be saved if WASSN_LOCKDOWN_BY_MANAGER is 0. When LockedDownByManager is 1 in the request, flags the assignment as closed by the project manager.

Sets both WASSN_LOCKDOWN_BY_MANAGER and WASSN_REMOVED_BY_RESOURCE to 1.

If WASSN_LOCKDOWN_BY_MANAGER is 1, does not allow the assignment to be saved and returns status code 130: rsAssignmentLockedDownByManager.

Can modify assignments that are hidden by the resource (unchanged in SP1).

AssignmentsProjectManagerUpdate When LockedDownByManager is 0 (the default), the project manager is not notified of changes in closed assignments. No changes in SP1 from the original release.

Cannot update assignments that are hidden by the resource (unchanged in SP1).