P6 Global vs Project Data
Last reviewed 16 September 20266 min read
The mess that breaks shared databases β object by object, what is shared, what isn't, and how to convert
π© In one line: Everything in P6 is either global (one copy, shared by every project in the database) or project (lives and dies with the project); a planner keeps calendars, activity codes, layouts and filters at project or user level, treats every global object as somebody else's property, and converts anything global that was created by mistake before the next export.
π€ Who this is for: J/M. Prerequisites: p6-eps-obs-and-enterprise-data, cleaning-an-xer-before-import.
First, let's be honest about why this page exists
The EPS page explained the structures and who owns them. This page is the checklist: which objects are global, which are project, how to tell which one you're looking at, and what to do when a global object has crept into a project that is about to be exported.
The damage always happens in the same two moments β creating an object with the wrong scope, and importing a file whose global objects overwrite yours. Both are avoidable with a five-minute check.
π¨ The standard β what "good" looks like
| Source | What it asks for (paraphrased) | Consequence |
|---|---|---|
| PMI Practice Standard for Scheduling, 2nd ed. | Data integrity of the schedule model across its environment | Shared data controlled by a named owner |
| AACE RP 38R-06 | Basis lists the calendars and coding structures used, and their scope | "Global" or "Project" written next to each |
| Client schedule specifications (typical Gulf) | Submitted files must not carry extraneous enterprise data; often require project calendars | Export carries only what the project needs |
| Convention (cleaning-an-xer-before-import) | Sandbox first; Keep Existing / Do Not Import; archive original | The receiving side of the same problem |
π’ Rule: if it is specific to this project, it is project-level; if it is global, you did not create it and you do not edit it; and every export is checked for global objects the file will carry before it leaves.
How it actually works
1. Object by object
| Object | Scope options | Where to see the scope | Convention | Convertible? |
|---|---|---|---|---|
| Calendars | Global / Resource / Project | Enterprise β Calendars, three tabs | Project | Project β Global via "To Global"; global cannot be converted down β recreate as project and reassign (check against your copy) |
| Activity codes | Global / EPS / Project | Enterprise β Activity Codes, radio buttons | Project | Both directions via Make Global / Make Project |
| Project codes | Global | Enterprise β Project Codes | Admin owns | β |
| Resources / roles | Global | Enterprise β Resources / Roles | Admin owns the pool; planner adds only under agreed node | β |
| Cost accounts | Global | Enterprise β Cost Accounts | Admin | β |
| UDFs | Global definitions, project values | Enterprise β User Defined Fields | Admin creates once; planner fills | β |
| Notebook topics | Global | Admin β Admin Categories | Admin creates once | β |
| Units of measure, currencies | Global | Admin β Admin Categories / Currencies | Admin | β |
| Layouts | User / All Users / Project | View β Layout β Open, columns show Available To | Project + .plf export | Save As with different availability |
| Filters | User / Global | View β Filters, two sections | User unless agreed | Save As |
| Reports | Global | Tools β Reports | Team standard only | β |
| Baselines | Project | Project β Maintain Baselines | Planner, per register | β |
| Reflections | Project (separate project object) | Enterprise β Projects | Planner; delete or merge after use | β |
| Global Change specifications | User / Global | Tools β Global Change, Available To | User; global only for team-approved ones | Save As |
| Scheduling options | Project | Tools β Schedule β Options | Planner, per SBM | β |
| User preferences | User | Edit β User Preferences | Each user | β |
2. Finding globals that shouldn't be there β 5 minutes before export
| Check | Path | Fix |
|---|---|---|
| Calendars assigned in this project that are global | Group activities by Calendar; Enterprise β Calendars β Global tab, "Used By" | Create project copy, reassign via Global Change, verify zero date change |
| Global activity codes with values assigned here | Enterprise β Activity Codes β Global; filter activities with a value | Make Project (if you created it) or remove assignments (if admin's) |
| Resources created by you outside the agreed node | Enterprise β Resources, filter by Added By / Date | Move under agreed node or delete after removing assignments |
| Global filters or layouts you created for this job | View β Filters / Layouts | Save As user or project; delete the global |
3. What an XER carries
The export writes the project plus every global object it references β calendars, codes, resources, cost accounts, UDF definitions. It does not write layouts, filters, user preferences or baselines. So a clean project with one stray global calendar exports that calendar, and the receiving database gets it. The transmittal lists what global objects the file carries; the receiving planner sets import options accordingly (importing-and-exporting-xer).
4. What happens on import β the other direction
| Incoming object | Default action | Safe action |
|---|---|---|
| Global calendar, same name as yours | Update Existing β overwrites | Keep Existing |
| Global activity code, same name | Update Existing β merges values | Keep Existing or Do Not Import |
| Resources | Update Existing | Do Not Import unless agreed |
| Cost accounts | Update Existing | Do Not Import |
| UDF definitions | Update Existing | Keep Existing |
Production import configuration saved as "Prod-Safe" and never changed without the admin.
5. The one legitimate use of global
Enterprise reporting: a Sector, Client or Region project code; two or three activity codes the PMO uses across every job; the enterprise resource pool; company cost accounts. Created and maintained by the admin. If a planner needs one, they ask; they do not create it.
π₯ Where people go wrong
- Creating a calendar as global because it was the default tab. Enterprise β Calendars opens on Global. Click Project first, every time.
- "Fixing" a global calendar's holidays for your job. Every project using it now has your Eid dates. Copy to project, edit the copy, reassign.
- Importing with the default configuration. Update Existing on everything; four global calendars overwritten. Sandbox first; Prod-Safe in production.
- Assuming the XER carries layouts and baselines. It carries neither. Layouts go as .plf; baselines as separately exported projects or via XML (importing-and-exporting-xer).
- Leaving a global filter behind. Every planner on the database now has "JED-H Look-ahead" in their list. User filters; global only by agreement.
- No transmittal note. The receiving planner imports blind. One line listing global objects carried β thirty seconds.
βοΈ When you're challenged
"The calendar's already there globally. Why make another one?" Because it's the company's, and the moment I add this project's summer hours to it, 19 other projects change. A project copy takes a minute and hurts nobody.
"Your XER changed our calendar." It carried a global calendar with the same name as yours and your import was set to Update Existing. The transmittal listed the calendar; Keep Existing on calendars would have stopped it. I'll send the project-calendar version now, and the archived original is unchanged.
π Related pages
- P6 EPS, OBS and Enterprise Data β the structures and their owners
- Importing and Exporting XER β the options on both sides
- Cleaning an XER Before Import β the receiving procedure
- Calendar Setup and Holidays β project calendars from the start
- Activity Coding Structure β project codes, controlled values
- P6 Layouts and Filters β user and project layouts
βοΈ Worked example
Pre-export check on a residential tower in Sharjah, month 6, before the first XER to a new consultant:
| Found | Action | Time |
|---|---|---|
| "Standard 6 Day" global calendar on 214 activities (inherited from the copied template) | Project calendar "SHJ-RT Site 6d 10h" created with identical exceptions; Global Change reassigned; Schedule Comparison zero date change | 25 min |
| Global activity code "Area" with values assigned | Made Project (planner had created it) | 2 min |
| 18 resources under the root of the pool | Moved under "SHJ-RT" resource node | 10 min |
| Global filter "SHJ Lookahead" | Saved as user filter; global deleted | 1 min |
| Transmittal note | "File carries project calendars only; project activity codes only; no cost accounts; 18 resources under node SHJ-RT" | 2 min |
Forty minutes; the consultant's database took the file without a single overwrite.
π References
- PMI Practice Standard for Scheduling, 2nd ed.
- AACE International RP 38R-06, Documenting the Schedule Basis
- Oracle Primavera P6 Professional User Guide β Global and Project Data; Calendars; Activity Codes; Import/Export Configuration (field labels as in P6 Professional v20; earlier versions differ)
From the field
Notes, corrections and additions from people who've done this on a real job. Everything is checked before it appears here.
Loading notesβ¦
Checked before it appears. No client, project or employer names. Your name is shown; your email never is. Terms.