Local and Enterprise Custom Fields
Published: May 2010
Custom fields extend the attributes of tasks, resources, or projects. Lookup tables for custom fields enable data to be collected in a consistent manner. You can filter, group, sort, and create OLAP cubes and reports based on custom field values. Local custom fields are limited in number and to the scope of one project. Enterprise custom fields are essentially unlimited in Microsoft Project Server 2010; they are defined in Project Web App and stored in the Published database for use in projects within a department or an organization.
This topic includes the following sections:
In versions of Microsoft Project before Project 2007, local custom fields and enterprise custom fields are limited to the same built-in types. In Project 2003, for example, enterprise custom fields are stored in the enterprise global template and you can use Project Professional 2003 to edit enterprise custom fields when you open the enterprise global template. In Project Server 2007 and Project Server 2010, enterprise custom fields are stored in the Published database and are created or edited using Project Web App.
You cannot edit enterprise custom fields in Microsoft Project Professional 2010. Instead, use Project Web App—or a custom application that uses the Project Server Interface (PSI)—to create and edit enterprise custom fields. However, you can add a local custom field to Project Server as an enterprise custom field.
Local Custom Fields
Local custom fields are limited to the built-in types in Project Professional 2010. You can rename local custom fields and assign values or lookup tables to them using Project Standard or Project Professional. When Project Professional is connected to Project Server, you can also add a local custom field as an enterprise custom field in Project Server.
Project Standard and Project Professional have the following types of local custom fields for task and resource entities:
Cost1 to Cost10
Date1 to Date10
Duration1 to Duration10
Finish1 to Finish10
Flag1 to Flag20
Number1 to Number20
OutlineCode1 to OutlineCode10
Start1 to Start10
Text1 to Text30
Local Text custom fields can have value lists, but not hierarchical lookup tables. The separate OutlineCode type of local custom field can use hierarchical lookup tables. You can publish a project that contains local custom fields to the Published database, but the local custom fields do not get copied to the Reporting database.
You can assign local custom fields to resources and tasks, but not to projects. In practice, if you use interim plans you should not use the task Start1-10 or Finish1-10 custom fields because Project uses those fields to store dates for baseline project plans.
You can use Microsoft Visual Basic for Applications (VBA) or an add-in developed with Microsoft Office development tools in Microsoft Visual Studio 2010 to create and manipulate local custom fields in Project Standard or Project Professional, and to access enterprise custom fields from within Project Professional. You cannot use the PSI to create or interact with local custom fields.
To migrate a local custom field to an enterprise custom field, open the Custom Fields dialog box in Project Professional 2010 (on the Project tab of the ribbon, click Custom Fields). Select Task or Resource and the field type, click the local custom field you want to migrate, and then click Add Field to Enterprise. If you add a task or resource outline code as an enterprise custom field, it becomes an enterprise Text custom field with a hierarchical lookup table.
For information about how to use the VBA object model to create local custom fields, see Using VBA with Local Custom Fields and Outline Codes in the MSDN Library.
Enterprise Custom Fields
Enterprise custom fields are stored in the Published database in Project Server. In Project Server 2010, enterprise custom fields can be limited in scope to a group that is specified in the Department lookup table, or they can be global across the organization. Enterprise custom fields are typically used by the Project Management Office (PMO) to collect data for roll-up reporting in a department or the organization.
Enterprise custom fields can be assigned to project, resource, and task entities in Project Server. Enterprise custom field types include the following:
Number custom fields are rounded to a maximum of two decimal points. For example, if you enter 100.359676752 in a number lookup table, a custom field that uses the lookup table shows 100.36 in the drop-down list when you select a value for the custom field.
Enterprise custom fields of type Text that have hierarchical lookup tables act as outline codes. Unlike for local custom fields, there is no distinct OutlineCode type of enterprise custom field. Projects that are published to Project Server can contain both local and enterprise custom fields (Figure 1). The Custom Fields dialog box shows enterprise custom fields with (Enterprise) added to the name. If you rename a local custom field, it is shown with the name of the field appended, such as (Text1). You can rename and configure local custom fields using Project Professional. To add a local custom field to the collection of enterprise custom fields, click Add Field to Enterprise in the Custom Fields dialog box.
While the number of local custom fields is limited to the 130 built-in types, the number of enterprise custom fields is unlimited for practical purposes.
Project Server performance is reduced if there are very many enterprise custom fields. Project Server is tested for acceptable performance with up to 1,000 custom fields.