ProjectDataSet.TaskRow.TASK_OUTLINE_LEVEL Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Indicates the level of a task by number (such as 1, 2, or 3) in the project outline hierarchy.
public:
property int TASK_OUTLINE_LEVEL { int get(); void set(int value); };
public int TASK_OUTLINE_LEVEL { get; set; }
member this.TASK_OUTLINE_LEVEL : int with get, set
Public Property TASK_OUTLINE_LEVEL As Integer
Property Value
Remarks
When you insert a new task, it is created as a subtask 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.
| 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 by using QueueUpdateProject(Guid, Guid, ProjectDataSet, Boolean), 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.