Primavera Integration (PROJX)

  • 21 April 2020
  • 3 replies
  • 2446 views

Userlevel 7
Badge +18

Primavera Integration (PROJX)

This document describes how to install the IFS-Primavera Project integration.

Use this document when an integration is installed or configured.

Deployment Overview

Primavera%20Architecture.PNG

Step 1: Install Primavera Software


Prerequisite

Prior to running the setup, Oracle Web Logic Server and Database (Oracle or SQL Server) should be setup. Please refer relevant Primavera documentation for additional information (Web logic and database versions should be supported by Primavera)
 

Primavera Installation

Relative location of the installation is "Primavera P6 Enterprise Project Portfolio Management (18.8 or 17.9) for Microsoft Windows x64 (64-bit)\(P6_R179)\Disk1\install\setup.exe". Start the setup and proceed. Make sure (P6 17.9/18.8 and P6 Integration API 17.9.0.0/18.8) is checked. The integration API will be installed in Remote Mode by default.

primavera_install16.2.PNG

Primavera Integration API Installer will invoke the Database Configuration window and permission to use the database will be requested.

  1. Select one of the two options, Oracle or Microsoft SQL Server or SQL Express.
  2. If Microsoft SQL Server or SQL Server Express is selected, the SQL Server should be installed using Mixed Mode Authentication instead of Windows Authentication.

Note that for any of the above options, the Integration API requires pubuser access to the database.

Once the setup is finished, the configuration wizard will open.
 

Install Primavera Database

From the P6 EPPM configurations wizard, Primavera can be deployed in the database which was created in earlier step.

primavera_databse.PNG

Both Oracle and Microsoft SQL server are supported as databases. Refer the Primavera documentation for further details on Primavera installation.
 

Configure Web Logic for Primavera

Configure the web logic server for Primavera deployment. Refer Primavera documentation for further detail.

weblogic_config.PNG

 

Setup Business Rule Engine (Deploy Integration War)

Deploy the PrimaveraAPI.war file to the Web logic server. You may find the WAR file in <Primavera Home>\api\applications

 

Verify Primavera User

 Log on to the Primavera database using the Primavera Project Management web client (http://<server>:<port>/p6/action/login). Please use the default Primavera user admin with password  admin. For further information, please refer the Primavera documentation.

Verify that the Primavera user to be used for exporting/importing to/from Primavera is licensed to access the Primavera Integration API. This can be set in the Primavera Project Management client under Admin\Users Access. In the examples used, Primavera user Admin is configured for this purpose. Following image shows how it is done in P6 V17.9.


UserGrantIntegration.png

Step 2: Installing the Primavera Integration API Client-Side Packages

The Integration API is a set of Java classes provided by Primavera. Please refer to Primavera Integration API Administrator's Guide for more information.

  1. Primavera Integration API and IFS Middleware Server should be installed on the same machine. The installation path of Integration API is called PrimaveraBootstraphome and this path should not contain spaces.
  2. Make sure you have the required Java version available on the machine where you want to set up the Integration API. The required Java version can be found in the Primavera Integration API Administrator's Guide. Please follow the Primavera Integration API Installer.
  3. Primavera Integration API Installer will request the installation type, please select the Client Side Package Only option.
  4. The Demo Applications and Integration API Javadoc components are not required to be selected. These components are not mandatory for the integration.

Step 3: Configure Middleware Server for IFS Integration API (PROJX)
 

It is assumed that IFS Middleware Server is installed and IFS home is ready. A few JVM parameters should be updated for IFS Ingeneration API to function.

Update JVM Parameters

Open IFS Admin Console and log in.

Go to Managed servers and set the Primavera bootstrap home under Argument section. See the picture below for more information.

  1. If the IFS Middleware server is installed on a Windows operating system:

    -Dprimavera.bootstrap.home=C:\P6IntegrationAPI

  2. If the IFS Middleware server is installed on a Linux operating system

    -Dprimavera.bootstrap.home=/opt/P6IntegrationAPI

Note that spaces are not allowed in primavera.bootstrap.home path.

        Set_JVM_parameters_IFSMW_Server.PNG

 

Installing Primavera Integration Libraries

Before the first use of Primavera Integration,

  1. <PrimaveraBootstraphome>\clientlib intgclient.jar should be copied to <IFS_HOME>/wls_domain/<instance>/lib.
  2. Restart IFS Middleware server.

Step 4: Configuration in IFS Applications

 

Setting Runtime Parameters

To finalize the installation, start an IFS Enterprise Explorer and go to Project Management\Integration to External Planning Tools\Integration Setup\Integration Database Setup. Enter basic date as described below.

setup.PNG

Column  Description
Setup ID The identity of the setup used to access the external planning tool. The value in this field is an alphanumerical value that can be manually entered. If it is left empty, a value will be entered by the system.
External Planning Tool The external planning tool for which the integration setup is valid. The List of Values shows the possible values for this field.
External Planning Tool Database The name of the oracle or SQL server database. This database was used in the initial database configuration using Primavera database configuration tool.  Alternatively, this can be found in the BREBootStrap.xml file.
External Planning Tool User Id The user identity that is used to access the external planning tool.
External Planning Tool User Password The password of the user that is used to log into the external planning tool when executing the integration. The value entered in this field will be encrypted.
External Planning Tool Host Name of the web logic server where the Business Rule Engine is deployed.
External Planning Tool Port RMI Port of the above host. Default is 9099
External Planning Tool Time Zone Time Zone of the Primavera server. (Ex. If Primavera server is in Stockholm and IFS Middleware server installed in London, then Time Zone should be set as "(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna"). If both IFS middleware server and Primavera server in same time zone, then this column can be left blank.

You may connect to multiple Primavera Databases of the same version. To facilitate this, add multiple records through above interface.

Security

In the IFS Solution Manager, ensure that the "OperationManager" and "ProjxManageExtProjects" permissions are granted to the "PRIMAVERA_INTEGRATION" role that will run the Primavera Integration. These two permissions are created by default for the permission set "PRIMAVERA_INTEGRATION". If the permission set does not exist after installation it should be created manually (Run projx\database\projx\Security_Primavera_Integration.ins).
SecurityGrants.png

To grant this permission set, only add the new Permission Set to the users that should be allowed access.

Upgrade consideration

It is important to note that there are significant changes in the Primavera deployment when compared to Application 7, 7.5 and 8.  In those versions, Primavera Integration was installed in Local Mode, but Application 9 onward, Remote Mode is used. If you already have Primavera installed and upgrade from App 7.5 or 8, following changes need to be done. (Customers upgrade from App9 does not need to fallow instructions below as they are already installed Primavera in "Remote Mode")

Primavera Integration API-Client Side Packages

During installation of Primavera Integration API, it is required to select "Client Side Package Only" (previously "Local Mode Package Only"). You may uninstall existing installation and re-install with the suggested option. It is mandatory to install this API in the same host where IFS Middleware server is installed.

Setup Business Rule Engine

Primavera Integration API should be installed in the machine where the web logic server has been installed for Primavera. Here the Integration API should be installed in Remote Mode (Refer Primavera Documentation on how Integration is installed in Remote Mode). In addition, PrimaveraAPI.war should be deployed in the web logic server. For detailed information, click here.

Middleware Server Configurations

Primavera libraries in the middleware server lib should be deleted and follow the Step3.

Basic Data Setup

You may notice that there are two new columns in the Integration Database Setup window. External Planning Tool Host and Port should be setup. For additional detail, refer Step 4.

Upgrade to UPD 4 Onward

In Update 4, IFS Applications is released with updated WebLogic and Java versions due to latest critical security patches released by Oracle. This has caused an incompatibility with the Primavera integration API, and as a result the Primavera integration will not work with Update 4 as is. Oracle has provided a solution for this issue with a filter setting in Weblogic server. This suggested solution from Oracle will relax the security settings introduced with latest patches related to RMI calls. More information on the filter setting can be found at Oracle Doc ID 2421487.1. The instructions on how to implement the solution is given below.


 Please add the following properties to the argument section the startup Parameters of the IFS Middleware Server Admin Console
-Dweblogic.oif.serialFilterMode=combine -Dweblogic.oif.serialFilterScope=weblogic -Dweblogic.oif.serialFilter=maxdepth=10000  

IFS Middleware Server Admin Console

Limitations

  1. IFS-Primavera Integration support only Primavera (on premise version). Primavera cloud version is not supported.

FAQ

  1. What Primavera versions are supported?

            P6 EPPM 18.8 and P6 EPPM 17.9 .

  1. When there is no corresponding field in Primavera to an existing field in IFS, a User Defined Field (UDF) is created. This may, at times, cause problems and will render the error saying an element of an array cannot be null.

            Solution: Restarting the Server will solve this issue.

Common errors and solutions
Problem: ORA-20000: operationManager_InitiateImportExport: User MARIO has not been granted access to activity OperationManager
Analysis: Primavera is licensed to access the Primavera Integration API.
Resolution: Verify that the Primavera user to be used for exporting/importing to/from. This can be done in the Primavera Project Management client under Admin\Users licensing.
Problem: ORA-20000: operationManager_InitiateImportExport: Field at index 10 of the field array may not be null
Analysis: A user defined field was created, but the integration can not pick it up properly.
Resolution: Try restarting application server to resolve the issue.
Problem: ORA-20000: operationManager_InitiateImportExport: The session is invalid or has timed out
Analysis: When importing/exporting large projects there is a chance that the extended server timeouts will kill the sessions before the import/export is done.
Resolution: For details about raising the time out settings needed see Primavera time out settings.
Problem: ORA-20000: operationManager_InitiateImportExport: Unable to get database instances.
Analysis: This error normally occurs if the Primavera Integration API version installed is different from the version the IFS part of the integration API expects. You will get this error message if you have installed Primavera P6 V 7 and try to use core IFS Applications 9 which only supports Primavera P6 V8.4 
Resolution: This can be resolved by following the instructions in the Primavera Integration Installation Guide or by applying patch 93225.

3 replies

Userlevel 5
Badge +10

For a customer I have made the following document. This is based on a combination of help files.

Badge +1

Integration refers to the automatic and continuous exchange of data between software systems without any human intervention. Oracle Primavera integration and most popularly Oracle Primavera P6 integrations, are a key component in Emerald's success at helping our clients attain their goals and objectives. 

Badge +1

Integration refers to the automatic and continuous exchange of data between software systems without any human intervention jcp kiosk. Oracle Primavera integration and most popularly Oracle Primavera P6 integrations, are a key component in Emerald's success at helping our clients attain their goals and objectives. 

Primavera as Service Provider Publish Primavera WSDL 3rd Party Web ApplicationExternal App Consumes Web Services HTTP/SOAP DB EAI Application Server UI Layer Data Layer Bus Logic Layer Web Services

Reply