Expert, flexible training in the use of the most powerful scheduling software program in the world: Primavera P6 by Oracle.
Primavera Scheduling

All posts in Primavera P6

The purpose of exporting Primavera P6 files in “XER” format is to transmit all of the project data to another database. In many cases we are not looking to exclude any data. So how do we avoid sharing sensitive cost data with other parties? Contractors may not want owners, subcontractors and other parties to have access to this proprietary information.

There are two options for not sharing cost data. One option is to delete resource assignments altogether. We do this by copying the schedule inside Primavera P6 and un-checking the “Resource & Role Assignments box, as seen below:

Export Project without Resource Costs_1







While this option works perfectly well, the recipient will see no resources or roles in the schedule. What if we want the recipient of this file to be able to see the resource units but not the unit prices? This requires a different approach. Option 2 involves creating a new user and associated user profile who is not allowed to view cost data. When this user exports the file the resource rates will disappear but the resource assignments and units will remain intact.

First, we create a new user and label that person in such a way that we remember why this user was created in the first place. Go to Admin → Users. Below, I have added a new user with the name “Export User”:

Export Project without Resource Costs_2








Note that I have given this new user access to every project in my database by assigning this user to the highest level in the Organization Breakdown Structure (OBS). This is not absolutely necessary but it does make it easier to export any project without cost data.

Second, we need to assign the new user a Project Profile that excludes the ability to “View Project Costs/Financials”. Go to Admin → Security Profiles and select Project Profiles. In the screenshot below I have added a new Project Profile, “No Costs Exported”:

Export Project without Resource Costs_3








Also, I gave this new user no ability to modify schedules because the only purpose of this user is to export projects sans cost data. As soon as the project has been exported I will log back in using my normal user name.

Now we are ready to export a project with cost data. Keep in mind that you will need to log in as the new user first!

Questions or comments? Please feel free to contact me.


Exporting Groups of Projects

Categories: P6 Professional, Primavera P6
Comments Off

Backing up a Primavera P6 database is the best option for moving the entire set of project data – schedules, resources, calendars, layouts, etc. – to another computer. But if the only goal is to move a group of projects from one database to another, there is an easy way to do this very quickly.

We all know that a project must be open in order to be exported. So the first step is to simultaneously open all of the projects that need to be exported. Caveat: you cannot open more than 100,000 activities concurrently in P6 Professional but there is otherwise no limit to how many projects can be opened at the same time. For this reason I recommend exporting groups of projects based on either a Project Portfolio or EPS node.

In the first screenshot I have selected a group of projects based on their EPS Node. I can either highlight projects individually using Shift or Ctrl on the keyboard, or simply highlight the EPS Node itself:

Exporting Multiple Projects_1






Now that the projects are open I can then start the normal export process, as seen in the next two screenshots. The only difference is that I am selecting a common name for all of the projects. I typically name the file after the Project Portfolio or EPS Node to avoid confusing a group of projects with a single project. In this example I have called the common file, “Manufacturing Projects”:

Exporting Multiple Projects_3Exporting Multiple Projects_2









When importing the group of projects I still have the option of importing some or all of the projects. Note that because I am importing back into the same database Primavera P6 is warning me that matches across the board were found.

Exporting Multiple Projects_4








That is all it takes to move a group of projects from one database to another. When I am working on construction claims this is a great way to send the attorneys all of the project files. The size of the common file will of course be larger than normal but XER files are text-based and generally never get too large to email as an attachment.

If you have any comments or questions please feel free to contact me.



Most Primavera P6 users know how to share a layout with someone in a different database. But did you know that filters can also be shared? To recap, we select View → Open Layout → Export to transport a Primavera Layout File (PLF) from the database. The other user then selects View → Open Layout → Import to bring the PLF file into their database. While there is no such export/import feature for filters, they can be attached to any layout and therefore transferred to another database.

The trick to exporting filters with layouts is to copy an existing filter as a Layout Filter. In the screenshot below I have selected the existing User Defined filter, “Activities with Steps”. To create a Layout Filter, select “Copy As Layout” from the right-hand side of the filters menu:

Export Filters with Layouts_Step 1

In the next screenshot we see the result of this operation. The “Activities with Steps” filter appears under a new group, “Layout Filters”. All filters copied to this group will be exported with any layout you choose to export. Because of this, you might want to keep the number of Layout Filters to a minimum, or delete those that should no longer be exported.

Export Filters with Layouts_Step 2

One other thing. The above layouts are project layouts. The Enterprise Project Structure (EPS) has its own set of layouts. When the other user receives the Primavera Layout File it is important that they open a project – any project – and import the layout in the Activities window. EPS layouts are not compatible with project layouts despite having the same PLF format. However, EPS filters can likewise be exported with EPS layouts.


Using a Filter to Find Missing Logic

Categories: logic, Primavera P6
Comments Off

One of our training clients recently asked us to create a rather unusual filter showing “open ends”, or activities that are missing predecessors and/or successors. While this information can be gleamed from the Schedule Log (Tools > Schedule) this report does not graphically represent these activities. A filter will of course allow us to show these activities on the Gantt Chart, so that we know when and where these activities occur in the schedule.

In the screen capture below I have created a simple filter to display activities with open ends. Notice that I have two lines in my filter and that I have selected “(Any of the following)” when combing the two specified parameters. The first row asks P6 to list activities where the predecessor value is blank. You might know that we can display predecessors as a column in the Activity Table, and if there are no predecessors for an activity then this cell would be empty.

In the second row I have added the same statement for the successor value. The only thing left to do is make sure P6 understands that I want activities that are missing predecessors or successors. In other words, if the first row or the second row statement is true, give me those results. To do this, I selected “(Any of the following)” filter parameters:


Filter for Open Ends







As you can see, setting up the filter is pretty simple. Leaving the value blank does not work in many situations, but for predecessors and successors this approach is fine.





Most of us understand that negative float is generated by a constraint that is not being “satisfied” and indeed, we cannot have negative float without a constraint. Or so it would seem. But during a recent training session at the Kennedy Space Center my client showed me several Level of Effort activities that had negative float. In fact, all of the Level of Efforts had negative float yet no other activity showed any negative float whatsoever. Imagine that; the activities linked to the Level of Efforts have positive float but the Level of Efforts have negative float!

In the first figure I am showing a typical setup with a Level of Effort activity linked to one predecessor and one successor. The Activity Type is shown in the Activity Table to make it easier to see which activity is the Level of Effort:

LOE Before Progress


Okay, so far nothing is amiss. The Level of Effort is linked to activities on the critical path and therefore shares the same zero (0) float. But watch what happens when the predecessor to the Level of Effort is updated with progress:

LOE After Progress

The Level of Effort activity – and only the Level of Effort – has negative float! Keep in mind that no constraints are being used in this schedule. And while all of the Task Dependent activities are on the critical path I can assure you this has nothing to do with the negative float on the Level of Effort activity.

So how is this possible?

The answer has to do with the ability in Primavera P6 to calculate float three (3) different ways. These settings appear under Schedule Options:

Float Calculation Settings

I typically calculate float as the difference between the Late Finish and the Early Finish dates. But my client had selected Late Start – Early Start. (The third option is to take the smallest value of the two calculations). Choosing any setting other than Late Finish – Early Finish will generate negative float once the predecessor to the Level of Effort has started. Moreover, astute viewers will notice that the negative float matches the number of days that have elapsed since the predecessor started. The predecessor started five work days before the Data Date and the float is -5 work days.

Why this is happening is a little hard to explain, but Primavera P6 calculates float for both the start and finish of every task. Normally this results in the same value. Level of Effort activities, however, are another matter. Primavera P6 calculates the float on this type of activity as the difference between the Actual Start Date and the Data Date and perceives the activity as being “late” because the Data Date is later than the Actual Start Date.

Thankfully this weird float issue can be easily avoided by using Late Finish – Early Finish for the float calculations. And while this has always been my personal preference I have a whole new appreciation of this setting now.



You might have noticed that Primavera P6 has something called “Set Project Default” under the Project menu. This is a very important consideration when multiple projects are open. To review, more than one project can be opened at the same time by highlighting them together and then right-clicking or using the keyboard shortcut Ctrl+O, as seen below:

P6 Professional_Opening Multiple Projects


There are several reason why we might want to open more than one project at a time. For example, we might be checking the logic on similar projects for consistency. Or we might be updating several projects on the same day and having them open together simply makes it easier to go back and forth. Activities in different projects can also be linked together by opening them together and adding relationships.


Next, we need to open the Project menu and select Set Default Project:

P6 Professional_Opening the Set Default Project Menu


Then we select which of the open projects should be the default:

P6 Professional_Selecting the Default Project


Setting a default project accomplishes several things:

  1. Whenever this group of projects is opened in the future, the default project remains the same
  2. New activities added to this group of projects will automatically be assigned to the default project (unless grouped by WBS)
  3. Schedule Options for all open projects are determined by the default project

As an experiment, try grouping multiple projects in the Activities window by Project. If you try to add an activity to any project other than the default project the activity will still land under the default project. This could be problematic of course so it is good to know that grouping by WBS allows you to insert a new activity into any of the open projects.

Schedule Options is the most critical consideration. Casual P6 users often fail to consider that the Schedule Options for a project are unique. That is to say, Schedule Options do not apply to all projects. In the following screenshot we can see these options:

P6 Professional_Schedule Options


One of the open projects may have critical activities defined as the Longest Path while another uses Total Float to define critical. Regardless of the individual project settings only the default project’s settings will apply when the projects are scheduled together. And this brings us to the most important reason for setting a default project. As a scheduling manager you might be worried that not all of your schedulers are using the proper settings for calculating their schedules. For example, I have never used Progress Override because it distorts the logic (more on this in another post). The scheduling manager can open all the projects at the same time and schedule them knowing that all projects will be calculated in the same fashion.

Now, you may be wondering about the data dates of the open projects. What happens when they are not the same date? As soon as you try to schedule the open projects you will see this message:

P6 Professional_Data Date for Multiple Projects


In P6 Web (a component of P6 EPPM) it is possible to force all open projects to calculate to the same data date. But in P6 Professional this is not possible, and is often not desirable. But the ability to make sure than all open projects are being scheduled in a consistent manner is the key. The scheduling manager only needs to check the settings for the default project and can ignore what might have been done on the individual projects. Using the wrong settings, or not fully understanding what settings were used, is a common mistake that can be easily avoided with a default project.



Calendar Issues in Primavera P6

Categories: P6 Calendars, Primavera P6
Comments Off

Most Primavera P6 users are familiar with setting up and modifying calendars. There is a potential problem, however, when specifying more than 8 hours per day for activities. P6 defaults to 8-hour work days, as we will see in a moment, and interprets anything more than 8 hours as overtime. This results in activity dates not calculating as expected. In the following example, I created a 5-day calendar with 10 hours per work day, Monday through Friday. The work day starts at 7:00 am and ends at 5:00 pm (this allows for no lunch break but my theoretical crew is a bunch of really hard workers!). I assigned this calendar to an activity with a 5-day duration. Notice what happens:

Calendar Issues in P6_1

The 5-day task finishes in 4 days. Why? Because P6 assigned an imaginary budget of 40 hours to my task based on a normal 8-hour day. By working 10 hours per day, my crew worked 40 hours in 4 days. This can be confirmed by adding a labor resource and watching what happens to the budgeted hours. While this figure can be changed later on, the initial budget will be based on 8 hours per day regardless of the calendar settings.

Now, savvy P6 users know that the hours per day can also be modified somewhere other than in the calendars. Under Admin, Admin Preferences, Time Periods, the hours per day, week, month and year can be specified. This menu is shown below:

Calendar Issues in P6_Admin Preferences

We can change the time units under Admin Preferences to show 10 hours per day. This solves the problem of P6 thinking that anything in excess of 8 hours per day is overtime, but it also changes the settings of every schedule in the database. These are Admin Preferences, and not User Preferences. Admin Preferences affect all projects.

Nevertheless, we are real close to a solution. Note that right under the time periods in the Admin Preferences there is a box with the following phrase:

“Use assigned calendar to specify the number of work hours for each time period.”

Checking this box is real important because it allows us to use the hours per day in our calendars rather than the global hours per day under Admin Preferences. But we need to make one last adjustment.

Under Enterprise, Calendars, there is an option to specify time periods. These time periods are calendar-specific. In the screenshot below we can see the time period settings for just one calendar:

Calendar Issues in P6_Time Period









By making the hours per day in the time periods for this calendar match the hours per day in the calendar itself then P6 will properly understand what is considered to be a normal work day.

Your thoughts? Please email me with any comments or questions.





P6 Baselines Explained Once and For All

Categories: Primavera P6, Primavera P6 Baselines
Comments Off

In our experience as trainers, no subject causes more confusion in Primavera P6 than baselines. Inexperienced Primavera P6 users often believe they have a baseline when in fact they have never created one, or the baseline bars just do not look right. Even something as obscure (for many users) as Earned Value affects baselines. Because this is a fairly difficult topic, we have prepared a YouTube video that shows the proper way to create baselines in Primavera P6. Enjoy!






Oracle Gold PartnerWe are pleased to announce that Primavera Scheduling’s parent company, Construction Science, is now an Oracle Gold Partner. To celebrate our upgraded partnership with Oracle we are now offering Primavera P6 software for $300 off the list price and 10% off all live online and in-person classroom Primavera P6 training programs with the purchase of software. But wait, there’s more! We are also offering volume discounts for the purchase of more than three Primavera P6 licenses. Please contact Bill Pepoon for details on these additional discounts.

The Missing Version of Primavera P6

Categories: Primavera P6
Comments Off

Oracle appears to have killed off Release 7.0 of Primavera P6. The questions is, why? Those of you who have downloaded Primavera software from the Oracle Software Delivery Cloud are probably aware of the existence of older Primavera programs that are no longer sold  – P3 and SureTrak in particular. The purpose, as we understand, is to support licensed users who may need to reinstall these programs. Oracle grants a perpetual license for each program, so this makes sense. Yet Release 7.0 has recently been dropped from Oracle’s eDelivery site. Release 7.0 was the first version released after Oracle purchased Primavera.  We have always liked this version because its user interface is a little simpler to learn and the program is less likely to crash than some of the newer releases.

Release 8.1 has been dropped as well, but this seems like much less of an issue. The differences between Releases 8.1 and 8.2 are so minor that most users would never notice them. But Release 7.0 is much different that the R8 series and it would seem likely that some users would want to continue using this older version. We know of one major construction company with over a $1B in annual revenue that has standardized on Release 7.0 so clearly it is not considered to be an inferior program. Oracle stopped using serial numbers with R7.0 so in theory the software could be copied from one computer to another, but whether this is considered legal is another matter.

Primavera Scheduling now recommends that users purchase Release 8.3 to avoid any licensing issues in the future. Our initial testing of R8.3 suggests that is more stable than R8.2 and besides, we do not have too many other choices! Either we purchase R8.2 or R8.3 or we buy something else. Primavera P6 is dominant scheduling program in the United States so there is really no incentive to switch. Please feel free to contact us if you have any questions regarding which version of Primavera to purchase.