Export (0) Print
Expand All
Expand Minimize

ProjectDataSet.TaskRow.TASK_OUTLINE_LEVEL property

Indicates the level of a task by number (such as 1, 2, or 3) in the project outline hierarchy.

Namespace:  WebSvcProject
Assembly:  ProjectServerServices (in ProjectServerServices.dll)

public int TASK_OUTLINE_LEVEL { get; set; }

Property value

Type: System.Int32

When you insert a new task, it is created as a sub-task if the outline level number is greater than the outline level of the task that is identified by AddAfterTaskUID. If you omit the TASK_OUTLINE_LEVEL property, the new task is created at the same level as the previous task. Tasks that are created at the top or bottom of the project are created at level 1.

The following table shows some fields of the TaskDataTable in a ProjectDataSet for four TaskRow items in a project named TaskTest. The task with TASK_ID=0 is the project summary task. Task t1 is a summary task for t1sub1 and t1sub2.

TASK_NAME

TASK_ID

TASK_OUTLINE_LEVEL

TASK_OUTLINE_NUM

TaskTest

0

0

0

t1

1

1

1

t1sub1

2

2

1.1

t1sub2

3

2

1.2

t2

4

1

2

If you try to change the TASK_OUTLINE_LEVEL using QueueUpdateProject, you can get a ProjectSchedulingEngineException error from the Project Server Queuing Service. The error contents include exception="Microsoft.Office.Project.Scheduling.SchedulingCycleException: Cycle detected …. The Project Server scheduling engine does not handle bulk edits where you change the TASK_OUTLINE_LEVEL or change a task with a Start-to-Finish (SF) link into a summary task. A workaround is to check the Project Server Queue and handle the specific value in the QueueStatusDataSet.Status table. For example, return a message to use Project Professional to change the TASK_OUTLINE_LEVEL.

Community Additions

ADD
Show:
© 2014 Microsoft