Skip to main content

Quick fixes part 2

As early as July 2019, we reported on the Quick Fix function ( that the proimporter offers. XER and MSP files can contain data elements that can cause various problems when imported into the Oracle® Primavera P6 database.

For example, IDs that are too long, the import of unused global data, the overwriting of global calendars, too many baselines to import, as well as the different logics when importing Microsoft Project® files into Oracle® Primavera P6.

In order to be able to detect and correct such issues without much manual effort, the proimporter offers a validation module with Quick Fix functions.
As we are constantly developing our proimporter further, the scope of the Quick Fix function is also expanding.
For example, a standard import with Oracle® Primavera P6 also imports project, activity and resource IDs whose character length exceeds the maximum value set in the P6 configuration. This violates the conventions of the respective company and leads to inconsistencies in your P6 EPPM database.

In contrast, the proimporter does not use the P6 standard import functionality but uses the connection via the P6 API for this purpose. In contrast to the standard XER import, it is therefore possible to avoid inconsistencies. The proimporter intervenes with its QuickFix functionality and supports the user in advance with a validation function to avoid error messages during import.
The proimporter gives the user the opportunity to manually edit the ID according to his own company standard before shortening it. If this is not desired, the proimporter shortens the last superfluous characters using the QuickFix and adds a suffix. This guarantees that the IDs remain unique and unambiguous
In the following chapters, we will go deeper into the topic and explain the Quick Fix functions in more detail.

Check for the length of the ID

The proimporter checks the ID fields for their character length and with the Quick Fix function offers the solution to shorten the ID / code to an allowed length and add a suffix for better recognizability.
The following IDs will be checked:

  • Project ID
  • WBS code
  • Activity ID
  • Role ID
  • Resource ID
  • Activity Code Value
  • Project Code Value
  • Resource Code Value

The following name fields are checked for character length:

  • WBS Name
  • Activity Name
Review of the elements for any possible duplication

The proimporter checks whether certain elements to be imported from the XER or MSP file already exist in the P6 database.
The following Quick Fix functions are available, depending on the respective application case:

The project already exists in database
The proimporter recognizes that the project already exists in the P6 database and automatically sets the import function to Update. The user has the possibility to adjust the project ID at any time and to have the project newly created.

Selection of EPS-nodes
A project can only be imported into the P6 database if an EPS node is specified. If no EPS node was selected for the import, the proimporter prevents the import and points out the problem.

Check for uniqueness

Certain objects must be unique in Oracle® Primavera P6. A XER file import into Oracle® Primavera P6 can lead to double entries in the database - for example, for Projects (Project ID), Roles (Role ID), Resources (Resource ID) or Global Calendars - which in turn leads to a considerable amount of additional manual effort in the data cleansing process. The Oracle® Primavera P6 has no control function for this.
The proimporter compares the objects contained in the XER or MSP file with the P6 database and thus checks their uniqueness. If a certain field already exists with the same value in the P6 database, a solution is offered:

  • Edit ID and create data element
  • Update existing data element with the information from the import file (for non-global data elements).
  • Use existing data element from the database
  • Exclude data element from the import
Import of resource calendars

The standard import of resource calendars also imports calendars from a XER file that are not assigned to a resource. Thus, databases are often overloaded with unused calendars. The proimporter indicates when a calendar is not used by a resource and lets the user decide whether the calendar should be imported.

Hierarchical structures

The level of depth of hierarchical structures in Oracle® Primavera P6 is defined in each database by the administrator. If the settings of the file to be imported do not match with the setting of the database, an Oracle® Primavera P6 standard import occur inconsistencies, because the invalid hierarchy levels are also imported.

The proimporter checks elements contained in the imported file for the depth of their hierarchical structure and compares them with the settings of your P6 configuration.

If some of the listed elements contain a non-permitted structure depth in the new database, suitable solutions are offered. For example, the user can assign a higher level to the affected structure elements and thus ensure that the database consistency is maintained by the import.

  • WBS Level
  • Ressource Level
  • Role Level
  • Cost Account Level
  • Project Code Level
  • Ressource Code Level
  • Activity Code Level

During the import by proimporter the milestones from MSP files are verified according to the constraints. If a start milestone has a Finish on or Finish as late as possible constraint, it can be converted into an end milestone by the Quick Fix function to maintain the logic behind it.

Level of Effort

In Microsoft Project®, a Hammock Activity (Level of Effort) can contain additional, conventional links (predecessor and successor relationships) in addition to the linked start and end dates. For Oracle® Primavera P6 logic this is technically wrong, because the hammock activity should only be driven by the linked start and end dates.
With a standard import this is not considered by Oracle® Primavera P6 and all links are imported. In addition, the standard import can no longer recognize that this is a Level of Effort. As a result, the results of scheduling the schedule are unpredictable.
The proimporter validates if there are further links - besides the linked start and end date - the conventional links are deleted, and the linked data are converted in a predecessor and a successor relationship.

quickfix hammock


2020 03 18 quickfix hammock ENG 02


The number of baselines can be limited in Oracle® Primavera P6 by the administrator.
The validation function of the proimporter checks the number of allowed baselines in the database configuration. If the number of baselines to be imported exceeds this specified value, the proimporter offers the user a selection function of baselines to be imported.
This allows the required baselines to be selected easily and clearly without exceeding the data limits of the database configuration.


With the Oracle® Primavera P6 standard import, EPS activity codes and their specific code values are only imported if they already exist in the P6 database. Otherwise they will be lost.
The proimporter checks if the EPS Activity Code exists in the target EPS node for the import.
If the specific EPS Activity Codes are available in the database, the proimporter takes them over and updates the code values.
Otherwise, the EPS Activity Code will be newly created under the respective EPS element.
If the identical EPS Activity Code exists in another EPS node, an import is not possible due to uniqueness. The EPS Activity Code can be imported project specific or the user hs to rename the code in the proimporter interface.

Import possibilities

The proimporter checks different objects in the importing XER or MSP file for their existence in the database.
The User can choose between different options:

  • Use Instead - for already existing objects
  • Create Under - for new objects
  • Ignore - in both cases above
WBS elements

Projects in the planning phase can be assigned a "What-If" status in Oracle® Primavera P6. This status is transferred to the WBS structure contained in the project. The status of the WBS structure must not differ from the status of the project. Accordingly, the status of a WBS element may not be changed independently from the project status.
By the selection in the proimporter it would be possible to exclude the project itself from the update and to update only certain WBS elements contained in it.
With such an update it could happen that WBS elements in an active project get the "What-If" status. This is detected as a risk by the Quick Fix and the proimporter checks the status of the WBS elements to be imported.
A status of the WBS structure that deviates from the parent project is not allowed.

Do you have any suggestions?

You are welcome to send us your suggestions via our contact form. You can also use the chat function on the proimporter website. At regular periods we also offer webcasts for our proimporter. The dates for this can be found on our website or you can follow us on our social media channels.