(C) 2002 Microsoft Corporation. All rights reserved.
Contents
Overview
Open a project from an XML DOM document
Open a project from an XML file
Open a project from a string containing XML
Saving a project to an XML DOM document
Save a project file as an XML file that conforms to the Microsoft Project XML Schema
Appending XML data to existing projects
Microsoft Project XML element and data types
The Microsoft Project XML Schema
TimephasedDataType
Project
OutlineCode
WBSMasks
ExtendedAttribute
Calendar
Task
Resource
Assignment
Overview
This document provides the information necessary to understand individual elements of the Microsoft Project XML Schema. In addition to descriptions for each element within the schema, the overall structure of the schema is detailed, and some sample macros that show how to use the XML Document Object Model (DOM) to access the Microsoft Project XML Schema are included.
Note
To ensure that all required elements and default settings are included when you create a project in XML, it is recommended that you start by saving an empty project to XML that you can use as a template.
Top
Open a project from an XML DOM document
The following code sample shows how to transform a DOM document into a project XML DOM document and open it in Microsoft Project. This method is useful when transforming an XML document containing project data that does not conform to the Microsoft Project Data Interchange Schema.
Public Sub fileopen_xmldom(xml As String)
On Error GoTo err_fileopen_xmldom
Dim app As New MSProject.Application
Dim xmlDom, xslDom, projDom, xslFileName As String
'Load the XML string parameter into a DOM document
Set xmlDom = CreateObject("MSXML2.DOMDocument")
xmlDom.async = False
xmlDom.loadXML xml
'Specify an XSL template file name
xslFileName = "C:\project\xml\project.xsl"
'Load the XSL template into a DOM document
Set xslDom = CreateObject("MSXML2.DOMDocument")
xslDom.async = False
xslDom.Load xslFileName
'Transform the XML input into a project XML document
Set projDom = CreateObject("MSXML2.DOMDocument")
projDom.Load xmlDom.transformNode(xslDom)
'Open a project from the XML DOM document
app.FileOpen FormatID:="MSProject.XMLDOM", XMLName:=projDom
exit_fileopen_xmldom:
Exit Sub
err_fileopen_xmldom:
MsgBox "error: " & Err.Description
GoTo exit_fileopen_xmldom
End Sub
Public Sub Fileopen_xmldom_test()
Dim xmlDom, XMLfileName As String
XMLfileName = "C:\proj10\xml\xmldemo\x1.xml"
Set xmlDom = CreateObject("MSXML2.DOMdocument")
xmlDom.async = False
xmlDom.Load XMLfileName
fileopen_xmldom (xmlDom.xml)
End Sub
Top
Open a project from an XML file
The following code sample shows how to use a project XML document file created by a third party application to create a project in Microsoft Project. This sample assumes that the file created by a third party application already contains valid XML that conforms to the Microsoft Project XML Schema.
Public Sub fileopen_xmlfile()
On Error GoTo err_fileopen_xmlfile
Dim app As New MSProject.Application, xmlFile As String
'Specify a Microsoft Project XML file name
xmlFile = "C:\project\xml\someProject.xml"
'Open a project from the XML file
app.FileOpen Name:=xmlFile, FormatID:="MSProject.XML"
exit_fileopen_xmlfile:
Exit Sub
err_fileopen_xmlfile:
MsgBox "error: " & Err.Description
GoTo exit_fileopen_xmlfile
End Sub
Top
Open a project from a string containing XML
The following code sample shows how to use Simple Object Access Protocol (SOAP) to call a web page that returns an XML string that conforms to the Microsoft Project XML Schema.
Note
The Microsoft SOAP client must be installed to use this sample.
Public Sub openxml_xmlstring(xmlRequest As String)
On Error GoTo err_openxml_xmlstring
Dim app As New MSProject.Application
Dim XMLHttp As XMLHttp
Dim xmlResponse As String, URL As String
'Specify the web page to call
URL = "http://myserver/getProjectXML.asp"
'Create the SOAP client and call the page
Set XMLHttp = New XMLHttp
XMLHttp.Open "POST", URL, False
XMLHttp.send xmlRequest
xmlResponse = XMLHttp.responseXML.xml
'Open a project from the response string
app.OpenXML xmlResponse
exit_openxml_xmlstring:
Exit Sub
err_openxml_xmlstring:
MsgBox "error: " & Err.Description
GoTo exit_openxml_xmlstring
End Sub
Top
Saving a project to an XML DOM document
The following code sample shows how to save a project created in Microsoft Project as an XML DOM document that conforms to the Microsoft Project XML Schema. This will allow users to use the properties and methods of the DOM to manipulate and extract project data.
Public Sub filesaveas_xmldom()
On Error GoTo err_filesaveas_xmldom
Dim app As New MSProject.Application
Dim doc
'Create an XML DOM document
Set doc = CreateObject("MSXML2.DOMDocument")
'Save the project to the DOM document
app.FileSaveAs FormatID:="MSProject.XMLDOM", XMLName:=doc
exit_filesaveas_xmldom:
Exit Sub
err_filesaveas_xmldom:
MsgBox "error: " & Err.Description
GoTo exit_filesaveas_xmldom
End Sub
Top
Save a project file as an XML file that conforms to the Microsoft Project XML Schema
The following code sample shows how to save Microsoft Project data as an XML file that conforms to the Microsoft Project XML Schema. This code sample can be used to drop a project XML document to a file share to be picked up and used later by an asynchronous process.
Public Sub filesaveas_xmlfile()
On Error GoTo err_filesaveas_xmlfile
Dim app As New MSProject.Application, xmlFile As String
'Specify a Microsoft Project XML file name
xmlFile = "C:\path to location\fileName.xml"
'Open a project from the XML file
app.FileSaveAs Name:=xmlFile, FormatID:="MSProject.XML"
exit_filesaveas_xmlfile:
Exit Sub
err_filesaveas_xmlfile:
MsgBox "error: " & Err.Description
GoTo exit_filesaveas_xmlfile
End Sub
Top
Appending XML data to existing projects
When Microsoft Project appends XML data to an existing project, a summary task's unique ID is incremented from 0 to 1. Microsoft Project then checks for duplicate unique IDs elsewhere in the appending XML data; if any are found, the duplicate unique IDs are given new unique IDs. This process can cause assignments, tasks, resources, and cross-project links to become disassociated with original data.
Note
To ensure that data doesn't end up in unintended locations, it is recommended that you separate this data into its smallest possible component: a task, a resource, an assignment, and so on, before appending. You can also create a custom solution using Microsoft Project VBA and MSXML. See Microsoft Project VBA Help for more information.
Top
Microsoft Project XML element and data types
The following XML Schema Definition (XSD) element types are used in the Microsoft Project XML Schema:
| Element Types |
Description |
| schema |
Contains the definition of the schema. |
| annotation |
Defines an annotation. |
| complexType |
A type definition for elements that contains elements and attributes. This data can contain elements and attributes. |
| documentation |
Specifies information to be read or used by users within the annotation element. |
| sequence |
Requires the elements in the group to appear in the specified sequence within the containing element. |
| element |
Declares an element. |
| simpleType |
A type definition for a value that can be used as the content of an element or attribute. This data type cannot contain elements or have attributes. |
| restriction |
Defines constraints on a simpleType definition. |
| enumeration |
A specified set of values for an element. Data is constrained to the specific values described. |
The following data types are used in the Microsoft Project XML Schema:
| Data Types |
Description |
| integer |
A sequence of decimal digits with an optional leading sign (+ or -). This data type is derived from decimal. |
| float |
A single-precision, 32-bit floating point number. |
| string |
A character string. |
| datetime |
A specific instance of time. |
| time |
An instance of time that recurs every day. |
| duration |
A duration of time. |
| Boolean |
A Boolean value, which is either true or false. |
| decimal |
An arbitrary precision number. |
Top
The Microsoft Project XML Schema
The tables below explain each individual element of the Microsoft Project XML Schema. The schema is broken into tables in this document by concept of data in relation to how it exists in Microsoft Project, Microsoft Project Server, and the OLE databases, rather than being based on the literal organization of the actual schema itself. For example:
<xsd:element name="Project">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="UID" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="16" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CreationDate">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
The elements in the example shown above are contained in the Project table below. Both UID and CreationDate have their own descriptions in the table. Another way the data is described in this document is as follows:
<xsd:element name="Calendars">
...
...
<xsd:element name="Weekday">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="DayWorking" minOccurs="0">
<xsd:element name="DayType" minOccurs="0">
...
<xsd:element name="FromTime" minOccurs="0">
<xsd:element name="ToTime" minOccurs="0">
...
</xsd:sequence>
</xsd:complexType>
</xsd:element>
...
...
</xsd:element>
The elements in the example shown above are contained in the Calendar table below. Both FromTime and ToTime are part of the WorkingTimes element (note the plural). WorkingTimes is a collection of the singular WorkingTime, which is defined by a FromTime and ToTime.
Top
This section defines timephased data, including the type of timephased data, the start and finish time, and the unit of time and the length of time each unit spans. This section represented as XML is as follows:
<TimephasedDataType>
<Type />
<UID />
<Start />
<Finish />
<Unit />
<Value />
</TimephasedDataType>
| | Column Name | Data Type | Description |
| Type | integer | The type of timephased data:| 1 |
Assignment Remaining Work |
| 2 |
Assignment Actual Work |
| 3 |
Assignment Actual Overtime Work |
| 4 |
Assignment Baseline Work |
| 5 |
Assignment Baseline Cost |
| 6 |
Assignment Actual Cost |
| 7 |
Resource Baseline Work |
| 8 |
Resource Baseline Cost |
| 9 |
Task Baseline Work |
| 10 |
Task Baseline Cost |
| 11 |
Task Percent Complete |
| 16 |
Assignment Baseline 1 Work |
| 17 |
Assignment Baseline 1 Cost |
| 18 |
Task Baseline 1 Work |
| 19 |
Task Baseline 1 Cost |
| 20 |
Resource Baseline 1 Work |
| 21 |
Resource Baseline 1 Cost |
| 22 |
Assignment Baseline 2 Work |
| 23 |
Assignment Baseline 2 Cost |
| 24 |
Task Baseline 2 Work |
| 25 |
Task Baseline 2 Cost |
| 26 |
Resource Baseline 2 Work |
| 27 |
Resource Baseline 2 Cost |
| 28 |
Assignment Baseline 3 Work |
| 29 |
Assignment Baseline 3 Cost |
| 30 |
Task Baseline 3 Work |
| 31 |
Task Baseline 3 Cost |
| 32 |
Resource Baseline 3 Work |
| 33 |
Resource Baseline 3 Cost |
| 34 |
Assignment Baseline 4 Work |
| 35 |
Assignment Baseline 4 Cost |
| 36 |
Task Baseline 4 Work |
| 37 |
Task Baseline 4 Cost |
| 38 |
Resource Baseline 4 Work |
| 39 |
Resource Baseline 4 Cost |
| 40 |
Assignment Baseline 5 Work |
| 41 |
Assignment Baseline 5 Cost |
| 42 |
Task Baseline 5 Work |
| 43 |
Task Baseline 5 Cost |
| 44 |
Resource Baseline 5 Work |
| 45 |
Resource Baseline 5 Cost |
| 46 |
Assignment Baseline 6 Work |
| 47 |
Assignment Baseline 6 Cost |
| 48 |
Task Baseline 6 Work |
| 49 |
Task Baseline 6 Cost |
| 50 |
Resource Baseline 6 Work |
| 51 |
Resource Baseline 6 Cost |
| 52 |
Assignment Baseline 7 Work |
| 53 |
Assignment Baseline 7 Cost |
| 54 |
Task Baseline 7 Work |
| 55 |
Task Baseline 7 Cost |
| 56 |
Resource Baseline 7 Work |
| 57 |
Resource Baseline 7 Cost |
| 58 |
Assignment Baseline 8 Work |
| 59 |
Assignment Baseline 8 Cost |
| 60 |
Task Baseline 8 Work |
| 61 |
Task Baseline 8 Cost |
| 62 |
Resource Baseline 8 Work |
| 63 |
Resource Baseline 8 Cost |
| 64 |
Assignment Baseline 9 Work |
| 65 |
Assignment Baseline 9 Cost |
| 66 |
Task Baseline 9 Work |
| 67 |
Task Baseline 9 Cost |
| 68 |
Resource Baseline 9 Work |
| 69 |
Resource Baseline 9 Cost |
| 70 |
Assignment Baseline 10 Work |
| 71 |
Assignment Baseline 10 Cost |
| 72 |
Task Baseline 10 Work |
| 73 |
Task Baseline 10 Cost |
| 74 |
Resource Baseline 10 Work |
| 75 |
Resource Baseline 10 Cost |
| 76 |
Physical Percent Complete |
|
| UID | integer | The unique ID for the timephased data record. |
| Start | datetime | The start date for the timephased data record. |
| Finish | datetime | The finish date for the timephased data record. |
| Unit | integer | The time unit for the timephased data record.| 0 |
Minute |
| 1 |
Hour |
| 2 |
Day |
| 3 |
Week |
| 5 |
Month |
| 8 |
Year |
|
| Value | string | The value for each unit in the timephased data record. |
Top
This section stores all data for each project, including calendars, assignments, tasks, resources, extended attributes, work breakdown structure (WBS codes), and custom outline codes.
Note: You will experience a rounding error with the MoveCompletedEndsBack, MoveRemainingStartsBack
, MoveRemainingStartsForward, and MoveCompletedEndsForward elements. The internal work values for these elements have eight digits; they will lose .001 seconds for every minute, causing a rounding error.
This section represented as XML is as follows:
<Project>
<UID />
<Name />
<Title />
<Subject />
<Category />
<Company />
<Manager />
<Author />
<CreationDate />
<Revision />
<LastSaved />
<ScheduleFromStart />
<StartDate />
<FinishDate />
<FYStartDate />
<CriticalSlackLimit />
<CurrencyDigits />
<CurrencySymbol />
<CurrencySymbolPosition />
<CalendarUID />
<DefaultStartTime />
<DefaultFinishTime />
<MinutesPerDay />
<MinutesPerWeek />
<DaysPerMonth />
<DefaultTaskType />
<DefaultFixedCostAccrual />
<DefaultStandardRate />
<DefaultOvertimeRate />
<DurationFormat />
<WorkFormat />
<EditableActualCosts />
<HonorConstraints />
<EarnedValueMethod />
<InsertedProjectsLikeSummary />
<MultipleCriticalPaths />
<NewTasksEffortDriven />
<NewTasksEstimated />
<SplitsInProgressTasks />
<SpreadActualCost />
<SpreadPercentComplete />
<TaskUpdatesResource />
<FiscalYearStart />
<WeekStartDay />
<MoveCompletedEndsBack />
<MoveRemainingStartsBack />
<MoveRemainingStartsForward />
<MoveCompletedEndsForward />
<BaselineForEarnedValue />
<AutoAddNewResourcesAndTasks />
<StatusDate />
<CurrentDate />
<MicrosoftProjectServerURL />
<Autolink />
<NewTaskStartDate />
<DefaultTaskEVMethod />
<ProjectExternallyEdited />
<OutlineCodes>
...
</OutlineCodes>
<WBSMasks>
...
</WBSMasks>
<ExtendedAttributes>
...
</ExtendedAttributes>
<Calendars>
...
</Calendars>
<Tasks />
...
</Tasks>
<Resources>
...
</Resources>
<Assignments />
...
</Assignments>
</Project>
| | Column Name | Data Type | Description |
| UID | string(16) | The unique ID for the project. |
| Name | string(255) | The name of the project. |
| Title | string(512) | The title of the project. |
| Subject | string(512) | The subject of the project. |
| Category | string(512) | The category the project belongs to. |
| Company | string(512) | The name of the company that created the project. |
| Manager | string(512) | The manager of the project. |
| Author | string(512) | The author of the project. |
| CreationDate | datetime | The date the project was created. |
| Revision | integer | The number of times that the project has been saved. |
| LastSaved | datetime | The date the project was last saved. |
| ScheduleFromStart | Boolean | Indicates whether the project is scheduled from its start date or finish date. |
| StartDate | datetime | The date and time that a project is scheduled to begin; required if ScheduleFromStart is true. |
| FinishDate | datetime | The date and time that a project is scheduled to end; required if ScheduleFromStart is false. |
| FYStartDate | integer | The month
the fiscal year begins:
| 1 |
January (default) |
| 2 |
February |
| 3 |
March |
| 4 |
April |
| 5 |
May |
| 6 |
June |
| 7 |
July |
| 8 |
August |
| 9 |
September |
| 10 |
October |
| 11 |
November |
| 12 |
December |
|
| CriticalSlackLimit | integer | The number of days past its end date that a task can go before Microsoft Project marks that task as a critical task. |
| CurrencyDigits | integer | The number of digits that appear after the decimal when currency values are shown in Microsoft Project:
| 0 |
No digits after the decimal: $0 |
| 1 |
One digit after the decimal: $0.0 |
| 2 |
Two digits after the decimal: $0.00 |
|
| CurrencySymbol | string(20) | The currency symbol used to represent the type of currency used in the project. |
| CurrencySymbolPosition | integer | Indicates the placement of the currency symbol in relation to the currency value:
| 0 |
Before, no space (default): $0 |
| 1 |
After, no space: 0$ |
| 2 |
Before, with space: $ 0 |
| 3 |
After, with space: 0 $ |
|
| CalendarUID | integer | The unique ID for the calendar used in the project. |
| DefaultStartTime | Time | The default start time for all new tasks. |
| DefaultFinishTime | Time | The default finish time for all new tasks. |
| MinutesPerDay | integer | The default number of minutes per day. |
| MinutesPerWeek | integer | The default number of minutes per week. |
| DaysPerMonth | integer | The default number of working days per month. |
| DefaultTaskType | integer | The default type for all new tasks in the project:
| 0 |
Fixed units (default); the number of resources (Assignment Units) remains constant, regardless of the amount of work or duration on the task |
| 1 |
Fixed duration; the duration of the task remains constant, regardless of the number of resources (Assignment Units) assigned or the amount of work |
| 2 |
Fixed work; the amount of work remains constant, regardless of any change in duration or the number of resources (Assignment Units) assigned to the task |
|
| DefaultFixedCostAccrual | integer | The default measuring point when fixed costs are accrued:
|
| DefaultStandardRate | Float | The default standard rate for new resources. |
| DefaultOvertimeRate | Float | The default overtime rate for new resources. |
| DurationFormat | integer | The default format for all durations in the project:| 3 |
m |
| 4 |
em |
| 5 |
h |
| 6 |
eh |
| 7 |
d |
| 8 |
ed |
| 9 |
w |
| 10 |
ew |
| 11 |
mo |
| 12 |
emo |
| 19 |
% |
| 20 |
e% |
| 21 |
Null |
| 35 |
m? |
| 36 |
em? |
| 37 |
h? |
| 38 |
eh? |
| 39 |
d? |
| 40 |
ed? |
| 41 |
w? |
| 42 |
ew? |
| 43 |
mo? |
| 44 |
emo? |
| 51 |
%? |
| 52 |
e%? |
| 53 |
Null |
|
| WorkFormat | integer | The default format for all work durations in the project.
|
| EditableActualCosts | Boolean | Indicates whether Microsoft Project automatically calculates actual costs. |
| HonorConstraints | Boolean | Indicates whether Microsoft Project schedules tasks according to their constraint dates instead of any task dependencies.
|
| EarnedValueMethod | integer | The default method for calculating earned value:| 0 |
Percent complete |
| 1 |
Physical percent complete |
|
| InsertedProjectsLikeSummary | Boolean | Indicates whether inserted projects are treated as summary tasks rather than as separate projects for schedule calculation.
|
| MultipleCriticalPaths | Boolean | Indicates whether Microsoft Project calculates and displays a critical path for each independent network of tasks within a project.
|
| NewTasksEffortDriven | Boolean | Indicates whether new tasks are effort-driven. |
| NewTasksEstimated | Boolean | Indicates whether new tasks have
estimated durations. |
| SplitsInProgressTasks | Boolean | Indicates whether in-progress tasks may be split. |
| SpreadActualCost | Boolean | Indicates whether actual costs are spread to the status date.
|
| SpreadPercentComplete | Boolean | Indicates whether percent complete is spread to the status date.
|
| TaskUpdatesResource | Boolean | Indicates whether updates to tasks update resources.
|
| FiscalYearStart | Boolean | Indicates whether fiscal year numbering is used.
|
| WeekStartDay | integer | The start day of the week:| 0 |
Sunday |
| 1 |
Monday |
| 2 |
Tuesday |
| 3 |
Wednesday |
| 4 |
Thursday |
| 5 |
Friday |
| 6 |
Saturday |
|
| MoveCompletedEndsBack | Boolean | Indicates whether the end of completed portions of tasks scheduled to begin after the status date, but begun early, should be moved back to the status date. |
| MoveRemainingStartsBack | Boolean | Indicates whether the beginning of remaining portions of tasks scheduled to begin after the status date, but begun early, should be moved back to the status date. |
| MoveRemainingStartsForward | Boolean | Indicates whether the beginning of remaining portions of tasks scheduled to have begun late should be moved up to the status date.
|
| MoveCompletedEndsForward | Boolean | Indicates whether the end of completed portions of tasks scheduled to have been completed before the status date, but begun late, should be moved up to the status date. |
| BaselineForEarnedValue | Boolean | The specific baseline used to calculate Variance values:| 0 |
Baseline |
| 1 |
Baseline 1 |
| 2 |
Baseline 2 |
| 3 |
Baseline 3 |
| 4 |
Baseline 4 |
| 5 |
Baseline 5 |
| 6 |
Baseline 6 |
| 7 |
Baseline 7 |
| 8 |
Baseline 8 |
| 9 |
Baseline 9 |
| 10 |
Baseline 10 |
|
| AutoAddNewResourcesAndTasks | Boolean | Indicates whether to automatically add new resources to the resource pool.
|
| StatusDate | datetime | Date used for calculation and reporting.
|
| CurrentDate | datetime | The system date that the XML was generated.
|
| MicrosoftProjectServerURL | Boolean | Indicates whether the project was created by a Microsoft Project Server user or a Microsoft Windows NT user. |
| Autolink | Boolean | Indicates whether to autolink inserted or moved tasks. |
| NewTaskStartDate | integer | The default start date for a new task:| 0 |
Project start date |
| 1 |
Current date |
|
| DefaultTaskEVMethod | integer | The default earned value method for tasks:| 0 |
Percent complete |
| 1 |
Physical percent complete |
|
| ProjectExternallyEdited | Boolean | Indicates whether the project was edited externally. |
| OutlineCodes | | The collection of outline code definitions associated with the project; these codes may be associated with any number of projects; see OutlineCode below.
|
| WBSMasks | | The table of entries that define an outline code mask; see WBSMasks below.
|
| ExtendedAttributes | | The collection of extended attribute (custom field) definitions associated with a project; see ExtendedAttribute below.
|
| Calendars | | The collection of calendars associated with the project; see Calendar below.
|
| Tasks | | The collection of tasks that make up the project; see Task below.
|
| Resources | | The collection of resources that make up the project; see Resource below.
|
| Assignments | | The collection of assignments that make up the project; see Assignment below.
|
Top
This section stores information related to the collection of custom outline codes associated with the project. These codes can be associated with more than one project. This section represented as XML is as follows:
<OutlineCodes>
<OutlineCode>
<FieldID />
<FieldName />
<Alias />
<PhoneticAlias />
<Values>
<Value>
<ValueID />
<ParentValueID />
<Value />
<Description />
</Value>
</Values>
<Enterprise />
<EnterpriseOutlineCodeAlias />
<ResourceSubstitutionEnabled />
<LeafOnly />
<AllLevelsRequired />
<OnlyTableValuesAllowed />
<Masks>
<Mask>
<Level />
<Type />
<Length />
<Separator />
</Mask>
</Masks>
</OutlineCode>
</OutlineCodes>
| | Column Name | Data Type | Description |
| FieldID | string | The field number the outline code refers to. |
| FieldName | string | The name of the custom outline code. |
| Alias | string | The alias of the custom outline code. |
| PhoneticAlias | string | Contains phonetic information in either Hiragana or Katakana for a custom outline code; used only in the Japanese version of Microsoft Project.
|
| ID (Value) | integer | The unique ID for the custom outline code. |
| ParentID (Value) | integer | The unique ID for the parent node of the custom outline code. |
| Value (Value) | string | The actual value of the custom outline code. |
| Description (Value) | string | The description of the custom outline code. |
| Enterprise | Boolean | Indicates whether the custom outline code is an enterprise custom outline code. |
| EnterpriseOutlineCodeAlias | integer | Refers to another custom field for which this is an alias. |
| ResourceSubstitutionEnabled | Boolean | Indicates whether the custom outline code is used with the Resource Substitution Wizard in Microsoft Project; only used with enterprise custom outline codes. |
| LeafOnly | Boolean | Indicates whether the values specified in the custom outline code must be leaf values. |
| AllLevelsRequired | Boolean | Indicates whether new codes must have all levels present; not used for enterprise custom outline codes.
|
| OnlyTableValuesAllowed | Boolean | Indicates whether the custom outline code value must come from the values table.
|
| Masks | Boolean | Indicates whether the custom outline code must be used with all related resources and tasks.
|
| Level (Mask) | integer | The level that has been assigned to each custom outline code, beginning with 1. |
| Type (Mask) | integer | The type of code string for first-level tasks:| 0 |
Numbers (ordered); a numeric WBS code for this level (default). |
| 1 |
Uppercase Letters (ordered); uppercase, alphabetical WBS codes (for example, A, B, and C for the first three summary tasks in the project). |
| 2 |
Lowercase Letters (ordered); lowercase, alphabetical WBS codes (for example, a, b, and c for the first three summary tasks in the project). |
| 3 |
Characters (unordered); any combination of numbers and uppercase or lowercase letters (for example, Arch1, Const1, or Insp1) for the first three summary tasks in the project). Microsoft Project displays an asterisk (*) in the custom outline field until you type or enter a string of characters for this code. |
|
| Length (Mask) | integer | The maximum length in characters of the outline code values, from 1 - 255. If length is any, the value is zero. |
| Separator (Mask) | string | The character used to separate custom outline code levels. The following values are examples; however, any symbol may be used as the custom outline code separator:| . |
Period (default) |
| - |
Minus |
| + |
Plus |
| / |
Forward slash |
|
Top
The table of entries that define an outline code mask. This section represented as XML is as follows:
<WBSMasks>
<VerifyUniqueCodes />
<GenerateCodes />
<Prefix />
<WBSMask>
<Level />
<Type />
<Length />
<Separator />
</WBSMask>
</WBSMasks>
| | Column Name | Data Type | Description |
| VerifyUniqueCodes | Boolean | Indicates whether WBS codes are unique for new tasks.
|
| GenerateCodes | Boolean | Indicates whether WBS codes are generated for new tasks.
|
| Prefix | string(50) | The prefix for all WBS codes.
|
| Level (WBSMask) | integer | The level that has been assigned to each WBS level, beginning with 1. |
| Type (WBSMask) | integer | The type of code string for first-level tasks:| 0 |
Numbers (ordered); a numeric WBS code for this level (default). |
| 1 |
Uppercase Letters (ordered); uppercase, alphabetical WBS codes (for example, A, B, and C for the first three summary tasks in the project). |
| 2 |
Lowercase Letters (ordered); lowercase, alphabetical WBS codes (for example, a, b, and c for the first three summary tasks in the project). |
| 3 |
Characters (unordered); any combination of numbers and uppercase or lowercase letters (for example, Arch1, Const1, or Insp1) for the first three summary tasks in the project). Microsoft Project displays an asterisk (*) in the custom outline field until you type or enter a string of characters for this code. |
|
| Length (WBSMask) | string | The maximum length in characters of the WBS mask values, from 1 - 255. If length is any, the value is zero. |
| Separator (WBSMask) | string | The character used to separate the WBS mask. The following values are examples, however any symbol may be used as the WBS Mask separator:| . |
Period (default) |
| - |
Minus |
| + |
Plus |
| / |
Forward slash |
|
Top
Each of the individual extended attributes are defined with the following elements. There are no limits to the number of children that may appear, but Microsoft Project will only accept the default names for extended attributes (for example, Flag1, Flag2 ).
Note When loading a project stored as XML data, a maximum of 5000 ValueList elements and 128 Indicators elements will be recognized by Microsoft Project. All others will be ignored.
This section represented as XML is as follows:
<ExtendedAttributes>
<ExtendedAttribute>
<FieldID />
<FieldName />
<Alias />
<PhoneticAlias />
<RollupType />
<CalculationType />
<Formula />
<RestrictValues />
<AppendNewValues />
<Default />
<ValueList>
<Value>
<ID />
<Value />
<Description />
</Value>
</ValueList>
<Type />
</ExtendedAttribute>
</ExtendedAttributes>
| | Column Name | Data Type | Description |
| FieldID | string | The localized name of the field; you should not use this to identify uniqueness across versions. |
| FieldName | string | The name of the custom field. |
| Alias | string(50) | The alias of the custom field. |
| PhoneticAlias | string | Contains phonetic information in either Hiragana or Katakana for an extended attribute; used only in the Japanese version of Microsoft Project.
|
| RollupType | integer | Indicates the method used to calculate roll-ups:| 0 |
Maximum (OR for flag fields) |
| 1 |
Minimum (AND for flag fields) |
| 2 |
Count all |
| 3 |
Sum |
| 4 |
Average |
| 5 |
Average, first sub-level |
| 4 |
Count, first sub-level |
| 4 |
Count, nonsummaries |
|
| CalculationType | integer | Indicates whether roll-ups are calculated for task and group summary rows:| 0 |
None |
| 1 |
Rollup |
| 2 |
Calculation |
|
| Formula | string | The formula that Microsoft Project uses to populate the custom field. |
| RestrictValues | Boolean | Indicates whether only values in the list are allowed in the file. |
| AppendNewValues | Boolean | Indicates whether new values added to the project are automatically added to the list. |
| Default | integer | Refers to the ID of the default value in the list; not used if there is no default set. |
| ID (Value) | integer | The unique ID of the value across the project. |
| Value (Value) | string | The actual value. |
| Description (Value) | string | The description of the value in the list. |
Top
Calendars are used to define standard working and nonworking times. A project must have one base calendar. Tasks and resources may have their own calendars, which are based on a base calendar. This section represented as XML is as follows:
<Calendars>
<Calendar>
<UID />
<Name />
<IsBaseCalendar />
<BaseCalendarUID />
<WeekDays>
<WeekDay>
<DayType />
<DayWorking />
<TimePeriod>
<FromDate />
<ToDate />
</TimePeriod>
<WorkingTimes>
<WorkingTime>
<FromTime />
<ToTime />
</WorkingTime>
</WorkingTimes>
</Weekday>
</Weekdays>
</Calendar>
</Calendars>
| | Column Name | Data Type | Description |
| UID | integer | The unique ID for the calendar. |
| Name | string(512) | The name of the calendar. |
| IsBaseCalendar | Boolean | Indicates whether the calendar is a base calendar. |
| BaseCalendarUID | integer | The unique ID for the base calendar on which this calendar depends; only used if this calendar is not a base calendar.
|
| DayType (Weekday) | integer | The type of working day:| 0 |
Exception |
| 1 |
Monday |
| 2 |
Tuesday |
| 3 |
Wednesday |
| 4 |
Thursday |
| 5 |
Friday |
| 6 |
Saturday |
| 7 |
Sunday |
|
| DayWorking (Weekday) | Boolean | Indicates whether the specified date or date type is a working day. |
| TimePeriod (Weekday) | | Defines a set of exception days:| FromDate |
datetime |
The start of the exception time. |
| ToDate |
datetime |
The end of the exception time. |
|
| WorkingTimes (Weekday) | | The collection of working times that define the time worked during the weekday. There must be at least one working time, and there may be no more than five. The following elements make up the collection of working times:| FromTime |
time |
The start of the working time. |
| ToTime |
time |
The end of the working time. |
|
Top
The collection of tasks that make up a project. There must be at least one task in a Tasks collection. This section represented as XML is as follows:
<Tasks>
<Task>
<UID />
<ID />
<Name />
<Type />
<IsNull />
<CreateDate />
<Contact />
<WBS />
<WBSLevel />
<OutlineNumber />
<OutlineLevel />
<Priority />
<Start />
<Finish />
<Duration />
<DurationFormat />
<Work />
<Stop />
<Resume />
<ResumeValid />
<EffortDriven />
<Recurring />
<OverAllocated />
<Estimated />
<Milestone />
<Summary />
<Critical />
<IsSubproject />
<IsSubprojectReadOnly />
<SubprojectName />
<ExternalTask />
<ExternalTaskProject />
<EarlyStart />
<EarlyFinish />
<LateStart />
<LateFinish />
<StartVariance />
<FinishVariance />
<WorkVariance />
<FreeSlack />
<TotalSlack />
<FixedCost />
<FixedCostAccrual />
<PercentComplete />
<PercentWorkComplete />
<Cost />
<OvertimeCost />
<OvertimeWork />
<ActualStart />
<ActualFinish />
<ActualDuration />
<ActualCost />
<ActualOvertimeCost />
<ActualWork />
<ActualOvertimeWork />
<RegularWork />
<RemainingDuration />
<RemainingCost />
<RemainingWork />
<RemainingOvertimeCost />
<RemainingOvertimeWork />
<ACWP />
<CV />
<ConstraintType />
<CalendarUID />
<ConstraintDate />
<Deadline />
<LevelAssignments />
<LevelingCanSplit />
<LevelingDelay />
<PreLeveledStart />
<PreLeveledFinish />
<Hyperlink />
<HyperlinkAddress />
<HyperlinkSubAddress />
<IgnoreResourceCalendar />
<Notes />
<HideBar />
<Rollup />
<BCWS />
<BCWP />
<PhysicalPercentComplete />
<EarnedValueMethod />
<PredecessorLink>
<PredecessorUID />
<Type />
<CrossProject />
<CrossProjectName />
<LinkLag />
<LagFormat />
</PredecessorLink>
<ExtendedAttribute>
<UID />
<FieldID />
<Value />
<ValueID />
<DurationFormat />
</ExtendedAttribute>
<Baseline>
<TimephasedData />
<Number />
<Interim />
<Start />
<Finish />
<Duration />
<DurationFormat />
<EstimatedDuration />
<Work />
<Cost />
<BCWS />
<BCWP />
</Baseline>
<OutlineCode>
<UID />
<FieldID />
<ValueID />
</OutlineCode>
<TimephasedData />
</Task>
</Tasks>
| | Column Name | Data Type | Description |
| UID | integer | The unique ID for the task. |
| ID | integer | The position identifier of the task in the list of tasks. |
| Name | string(512) | The name of the task. |
| Type | integer | The type of task:| 0 |
Fixed units |
| 1 |
Fixed duration |
| 2 |
Fixed work |
|
| IsNull | Boolean | Indicates whether a task is null. |
| CreateDate | datetime | The date and time that a task was added to a project. |
| Contact | string(512) | The name of the individual who is responsible for a task. |
| WBS | integer | A unique code (WBS) used to represent a task's position within the hierarchical structure of the project. |
| WBSLevel | integer | The right-most level of the task. For example, if the task level was A.01.03, the right-most level would be 03. |
| OutlineNumber | string(512) | The number that indicates the level of a task in the project outline hierarchy. |
| OutlineLevel | integer | Indicates the exact position of a task in the outline. For example, 7.2 indicates that a task is the second subtask under the seventh top-level summary task. |
| Priority | integer | Indicates the level of importance assigned to a task, with 500 being no priority; the higher the number, the higher the priority:
| 0 |
Lowest priority; task will always be leveled |
| 1000 |
Highest priority; task will never be leveled |
|
| Start | datetime | The date and time that a task is scheduled to begin. |
| Finish | datetime | The date and time that a task is scheduled to be completed. |
| Duration | duration | The total span of active working time for a task. |
| DurationFormat | integer | The format used to show the duration of the task:| 3 |
m |
| 4 |
em |
| 5 |
h |
| 6 |
eh |
| 7 |
d |
| 8 |
ed |
| 9 |
w |
| 10 |
ew |
| 11 |
mo |
| 12 |
emo |
| 19 |
% |
| 20 |
e% |
| 21 |
Null |
| 35 |
m? |
| 36 |
em? |
| 37 |
h? |
| 38 |
eh? |
| 39 |
d? |
| 40 |
ed? |
| 41 |
w? |
| 42 |
ew? |
| 43 |
mo? |
| 44 |
emo? |
| 51 |
%? |
| 52 |
e%? |
| 53 |
Null |
|
| Work | duration | The total amount of work scheduled to be performed on a task by all assigned resources. |
| Stop | datetime | The date that represents the end of the actual portion of a task. |
| Resume | datetime | The date the remaining portion of a task is scheduled to resume. |
| ResumeValid | Boolean | Indicates whether the task can be resumed. |
| EffortDriven | Boolean | Indicates whether scheduling for a task is effort-driven. |
| Recurring | Boolean | Indicates whether a task is a recurring task. |
| OverAllocated | Boolean | Indicates whether an assigned resource on a task has been assigned to more work on the task than can be done within the normal working capacity. |
| Estimated | Boolean | Indicates whether the task's duration is flagged as an estimate. |
| Milestone | Boolean | Indicates whether a task is a milestone. |
| Summary | Boolean | Indicates whether a task is a summary task. |
| Critical | Boolean | Indicates whether a task has room in the schedule to slip, or if it is on the critical path. |
| IsSubproject | Boolean | Indicates whether the task is an inserted project. |
| IsSubprojectReadOnly | Boolean | Indicates whether the inserted project is a read-only project. |
| SubprojectName | string(512) | The source location of the inserted project. |
| ExternalTask | Boolean | Indicates whether the task is linked from another project or whether it originated in the current project.
|
| ExternalTaskProject | string(512) | The source of an external task. |
| EarlyStart | datetime | The
earliest date that a task could possibly begin, based on the early start dates of predecessor and successor tasks and other constraints. |
| EarlyFinish | datetime | The earliest date that a task could possibly finish, based on early finish dates of predecessor and successor tasks, other constraints, and any leveling delay. |
| LateStart | datetime | The latest date that a task can start without delaying the finish of the project. |
| LateFinish | datetime | The latest date that a task can finish without delaying the finish of the project. |
| StartVariance | integer | The difference between a task's baseline start date and its currently scheduled start date. |
| FinishVariance | integer | The amount of time that represents the difference between a task's baseline finish date and its current finish date. |
| WorkVariance | Float | The difference between a task's baseline work and the currently scheduled work. |
| FreeSlack | integer | The amount of time that a task can be delayed without delaying any successor tasks; if a task has zero successor tasks, free slack is the amount of time a task can be delayed without delaying the entire project. |
| TotalSlack | integer | The amount of time a task can be delayed without delaying a project's finish date. |
| FixedCost | Float | A task expense that is not associated with a resource cost.
|
| FixedCostAccrual | integer | Indicates how fixed costs are to be charged, or accrued, to the cost of a task:
| 1 |
Start; costs are accrued as soon as the task starts, as indicated by a date entered in the ActualStart field. |
| 2 |
Prorated (default); costs accrue as work is scheduled to occur and as actual work is reported. |
| 3 |
End; costs are not incurred until remaining work is zero. |
|
| PercentComplete | integer | The current status of a task, expressed as the percentage of the task's duration that has been completed. |
| PercentWorkComplete | integer | The current status of a task, expressed as the percentage of the task's work that has been completed. |
| Cost | decimal | The total scheduled, or projected, cost for a task, based on costs already incurred for work performed by all resources assigned to the task, in addition to the costs planned for the remaining work for the assignment. |
| OvertimeCost | decimal | The sum of the actual overtime cost for the task. |
| OvertimeWork | duration | The amount of overtime scheduled to be performed by all resources assigned to a task and charged at overtime rates.
|
| ActualStart | datetime | The date and time that a task actually began. |
| ActualFinish | datetime | The date and time that a task actually finished. |
| ActualDuration | duration | The span of actual working time for a task so far, based on the scheduled duration and current remaining work or percent complete. Actual duration can be calculated in two ways, either based on Percent Complete or Remaining Duration. |
| ActualCost | decimal | The costs incurred for work already performed by all resources on a task, along with any other recorded costs associated with the task. |
| ActualOvertimeCost | decimal | The costs incurred for overtime work already performed on a task by all assigned resources.
|
| ActualWork | duration | The amount of work that has already been done by the resources assigned to a task.
|
| ActualOvertimeWork | duration | The actual amount of overtime work already performed by all resources assigned to a task.
|
| RegularWork | duration | The total amount of non-overtime work scheduled to be performed by all resources assigned to a task. |
| RemainingDuration | duration | The amount of time required to complete the unfinished portion of a task. Remaining duration can be calculated in two ways (either based on Percent Complete or Actual Duration). |
| RemainingCost | decimal | The remaining scheduled expense of a task that will be incurred in completing the remaining scheduled work by all resources assigned to a task.
|
| RemainingWork | duration | The amount of time still required by all assigned resources to complete a task. |
| RemainingOvertimeCost | decimal | The remaining scheduled overtime expense for a task.
|
| RemainingOvertimeWork | duration | The amount of remaining overtime scheduled by all assigned resources to complete a task.
|
| ACWP | decimal | The costs incurred for work already done on a task, up to the project status date or today's date. |
| CV | decimal | The difference between how much it should have cost to achieve the current level of completion on the task and how much it has actually cost to achieve the current level of completion up to the status date or today's date; also called cost variance. |
| ConstraintType | integer | The constraint on a scheduled task:| 0 |
As soon as possible |
| 1 |
As late as possible |
| 2 |
Must start on |
| 3 |
Must finish on |
| 4 |
Start no earlier than |
| 5 |
Start no later than |
| 6 |
Finish no earlier than |
| 7 |
Finish no later than |
|
| CalendarUID | integer | Refers to a valid UID in the Calendar section of the Microsoft Project XML Schema. |
| ConstraintDate | datetime | Indicates the constrained start or finish date as defined in TaskConstraintType. Required unless TaskContstraintType is set to As late as possible or As soon as possible.
|
| Deadline | datetime | The date entered as a deadline for the task.
|
| LevelAssignments | Boolean | Indicates whether the leveling function can delay and split individual assignments (rather than the entire task) to resolve overallocations. |
| LevelingCanSplit | Boolean | Indicates whether the resource leveling function can cause splits on remaining work on a task. |
| LevelingDelay | integer | The amount of time that a task is to be delayed from its early start date as a result of resource leveling.
|
| PreLeveledStart | datetime | The start date of a task as it was before resource leveling was done.
|
| PreLeveledFinish | datetime | The finish date of a task as it was before resource leveling was done. |
| Hyperlink | string(512) | The title or explanatory text for a hyperlink associated with a task. |
| HyperlinkAddress | string(512) | The address for a hyperlink associated with a task.
|
| HyperlinkSubAddress | string(512) | The specific location in a document within a hyperlink associated with a task. |
| IgnoreResourceCalendar | Boolean | Indicates whether the scheduling of the task takes into account the calendars of the resources assigned to the task.
|
| Notes | string | Notes entered about a task. |
| HideBar | Boolean | Indicates whether the Gantt bars and Calendar bars for a task are hidden.
|
| Rollup | Boolean | Indicates whether the summary task bar displays rolled-up bars or whether information on the subtask Gantt bars will be rolled up to the summary task bar; must be set to True for subtasks to be rolled up to summary tasks. |
| BCWS | decimal | The cumulative timephased baseline costs up to the status date or today's date; also known as budgeted cost of work performed. |
| BCWP | decimal | The cumulative value of the task's timephased percent complete multiplied by the task's timephased baseline cost, up to the status date or today's date; also known as budgeted cost of work performed.
|
| PhysicalPercentComplete | integer | The physical percent of the total work on a task that has been completed. |
| EarnedValueMethod | integer | Indicates the type of earned value method to use:
| 0 |
Use % complete |
| 1 |
Use physical % complete |
|
| PredecessorUID (PredecessorLink) | integer | The unique ID number for the predecessor tasks on which this task depends before it can be started or finished. |
| Type (PredecessorLink) | integer | | 0 |
FF (finish-to-finish) |
| 1 |
FS (finish-to-start) |
| 2 |
SF (start-to-finish) |
| 3 |
SS (start-to-start) |
|
| CrossProject (PredecessorLink) | Boolean | Indicates whether the task predecessor is part of another project. |
| CrossProjectName (PredecessorLink) | string | The external predecessor project. |
| LinkLag (PredecessorLink) | integer | The amount of lag. |
| LagFormat (PredecessorLink) | integer | Indicates the format for the amount of lag specified in PredecessorLag:| 3 |
m |
| 4 |
em |
| 5 |
h |
| 6 |
eh |
| 7 |
d |
| 8 |
ed |
| 9 |
w |
| 10 |
ew |
| 11 |
mo |
| 12 |
emo |
| 19 |
% |
| 20 |
e% |
| 35 |
m? |
| 36 |
em? |
| 37 |
h? |
| 38 |
eh? |
| 39 |
d? |
| 40 |
ed? |
| 41 |
w? |
| 42 |
ew? |
| 43 |
mo? |
| 44 |
emo? |
| 51 |
%? |
| 52 |
e%? |
|
| UID (ExtendedAttribute) | integer | The unique ID for the extended attribute. |
| FieldID (ExtendedAttribute) | integer | The field ID for the extended attribute. |
| Value (ExtendedAttribute) | string | The actual value of the extended attribute. |
| ValueID (ExtendedAttribute) | string | The ID of the value in the extended attribute lookup table. |
| DurationFormat (ExtendedAttribute) | string | The duration format for the extended attribute:| 3 |
m |
| 4 |
em |
| 5 |
h |
| 6 |
eh |
| 7 |
d |
| 8 |
ed |
| 9 |
w |
| 10 |
ew |
| 11 |
mo |
| 12 |
emo |
| 19 |
% |
| 20 |
e% |
| 21 |
Null |
| 35 |
m? |
| 36 |
em? |
| 37 |
h? |
| 38 |
eh? |
| 39 |
d? |
| 40 |
ed? |
| 41 |
w? |
| 42 |
ew? |
| 43 |
mo? |
| 44 |
emo? |
| 51 |
%? |
| 52 |
e%? |
| 53 |
Null |
|
| TimephasedData (Baseline) | TimePhased DataType | The timephased data block associated with the task baseline. |
| Number (Baseline) | intetger | The unique number of the baseline data record. |
| Interim (Baseline) | Boolean | Indicates whether the baseline is an interim baseline. |
| Start (Baseline) | datetime | The scheduled start date of the task when the baseline was saved. |
| Finish (Baseline) | datetime | The scheduled finish date of the task when the baseline was saved. |
| Duration (Baseline) | duration | The scheduled duration of the task when the baseline was saved. |
| DurationFormat (Baseline) | duration | The format for expressing the Duration of the Task baseline:| 3 |
m |
| 4 |
em |
| 5 |
h |
| 6 |
eh |
| 7 |
d |
| 8 |
ed |
| 9 |
w |
| 10 |
ew |
| 11 |
mo |
| 12 |
emo |
| 19 |
% |
| 20 |
e% |
| 21 |
Null |
| 35 |
m? |
| 36 |
em? |
| 37 |
h? |
| 38 |
eh? |
| 39 |
d? |
| 40 |
ed? |
| 41 |
w? |
| 42 |
ew? |
| 43 |
mo? |
| 44 |
emo? |
| 51 |
%? |
| 52 |
e%? |
| 53 |
Null |
|
| EstimatedDuration (Baseline) | Boolean | Indicates whether the duration of the task is estimated. |
| Work (Baseline) | duration | The scheduled work for the task when the baseline was saved. |
| Cost (Baseline) | decimal | The projected cost of the task when the baseline was saved. |
| BCWS (Baseline) | decimal | The cumulative timephased baseline costs up to the status date or today's date; also known as budgeted cost of work scheduled. |
| BCWP (Baseline) | decimal | The cumulative value of the task's timephased percent complete multiplied by the task's timephased baseline cost, up to the status date or today's date; also known as budgeted cost of work performed.
|
| UID (OutlineCode) | integer | The unique ID for the value in the outline code collection. |
| FieldID (OutlineCode) | string | The localized name of the field. |
| ValueID (OutlineCode) | integer | The unique ID in the value list associated with the definition in the outline code collection. |
| TimephasedData | TimePhased DataType | The timephased data block associated with the task. |
Top
The collection of resources that make up the project. There must be at least one resource in each Resources collection. This section represented as XML is as follows:
<Resources>
<Resource>
<UID />
<ID />
<Name />
<Type />
<IsNull />
<Initials />
<Phonetics />
<NTAccount />
<MaterialLabel />
<Code />
<Group />
<WorkGroup />
<EmailAddress />
<Hyperlink />
<HyperlinkAddress />
<HyperlinkSubAddress />
<MaxUnits />
<PeakUnits />
<OverAllocated />
<AvailableFrom />
<AvailableTo />
<Start />
<Finish />
<CanLevel />
<AccrueAt />
<Work />
<RegularWork />
<OvertimeWork />
<ActualWork />
<RemainingWork />
<ActualOvertimeWork />
<RemainingOvertimeWork />
<PercentWorkComplete />
<StandardRate />
<StandardRateFormat />
<Cost />
<OvertimeRate />
<OvertimeRateFormat />
<OvertimeCost />
<CostPerUse />
<ActualCost />
<ActualOvertimeCost />
<RemainingCost />
<RemainingOvertimeCost />
<WorkVariance />
<CostVariance />
<SV />
<CV />
<ACWP />
<CalendarUID />
<Notes />
<BCWS />
<BCWP />
<IsGeneric />
<IsInactive />
<ExtendedAttribute>
<UID />
<FieldID />
<Value />
<ValueID />
<DurationFormat />
</ExtendedAttribute>
<Baseline>
<Number />
<Work />
<Cost />
<BCWS />
<BCWP />
</Baseline>
<OutlineCode>
<UID />
<FieldID />
<ValueID />
</OutlineCode>
<AvailabilityPeriods>
<AvailabilityPeriod>
<AvailableFrom />
<AvailableTo />
<AvailableUnits />
</AvailabilityPeriod>
</AvailabilityPeriods>
<Rates>
<Rate>
<RatesFrom />
<RatesTo />
<RateTable />
<StandardRate />
<StandardRateFormat />
<OvertimeRate />
<OvertimeRateFormat />
<CostPerUse />
</Rate>
</Rates>
<TimephasedData />
</Resource>
</Resources>
| | Column Name | Data Type | Description |
| UID | integer | The unique ID for the resource. |
| ID | integer | The position identifier of the resource within the list of resources. |
| Name | string(512) | The name of the resource; must be unique within the enterprise whether or not the resource is active. |
| Type | integer | The resource type (work or material):
| 0 |
Material (consumable supplies like steel, concrete, or soil) |
| 1 |
Work (people and equipment) |
|
| IsNull | Boolean | Indicates whether the resource is a null resource.
|
| Initials | string(512) | The initials of a resource name. |
| Phonetics | string(512) | Contains phonetic information in either Hiragana or Katakana for resource names; used only in the Japanese version of Microsoft Project.
|
| NTAccount | string(512) | The Windows NT Account name for a resource; for example: domain name\user name.
|
| MaterialLabel | string(512) | The unit of measurement entered for a material resource, for example, tons, boxes, or cubic yards. This is used in conjunction with the material resource's Assignment Units and is only available if Type is set to 1. |
| Code | string(512) | A code, abbreviation, or number entered as part of a resource's information. |
| Group | string(512) | The name of the group the resource belongs to. |
| WorkGroup | integer | The messaging method used to communicate with a project team:
| 0 |
Default |
| 1 |
None; workgroup messaging is not used on this project |
| 2 |
E-mail only |
| 3 |
Web (Microsoft Project Web Access) |
|
| EmailAddress | string(512) | The e-mail address of a resource.
|
| Hyperlink | string(512) | The title or explanatory text for a hyperlink associated with a resource.
|
| HyperlinkAddress | string(512) | The address for a hyperlink associated with a resource. |
| HyperlinkSubAddress | string(512) | The specific location in a document within a hyperlink associated with a resource. |
| MaxUnits | Float | The maximum percentage, or number of units, that represents the maximum capacity that a resource is available to accomplish any tasks during the current time period:| .00-.99 |
Resource is 0%-99% available for the specified task |
| 1.00 |
Resource is 100% available for the specified task (default) |
|
| PeakUnits | Float | The maximum percentage, or number of units, that a resource is assigned at any one time for all tasks assigned to the resource.
|
| OverAllocated | Boolean | Indicates whether a resource is assigned to do more work on all assigned tasks than can be done within the resource's normal work capacity.
|
| AvailableFrom | datetime | The starting date that a resource is available for work at the units specified for the current time period. |
| AvailableTo | datetime | The ending date that a resource will be available for work at the units specified for the current time period. |
| Start | datetime | The date and time that a resource is scheduled to start work on all assigned tasks. |
| Finish | datetime | The date and time that a resource is scheduled to complete work on all assigned tasks. |
| CanLevel | Boolean | Indicates whether resource leveling can be done with a resource. |
| AccrueAt | integer | Indicates how and when resource standard and overtime costs are to be charged, or accrued, to the cost of a task:
| 1 |
Start; costs are accrued as soon as the task starts, as indicated by a date entered in the ActualStart field. |
| 2 |
End; costs are not incurred until remaining work is zero. |
| 3 |
Pro-rated (default); costs accrue as work is scheduled to occur and as actual work is reported. |
|
| Work | duration | The total amount of work scheduled to be performed by a resource on all assigned tasks. |
| RegularWork | duration | The total amount of non-overtime work scheduled to be performed for all assignments assigned to a resource.
|
| OvertimeWork | duration | The amount of overtime to be performed for all tasks assigned to a resource and charged at the resource's overtime rate. |
| ActualWork | duration | The actual amount of work that has already been done for all assignments assigned to a resource. |
| RemainingWork | duration | The amount of time, or person-hours, still required by a resource to complete all assigned tasks.
|
| ActualOvertimeWork | duration | The actual amount of overtime work already performed for all assignments assigned to a resource.
|
| RemainingOvertimeWork | duration | The remaining amount of overtime required by a resource to complete all tasks.
|
| PercentWorkComplete | integer | The current status of all tasks assigned to a resource, expressed as the total percentage of the resource's work that has been completed. |
| StandardRate | decimal | The rate of pay for regular, non-overtime work performed by a resource. |
| StandardRateFormat | decimal | The units used to display the standard rate:
|
| Cost | decimal | The total scheduled cost for a resource for all assigned tasks, based on costs already incurred for work performed by the resource on all assigned tasks in addition to the costs planned for all remaining work. |
| OvertimeRate | decimal | The rate of pay for overtime work performed by a resource. |
| OvertimeRateFormat | decimal | The units used to display the standard rate:
|
| OvertimeCost | decimal | The total overtime cost for a resource on all assigned tasks.
|
| CostPerUse | decimal | The cost that accrues each time a resource is used. |
| ActualCost | decimal | The sum of costs incurred for the work already performed by a resource for all assigned tasks. |
| ActualOvertimeCost | decimal | The cost incurred for overtime work already performed by a resource for all assigned tasks. |
| RemainingCost | decimal | The remaining scheduled expense that will be incurred in completing the remaining work assigned to a resource. |
| RemainingOvertimeCost | decimal | The remaining scheduled overtime expense of a resource that will be incurred in completing the remaining planned overtime work by a resource on all assigned tasks.
|
| WorkVariance | Float | The difference between a resource's total baseline work and the currently scheduled work. |
| CostVariance | Float | The difference between the baseline cost and total cost for a resource.
|
| SV | decimal | The difference in cost between the current progress and the baseline plan of all the resource's assigned tasks up to the status date or today's date; also called Earned Value Schedule Variance.
|
| CV | decimal | The difference between how much it should have cost for the resource to achieve the current level of completion, and how much it has actually cost to achieve the current level of completion, up to the status date or today's date.
|
| ACWP | decimal | The sum of actual cost of work performed (ACWP) values for all of a resource's assignments, up to the status date or today's date. |
| CalendarUID | integer | The unique ID for the calendar associated with this resource. |
| Notes | integer | Notes about a resource. |
| BCWS | decimal | The rolled-up summary of a resource's BCWS values for all assigned tasks; also called budgeted cost of work scheduled. |
| BCWP | decimal | The rolled-up summary of a resource's BCWP values for all assigned tasks, calculated up to the status date or today's date; also called budgeted cost of work performed.
|
| IsGeneric | Boolean | Indicates whether the resource is an enterprise-level generic resource. |
| IsInactive | Boolean | Indicates whether the resource is an Active (Enabled) or Inactive user.
|
| UID (ExtendedAttribute) | integer | The unique ID for the extended attribute. |
| FieldID (ExtendedAttribute) | integer | The field ID for the extended attribute. |
| Value (ExtendedAttribute) | string | The actual value of the extended attribute. |
| ValueID (ExtendedAttribute) | string | The ID of the value in the extended attribute lookup table. |
| DurationFormat (ExtendedAttribute) | string | The duration format for the extended attribute:| 3 |
m |
| 4 |
em |
| 5 |
h |
| 6 |
eh |
| 7 |
d |
| 8 |
ed |
| 9 |
w |
| 10 |
ew |
| 11 |
mo |
| 12 |
emo |
| 19 |
% |
| 20 |
e% |
| 21 |
Null |
| 35 |
m? |
| 36 |
em? |
| 37 |
h? |
| 38 |
eh? |
| 39 |
d? |
| 40 |
ed? |
| 41 |
w? |
| 42 |
ew? |
| 43 |
mo? |
| 44 |
emo? |
| 51 |
%? |
| 52 |
e%? |
| 53 |
Null |
|
| Number (Baseline) | integer | The unique number for the baseline data record. |
| Work (Baseline) | float | The work assigned to the resource when the baseline is saved. |
| Cost (Baseline) | float | The projected cost for the resource when the baseline was saved. |
| BCWS (Baseline) | decimal | The budgeted cost of work performed for the resource. |
| BCWP (Baseline) | decimal | The budgeted cost of the work performed by the resource on the project to-date. |
| UID (OutlineCode) | integer | The unique ID for the value in the outline code collection. |
| FieldID (OutlineCode) | string | The localized name of the field. |
| ValueID (OutlineCode) | integer | The unique ID in the value list associated with the definition in the outline code collection. |
| AvailableFrom (AvailabiltyPeriod) | datetime | The starting date that a resource is available for work at the units specified for the current time period. |
| AvailableTo (AvailabiltyPeriod) | datetime | The ending date that a resource will be available for work at the units specified for the current time period. |
| AvailableUnits (AvailabiltyPeriod) | float | The percentage that the resource is available during the specified time period. |
| RatesFrom (Rate) | datetime | The date the rate becomes available. |
| RatesTo (Rate) | datetime | The last date the rate is available. |
| RateTable (Rate) | integer | The unique identifier of the cost rate table for the resource:
|
| StandardRate (Rate) | decimal | The standard rate for the resource for the defined period. |
| StandardRateFormat (Rate) | integer | The units used to display the standard rate:
|
| OvertimeRate (Rate) | decimal | The overtime rate for the resource for the defined period |
| OvertimeRateFormat (Rate) | integer | The units used to display the overtime rate:
|
| CostPerUse (Rate) | decimal | The cost per use of the resource. This value is as of the current date if a rate table exists for the resource. |
| TimephasedData | TimePhased DataType | The timephased data block associated with the task. |
Top
The collection of assignments that make up the project. There must be at least one assignment in each Assignments collection. This section represented as XML is as follows:
<Assignments>
<Assignment>
<UID />
<TaskUID />
<ResourceUID />
<PercentWorkComplete />
<ActualCost />
<ActualFinish />
<ActualOvertimeCost />
<ActualOvertimeWork />
<ActualStart />
<ActualWork />
<ACWP />
<Confirmed />
<Cost />
<CostRateTable />
<CostVariance />
<CV />
<Delay />
<Finish />
<FinishVariance />
<Hyperlink />
<HyperlinkAddress />
<HyperlinkSubAddress />
<WorkVariance />
<HasFixedRateUnits />
<FixedMaterial />
<LevelingDelay />
<LinkedFields />
<Milestone />
<Notes />
<Overallocated />
<OvertimeCost />
<OvertimeWork />
<RegularWork />
<RemainingCost />
<RemainingOvertimeCost />
<RemainingOvertimeWork />
<RemainingWork />
<ResponsePending />
<Start />
<Stop />
<Resume />
<StartVariance />
<Units />
<UpdateNeeded />
<VAC />
<Work />
<WorkContour />
<BCWS />
<BCWP />
<ExtendedAttribute>
<UID />
<FieldID />
<Value />
<ValueID />
<DurationFormat />
</ExtendedAttribute>
<Baseline>
<TimephasedData />
<Number />
<Start />
<Finish />
<Work />
<Cost />
<BCWS />
<BCWP />
</Baseline>
<TimephasedDataType />
</Assignment>
</Assignments>
| | Column Name | Data Type | Description |
| UID | integer | The unique ID for the assignment. |
| TaskUID | integer | The unique ID for the task. |
| ResourceUID | integer | The unique ID for the resource. |
| PercentWorkComplete | integer | The current status of an assignment, expressed as the percentage of the assignment's work that has been completed. |
| ActualCost | decimal | The cost incurred for work already performed by a resource on a task. |
| ActualFinish | datetime | The date and time when an assignment was actually completed. |
| ActualOvertimeCost | decimal | The cost incurred for overtime work already performed by a resource on a task. |
| ActualOvertimeWork | duration | The actual amount of overtime work already performed by a resource on an assigned task. |
| ActualStart | datetime | The date and time that an assignment actually began. |
| ActualWork | duration | The amount of work that has already been done by a resource on a task. |
| ACWP | decimal | The costs incurred for work already performed by a resource on a task up to the project status date or today's date; also called actual cost of work performed. |
| Confirmed | Boolean | Indicates whether a resource assigned to a task has accepted or rejected the task assignment in response to a message assigning tasks to the resource.
|
| Cost | decimal | The total scheduled (or projected) cost for an assignment
based on costs already incurred for work performed by the resource on a task, in addition to the costs planned for the remaining work for the assignment. |
| CostRateTable | integer | Indicates which cost rate table to use for a resource on an assignment:
| 0 |
A (default) |
| 1 |
B |
| 2 |
C |
| 3 |
D |
| 4 |
E |
|
| CostVariance | Float | The difference between the baseline cost and total cost for an assignment. |
| CV | decimal | The difference between how much it should have cost to achieve the current level of completion on the assignment and how much it has actually cost to achieve the current level of completion up to the status date or today's date. |
| Delay | integer | The amount of time a resource is to wait after the task start date before starting work on an assignment. |
| Finish | datetime | The date and time that an assigned resource is scheduled to complete work on a task. |
| FinishVariance | integer | The difference between an assignment's baseline finish date and its scheduled finish date. |
| Hyperlink | string(512) | The title or explanatory text for a hyperlink associated with an assignment. |
| HyperlinkAddress | string(512) | The address for a hyperlink associated with an assignment. |
| HyperlinkSubAddress | string(512) | The specific location in a document within a hyperlink associated with an assignment. |
| WorkVariance | Float | The difference between an assignment's baseline work and the currently scheduled work. |
| HasFixedRateUnits | Boolean | Indicates whether an assignment has fixed rate units. |
| FixedMaterial | Boolean | Indicates whether the consumption of the assigned material resource occurs in a single, fixed amount.
|
| LevelingDelay | integer | The amount of time that an assignment is to be delayed from the scheduled start date as a result of resource leveling. |
| LinkedFields | Boolean | Indicates whether there are OLE links to the assignment.
|
| Milestone | Boolean | Indicates whether the assignment task is a milestone. |
| Notes | string | Notes about an assignment.
|
| Overallocated | Boolean | Indicates whether a resource is assigned to more work on a specific task than can be done within the resource's normal working capacity.
|
| OvertimeCost | decimal | The total overtime cost for a resource assignment. |
| OvertimeWork | duration | The amount of overtime to be performed by a resource on a task; charged at the resource's overtime rate.
|
| RegularWork | duration | The total amount of non-overtime work scheduled to be performed by a resource assigned to a task. |
| RemainingCost | decimal | The costs associated with completing all remaining scheduled work by any resources on a specific task. |
| RemainingOvertimeCost | decimal | The remaining scheduled overtime expense for an assignment.
|
| RemainingOvertimeWork | duration | The amount of overtime work that remains on an assignment. |
| RemainingWork | duration | The amount of time required by a resource assigned to a task to complete an assignment. |
| ResponsePending | Boolean | Indicates whether an answer has been received from a message sent to a resource assigned to a task notifying the resource of the assignment. |
| Start | datetime | The date and time that an assigned resource is scheduled to begin working on a task. |
| Stop | datetime | The date the assignment was stopped. |
| Resume | datetime | The date the assignment was resumed. |
| StartVariance | integer | The difference between an assignment's baseline start date and its currently scheduled start date. |
| Units | float | The number of units for which a resource is assigned to a task, expressed as a percentage of 100 %, assuming a resource's MaxUnits value is 100%. |
| UpdateNeeded | Boolean | Indicates whether a TeamUpdate message should be sent to the resource assigned to a task because of changes to the start date, finish date, or resource reassignments. |
| VAC | float | The variance at completion (VAC) between the baseline cost and the total cost for an assignment on a task. |
| Work | duration | The total amount of work scheduled to be performed by a resource on a task. |
| WorkContour | integer | Indicates how work for an assignment is to be distributed across the duration of the assignment:
| 0 |
Flat (default) |
| 1 |
Back Loaded |
| 2 |
Front Loaded |
| 3 |
Double Peak |
| 4 |
Early Peak |
| 5 |
Late Peak |
| 6 |
Bell |
| 7 |
Turtle |
| 8 |
Contoured |
|
| BCWS | decimal | The budgeted cost of work on the assignment. |
| BCWP | decimal | The budgeted cost of the work performed on the assignment to-date. |
| UID (ExtendedAttribute) | integer | The unique ID for the extended attribute. |
| FieldID (ExtendedAttribute) | integer | The field ID for the extended attribute. |
| Value (ExtendedAttribute) | string | The actual value of the extended attribute. |
| ValueID (ExtendedAttribute) | integer | The ID of the value in the extended attribute lookup table. |
| DurationFormat (ExtendedAttribute) | string | The duration format for the extended attribute:| 3 |
m |
| 4 |
em |
| 5 |
h |
| 6 |
eh |
| 7 |
d |
| 8 |
ed |
| 9 |
w |
| 10 |
ew |
| 11 |
mo |
| 12 |
emo |
| 19 |
% |
| 20 |
e% |
| 21 |
Null |
| 35 |
m? |
| 36 |
em? |
| 37 |
h? |
| 38 |
eh? |
| 39 |
d? |
| 40 |
ed? |
| 41 |
w? |
| 42 |
ew? |
| 43 |
mo? |
| 44 |
emo? |
| 51 |
%? |
| 52 |
e%? |
| 53 |
Null |
|
| TimephasedData (Baseline) | TimePhased DataType | The timephased data associated with the baseline. |
| Number (Baseline) | string | The unique number for the baseline data record. |
| Start (Baseline) | string | The scheduled start date of the assignment when the baseline was saved. |
| Finish (Baseline) | string | The planned finish date for assignments. |
| Work (Baseline) | float | The total amount of work scheduled on the assignment when the baseline was saved. |
| Cost (Baseline) | float | The total projected cost of the assignment when the baseline was saved. |
| BCWS (Baseline) | decimal | The budgeted cost of work on the assignment. |
| BCWP (Baseline) | decimal | The budgeted cost of the work performed on the assignment to-date. |
| TimephasedData | TimePhased DataType | The timephased data block associated with the task. |
Top