P6 and Microsoft Project

P6 Activity Codes ≠ MSP Outline Code / Text1

ACTVTYPE ≠ Outline Code ≠ Text1; zero or one value per type

P6 Activities grouped by WBS. Green WBS bands sit above activity rows.
These bands are WBS grouping. Activity codes are a pick-list. MSP custom fields are not the same.

What each actually is

P6: a dictionary (ACTVTYPE) + hierarchical values (ACTVCODE) + one assignment per type per activity (TASKACTV). Scopes: Global / EPS / Project. REST: zero or one value per code type. See Activity Codes Are a Pick-List, Not a UDF.

MSP: Outline Code1–10 (or Enterprise Task Outline Code1–30) is a hierarchical lookup on the task. Text1–30 is free text (255 characters), optionally with a value list. Fixed slots, not a three-table dictionary.

Same idea (tag tasks from a list). Not the same object. They usually do not survive a clean XER → MSPDI round-trip as P6 activity codes. See xer-mspdi.md.

What Do not treat as the same

  1. Do not map ACTVTYPE to MSP Text1 and call it an activity code. Text1 is a UDF-shaped slot.
  2. Do not map one P6 code type onto Outline Code1 and drop the rest without saying values were lost. Outline codes are numbered slots; P6 types are unbounded.
  3. Do not assign two values of the same P6 code type to one activity to mimic a multi-value MSP lookup.
  4. Do not invent AS_Global / AS_EPS / AS_Project as Oracle XER tokens. UI/REST say Global, EPS, Project.
  5. Do not treat wbs_short_name or a project code (PROJPCAT) as an activity code.
  6. Do not treat an activity code as a UDF. Different tables. See udf-map.md.

Sources

Back to top