What is the most efficient method for importing a large batch of XER files into a P6 database?

P6SchedulingGeneral2 September 202622 views

AI Answer

Most Efficient Methods for Batch Importing XER Files into a P6 Database:

When dealing with a large number of XER files, manual import through the P6 interface is impractical. Below are the recommended approaches, ranked by efficiency and reliability.

1. P6 Integration API (Best for EPPM environments):

  • The P6 Integration API (REST or Java-based SDK) is the most robust solution for bulk imports.

  • Write a script that iterates through XER files and calls the API sequentially or in parallel.

  • Supports logging, error handling, and scheduling — far superior to manual UI imports.

  • Suitable for enterprise environments running P6 EPPM.
  • 2. Automated Script with P6 Professional UI (Practical alternative):

  • P6 Professional does not natively support command-line XER import, but you can automate the Tools > Import workflow using UI automation tools such as AutoIt, PowerShell with SendKeys, or similar.

  • Less elegant but effective for straightforward batch jobs.

  • Prone to breaking if P6 UI changes — always test on a small batch first.
  • 3. Python XER Parser + Direct Database Insert (Advanced users only):

  • XER files are plain-text, tab-delimited files with a well-known structure.

  • Open-source Python libraries such as xerparser can parse XER files and allow programmatic insertion into the P6 database (PostgreSQL or MSSQL).

  • Warning: Direct database manipulation bypasses P6 business logic, risks data integrity issues, and is unsupported by Oracle. Only use in controlled environments with a full database backup.

  • Requires deep knowledge of the P6 database schema.
  • 4. Third-Party Migration Tools:

  • Some commercial scheduling tools and consultants offer bulk XER migration utilities.

  • Evaluate carefully — ensure compatibility with your specific P6 version and database type.
  • Practical Recommendations:

  • Always take a full database backup before any bulk import operation.

  • Import in smaller batches (e.g., 50 files at a time) to simplify troubleshooting if errors occur.

  • Validate a sample of imported projects post-import to confirm data integrity (activities, relationships, resources, calendars).

  • If projects share global data (calendars, resources, codes), resolve conflicts and set import settings consistently before batch processing.

  • Use P6 Professional import settings to control how conflicts are handled: Update existing vs Create new for projects, resources, and calendars.

Summary Table:

Method                  | Speed  | Complexity | Risk
P6 Integration API | High | Medium | Low
UI Automation Script | Medium | Low-Med | Low-Med
Python + DB Insert | High | High | High
Third-Party Tools | Varies | Low | Medium

Generated by AI — reviewed by our team

Related Questions

Have a question?

Join our Telegram community and ask our planning experts directly.

Join Telegram Community