How to Guarantee Delivery of a Global Calendar Free P6 Export File

Nearly every P6 Export File I have ever received has a Global Calendar embedded in it.

Many construction project specifications state that Global Calendars and Global Activity Codes (Global Activity Codes will be discussed in a separate article) are not to be included in the Project Schedule. The reason is that the Owner or Agency wants to control the number of Global Calendars in their P6 CPM Network.

Imagine a large agency such as a State Department of Transportation that receives Project schedules from scores of Contractors. If the Global Calendars are not properly managed, the agency can easily wind up with literally hundreds of Global Calendars. Many of these Global Calendars may not be easily attributable to a source Project. Some may be overtly faulty, expired and inadvertently assigned to activities from a different Project.

The worse-case scenario occurs when an existing Global Calendar is possibly overwritten by an imported Global Calendar of the same name. Just think of how many Global Calendar are named “Standard 5 Day Calendar”

In general, Global Calendars are intended to be used only for creating Project or Resource Calendars. Therefore, Global Calendars should never be transferred from one party to another.

For those submitting Project Schedules to other parties, make sure that Global Calendars are not included in the export file (typically the .XER file). Submitting Global Calendars to other parties not only populates other P6 Users with superfluous Global Calendars but is bad form and must be avoided.

For those receiving Project Schedule from other parties, make sure that the import file (typically the .XER file) does not contain Global Calendar. Otherwise, before long, your Global Calendar list will contain scores of unrecognized and unassigned Global Calendars with the potential of invalidating your CPM network.

Sadly, of the countless number .XER/.XML files I have received over the past 15 years (or so), nearly ALL of them contain references to a Global Calendar.

The reality is that most P6 Users (who may not necessarily be a “Scheduler”) don’t even realize that they are sending Global Calendars. Similarly, many P6 Users are not even aware of that the problem exists. Even then, if you’re aware of the issue, you could still be sending Global Calendars and not know how or why they are mysteriously propagating into your Export Files. Keeping Projects Global Calendar free is not as easy as you may think.

Unfortunately, there’s no export option that reads “Omit Global Calendar References”. Therefore, below, I have outlined a Step-By-Step procedure that will help you root out Global Calendars from your export files.

Step 1: Establish a naming convention that clearly distinguishes Global Calendars from Project Calendars.

In the illustration below, “**GC-99” has been added as a prefix to all existing Global Calendars. To ensure all are unique, the Global Calendar sequence was numbered from “00” to “15”. From this point forward, it will be easy to spot whenever Global Calendars are used in a Project. In addition, any new Global Calendars that have been inadvertently imported from an unvetted file can be easily and quickly identified.

Step 2: Make Sure no Activities in the Project are assigned to a Global Calendar.

Now that all Global Calendars are clearly defined, Open the Project and set the Filter ‘All Activities’. Next, Group & Sort by Calendar then collapse to ‘Calendar Level 1’. The result should appear like image below.

In the image above, it’s easy to see that Project activities are assigned to Global Calendars “**GC-00” and “**GC-06”.

From this point, reassign the activities with Global Calendars to Project Calendars.

Step 3: Make Sure all Project Calendars are not inheriting from a Global Calendars.

From the Enterprise Main Menu, select “Calendar”. The Calendar window appear as shown below displaying all the Project Calendars created for the Project.

For each Project Calendar listed, click the Modify command button to display the window shown below:

For “TS-01 – 5 Day WrkWk – Gen’l Construction w/Holidays (Thru 2018)”, the Project Calendar is inheriting from “**GC-13 – Standard 5 Day Workweek”. Revise the inheritance setting to <None>. Continue this process for all Project Calendars regardless of whether the Project Calendar is assigned to an activity or not.

Step 4: Make Sure the Default Calendar is not a Global Calendar.

Whenever a new Project is created, P6 automatically assigns the Global Default Calendar as the assigned Default Calendar for the Project. As shown below, the selected Project defaults to a Global Calendar when a new activity is added to the Project. Even if all activities are assigned to a Project Calendar, having the Default Calendar set to a Global Calendar will cause P6 to embed the Global Calendar when an export file is created.

To remove the Global Calendar as the Default Calendar, first Open the Project, then select a Project Calendar as the Default Calendar. When the Project is closed and the Project is highlighted in the Projects Tab, no Default Calendar will be shown in the textbox. To see the assigned Calendar, simply re-open the Project then return the Projects-Defaults Tab.

Step 5: If you are using Resources, make sure the are using a shared or Personal Resource Calendar.

All Resources are assigned a Calendar which can be viewed in the Details ->Profile selection window. When a new Resource is created from scratch, P6’s designated Default Project Global Calendar is automatically assigned as the Default Calendar for the Resource. In the illustration below, the Carpenter resource Calendar Profile is assigned to a Global Calendar.

Resources can either be assigned to a Personal Calendar or be assigned to a previously created Shared Resource Calendar.

To prevent a Global Calendar from making its way into the .XER/.XML file, all Resources that are assigned to the Project’s activities must be assigned to either a Shared Resource Calendar or a Personal Calendar. Furthermore, whether a Shared Resource or Personal Calendar is used, the assigned Calendar must not be inheriting from a Global Calendar (See Step 3 above).

Step 6: Use the VFR (Visual File Review) technique to verify no Global Calendar references are contained in the .XER File.

Checking an .XER for Global Calendars is easy. Simply open the file using a text editor such as Notepad then scroll down to the Calendar Table (%T) section as shown below: 

Below that line, look for a Record line starting with (%R). Reading to the right, the 7th field, which displays the record value for Field Name (%F) “clndr_type” is displayed. The three possible Record values for the Field “clndr_type” (Calendar Type) is:

  1. CA_Base: Identifying a Global Calendar;
  2. CA_Project: Identifying a Project Calendar;
  3. CA_Rsrc: Identifying a Resource Calendar.

If “CA_Base” exists as a Calendar Type, then a Global Calendar exists for the Project contained in the .XER File. In this case, return to P6, then reopen the Project, then go through Step 1 through 5 until you find offending Global Calendar assignment. Although, I don’t have an .XML example, the same approach applies.

Keeping “Lean & Mean” Global Calendar free Projects helps stop the proliferation of redundant and superfluous Global Calendars.

If you find this article useful, I encourage you to pass it along to your P6 scheduling colleagues.

©2020 FoxQuest Systems, Inc. All Rights Reserved

Reporting Changed Logic to Existing Activities

Tracking logic changes can be a nightmare, especially when it comes to large CPM networks with ever changing scope and conditions. Many schedule specifications require that for each logic change, a description for the basis of each change is provided and specifically identifying the affected activities by Activity ID. In other words, the Owner is not just interested in what changed, but more so, why the change was made. Making matters worse, typically each change requires an individual explanation.

Comparison Report:
Changed Logic To Existing Activities – shown below groups predecessor logic changes by Activity ID. The action taken, Added or Deleted Predecessor, is coded as AP or DP. The report also displays the Activity Name, Relationship, Lag and Total Float values. The advantage of this report is that all relationship changes including Predecessors and Successors whether deleted or added for any particular Activity ID is consolidate in one place.

Viewing only logic changes to existing activities removes all other Logic changes that were created as a result of adding or deleting activities between the Control and Modified Projects. This approach focuses attention to logic changes that were intentionally made to existing activities.

© 2020 Copyright FoxQuest Systems, Inc. – All Rights Reserved

Tracking changes to “Driving Path” Activities

Tracking and identifying changes to the critical, longest and driving paths is an important part of a Scheduler’s responsibilities. The term “Driving Path” is the generic term P6 uses within its database to flag the path that the User defines as either the Longest Path or Critical Path for the Project.

In the Driving Path Activity Comparison report shown below. Line item activities 64 and 65 were on the Driving Path in the Control Project, however, they are no longer on the Driving Path in the Modified Project. Item #66 remains on the Driving Path for both Project Updates.

Items 68 thru 73 were added as part of the Modified Project, TS-BL3-UP29. As a result of being added during Update #29, these activities now fall on the Driving Path. The added activities also removed activity line items 64 and 65 from the Driving Path and increased their Total Float value from 0 to 24.

In addition, Item 77 is no longer on the Critical Path is the activity was actualized.

The report lists the Activity ID, Activity Name, Activity Type, the Control Project’s Driving Path Flag, Remaining Duration & Total Float, the Modified Project’s Driving Path Flag, Remaining Duration and Total Float. The Variance between Total Float value is the difference between The Modified Total Float and the Control Total Float values.

© 2020 Copyright FoxQuest Systems, Inc. – All Rights Reserved