Deltek Cobra – Oracle Primavera P6 Schedule Data Import Best Practices

In an integrated cost/schedule environment, activities in a schedule are identified with their control account points (that is, control accounts or work packages) in an Earned Value Management System (EVMS). This integration allows budgets and forecasts to accurately reflect the most current actual and estimated scheduling information. 

by Alan Kristynik, PMP

Data Import Using Scheduling Tools

You can create an integrated cost/schedule system between the Deltek Cobra multi-program cost engine for Earned Value Management (EVM) and Oracle Primavera P6 for Enterprise Project Management.

By linking Cobra projects with a scheduling tool, you can have a system that provides for single data entry. This avoids both the extra effort and the increased risk of error associated with having to enter the data in both the schedule and Cobra. The detailed resource-loaded schedule provides the time-phasing of the budget in Cobra while status data from the schedule generates earned value in Cobra.

The Cobra Integration Wizard also allows you to load code files from your schedule. You may save only the settings you have made for your configuration, or you may synchronize Cobra with your schedule as well.

Share Cost and Schedule Information

When planning to integrate your Cobra project with a resource-loaded schedule, consider the best practice tips below:

  • An activity in the schedule should correlate to a work package in Cobra.
  • Activity durations should be from six to eight weeks to calculate accurate Earned Value (EV)—by collecting actual costs at the cost account level, you can reduce the number of charge numbers. Note: Activities with longer durations can be used if the progress technique of their work packages is Percent Complete. In this case, the Physical Percent Complete entry in the schedule should be based on something that can be measured objectively, such as the number of completed drawings.
  • Budget revisions should begin in the schedule as additions or revisions and be updated in Cobra.

Because Cobra supports the milestones progress technique, it is also possible to set up a system where several activities in the schedule generate a single work package with milestone steps in Cobra. In this scenario, the baseline finish dates of the activities in the schedule can be correlated to the milestone steps in the work package. Note, however, that the earned value is calculated as a weighted percentage for all budget elements of the work package.

While Cobra does have the ability to build the schedule and load the budget manually, this process does not promote integration between cost and schedule. The best usage of this feature would be to add the following items into the Cobra project:

  • Level of effort and apportioned work packages
  • Planning packages maintained in Cobra
  • Budget revisions made in Cobra
  • Adjusted resource hours updated in the scheduling software

You can then use powerful features in Cobra such as top-down planning to convert these resource loadings into a fully costed budget baseline, and you can update the schedule with data from Cobra.

The Integration wizard is a user-friendly feature that allows you to define how your Cobra project should be created or updated from your schedule. The Integration Wizard also allows you to load code files from your schedule. You may save only the settings you have made for your configuration, or you may synchronize Cobra with your schedule as well.

The following is a list of items that can be loaded from a schedule:

  • Code files
  • Resource definitions and rates
  • Budget
  • Code assignments
  • Status
  • Forecast

Prepare Cobra for Schedule Integration

It is possible to load information such as rates from your schedule using the Integration wizard.

If the information in the schedule is not accurate, you can create these files manually before using the Integration wizard and refer to them during the integration process. You may need to create the following files before the integration process:

  • Code Files
  • Resource Files
  • Rates
  • Template Resource Files
  • Calendar
Cobra Project

You can create an empty project in Cobra into which to load the schedule data. For example, if your schedule contains cost classes other than current budget (CB), you should create a blank project with all valid cost classes defined before loading the budget.

Note: When loading data into an existing project, delete items from Cobra that are not in the schedule option located on the Action Selection page of the Integration wizard.

If the work package record does not exist, Cobra creates the appropriate progress technique and sets the work package start and finish dates exactly equal to the activity dates. If the work package record exists at the time you load the schedule, Cobra adjusts only the required data. For example, if the activity has slipped and the finish date is greater than the work package finish date, Cobra adjusts the work package finish date, not the work package start date.

Code Files

There are three ways to create code files and breakdown structures:

  1. You can have the Integration wizard automatically create these files, in which case Cobra determines the structure type from the data in the schedule.
  2. You can create the empty code files manually before running the Integration wizard. This enables you to specify the structure of your choice. The Integration Wizard then populates the code file with the values found in the schedule.
  3. You can create and populate the code file before loading the schedule. This enables you to validate the entries in the schedule against the code file.

Note: If you want to use a non-significant breakdown structure in Cobra that is punctuated in the schedule, you must create the non-significant breakdown structure before the integration process. You can then load the codes from the schedule into the code file.

Resource Files

You can roll up resource information by defining the budget element calculations for a higher-level resource. It is possible to roll up resource information by defining the budget calculations for higher-level resource but not for lower-level resource. The lower-level resource requirements can be combined and rolled up to a higher level for costing purposes.

Cobra loads the unit rate from the resource file only if the value for the rate is any value other than 0 or 1. If the rate for the resource is not equal to 0 or 1 and a calculation template is not used, Cobra creates resource assignments with the result of HOURS and DIRECT, where the direct rate comes from the rate defined in the schedule. If the rate for the resource is equal to 0 or 1, Cobra creates the resource assignment with a single result of DIRECT.


You can load direct rates from the schedule using the Integration Wizard. If you have results other than direct, enter these rates into the rate file before loading budgets or forecasts. For example, if you plan to use a template resource file, you will need to create OVERHEAD and G&A rates.

Template Resource Files

You can define complex burden structures to be used during the load resource definition process in the Integration wizard by creating a template resource file.


You can create a calendar in two ways:

  1. You can have the Integration wizard automatically create the calendar file.
  2. You can create the calendar file manually before running the Integration wizard. This enables you to adjust period cut-off dates and working hours before the baseline is loaded.

Note: Cobra determines baseline spread by fiscal cut-off dates and working hours.

Prepare the Primavera Schedule

Use the information in this topic to prepare the Primavera schedule before exporting it to Cobra

File Format

There are two methods for integrating with Primavera:

  1. Use Cobra to read the Primavera database
  2. Use the Primavera Application Programming Interface (API)

You must set up a data source name (DSN) to connect to the database regardless of the selected connection method for importing data. When using the API, the DSN connection allows you to select the fields in the Integration wizard.

Using the database is much faster than using the API; however, the resource data is spread linearly across the activity dates. Using the API to connect to Primavera provides daily time phased data and thus, the resources imported into Cobra closely match the resource spread in Primavera.

To use the API, first confirm that all the demonstration applications that come with Primavera work while logged into the application tier of Cobra

After confirming that the demonstration applications are operational, click New on the Connection Selection page of the Integration wizard. In the New Connection dialog box, complete the following steps:

  • Check Load daily time-phased data
  • Enter the username, password, and location of the API

This location must be accessible to the application tier where the application is usually installed.

Note: You can use one connection file to import time phased data using the API and another connection file using a straight connection to the database to improve performance of the status updates.

Identifying the Link

Before importing data into Cobra, you must define how you want to link activities to control accounts and work packages. For example, you can use the Work Breakdown Structure field to identify the control account in Cobra and the activity ID to identify the work package. Alternatively, you can use a code on the activity to represent a work package in Cobra and use the activity ID as the milestone step or use one of the codes or user text fields of Primavera to identify the link.

The following fields are available link to Cobra fields as control accounts, work packages, and milestones steps:

  • Task Code
  • Work Breakdown Structure
  • Discipline
  • Activity codes—Global
  • User Defined Text fields
  • Resource Cost Account

These determine the fields that define the control account or work package to be created or updated and identify the progress technique or the class. You can use user number fields to identify the milestone weight. Note: Cobra displays only the codes with values in the selected project.

User Defined Text fields loaded from Primavera must have the following:

  • The data type should be Text
  • The user defined fields should be under Activities
  • The user defined field must have values assigned in the Primavera project selected in the Integration wizard
Resource and Rates

In the import of resource rates, Cobra imports the escalated rates from the Primavera resource rates table. The fields imported are resource name, start date, and cost per quantity.

Load Resource Codes as Non-Significant Format

Under most circumstances, you must import the data into a non-significant structure so that you can indicate parent codes such as Labor and Material. Do not check this box if you use periods in your resource codes to identify parent information.

Use Template for Resource Calculations

If you indicate to create a new resource file or rate when importing from the schedule, you can use a template for resource calculations. This option is located on the Resources and Rates page of the Integration Wizard. If you select this option, you can select a resource file in Cobra that is used to define how resources being imported from the schedule are burdened or have multiple results in the calculation.

If a resource in the template resource file matches a resource name in the schedule, that resource is copied from the template file to the new resource file being created; otherwise, the resource type is used to determine what resource in the template is used to obtain the calculation.

To define the calculations for a resource, create a resource in the template file with the same name as the resource type. Examples are Labor or Nonlabor. Cobra creates the calculations for these resources using these units with the same calculation as in the template file.

Resource Assignments

When linking with a resource loaded schedule, the following are the options on the Resource Assignments page of the Integration Wizard for retrieving labor:

  • Budgeted Quantity: Values stored in the budgeted units (Target_qty) field are imported when importing a budget. Values stored in the Pending Remaining Units (Remain_qty) field are imported when importing forecast data.
  • Budgeted Cost: Values stored in the budget cost are imported when selecting to import from a budget. Values stored in the remaining cost are imported when you select a forecast.
Resource Definitions

If the rate for a resource is greater than one and a calculation template is not used, Cobra creates resources with the result of HOURS and DIRECT where the direct rate comes from the rate defined in the schedule. If the rate for the resource is equal to 0 or 1, Cobra creates the resource with a single result of DIRECT


A best practice to consider and embrace within an organization deploying Primavera P6 and Cobra is to document desktop instructions for the EVM user community to access as needed and promote and keep “evergreen” as programs and organizations mature in EVM Capability. This topic is the first of four in my Deltek Cobra cost/schedule data sharing series:

  1. Oracle Primavera P6 (this article)
  2. Microsoft Project Professional
  3. Deltek Open Plan
  4. Microsoft Excel

If you’re building a team and you have positions you can’t fill, you need to use SMA Talent on Demand (TOD®)! With TOD®, you can find experienced talent, such as Alan, matched to your exact needs:

Published on July 1, 2020 by

Dick Eassom, CF APMP Fellow