There are a lot of Primavera P6 users who are still using the Primavera P6 SDK or API. And, for many this may work great for their specific use cases. But Oracle, for a long time now, has been trying to move users away from both of these older technologies. The Oracle message is clear, use P6 Web Services for any integration with Primavera P6.
Primavera P6 SDK
The Primavera P6 SDK should not be used. We have been telling clients for years to not use the SDK because it does not follow the P6 business rules and can corrupt data. In addition, the SDK doesn’t have any security. To use the SDK, you must be an Admin Superuser which means that you would have unrestricted access to write to any project in the entire Primavera database. You could also add or delete users, make changes to the system configuration or security settings.
Primavera P6 API
The ‘newer’ P6 API is being deprecated by Oracle. This means that the P6 API can still be used, but its use is discouraged and it will not be updated if there are any issues. If future versions of P6 are not compatible with the API, the API will not be changed to reflect this.
Primavera P6 Web Services
We’ve been using P6 Web Services (with Token Name authentication) for over 10 years. Token Name Authentication is Oracle’s recommended authentication method. When our customers need to update P6 from an Excel file, we usually develop a software solution that reads the Excel file – and then updates P6 with the data using P6 Web Services. Typically, the format of the Excel file is fixed and is created from another application (such a timekeeping system, ERP, etc.).
Summary
So, you should not use the Primavera P6 SDK or API. No, according to Oracle. You should only use P6 Web Services or the import/export capabilities in Primavera P6.
Of course, there are many users still using the SDK. For example, linking from Excel to P6 to bulk load code dictionaries, etc., and it’s working fine for them. Oracle’s position is clear though and it no longer recommends this at all.