Saving Baselines in P6 EPPM Throws Various Integrity Constraint Errors ORA-02291 (Doc ID 2306549.1)

Last updated on SEPTEMBER 21, 2017

Applies to:

Primavera P6 Professional Project Management - Version 8.3 and later
Primavera P6 Enterprise Project Portfolio Management - Version 8.3 and later
Primavera P6 Enterprise Project Portfolio Management Cloud Service - Version 8.2.4.0 and later
Information in this document applies to any platform.

Symptoms

When attempting to save baselines in P6 the following integrity constraint violations occur in the P6WebAccess.html.

ERROR
-----------------------
SUMTASK(PROJ_ID,WBS_ID,BCWP,BCWS,EAC,EAC_WORK_QTY,ETC,ETC_WORK_QTY,PERFM_WORK_QTY,SCHED_WORK_QTY,COMPLETE_CNT,ACTIVE_CNT,NOTSTARTED_CNT,BASE_COMPLETE_CNT,BASE_ACTIVE_CNT,BASE_NOTSTARTED_CNT,ACT_DRTN_HR_CNT,TOTAL_DRTN_HR_CNT,BASE_DRTN_HR_CNT,REMAIN_DRTN_HR_CNT,TOTAL_FLOAT_HR_CNT,ACT_END_DATE,ACT_START_DATE,BASE_END_DATE,BASE_START_DATE,REEND_DATE,RESTART_DATE,ACT_THIS_PER_WORK_COST,ACT_THIS_PER_WORK_QTY,ACT_THIS_PER_EQUIP_COST,ACT_THIS_PER_EQUIP_QTY,ACT_THIS_PER_MAT_COST,ACT_COST,ACT_EQUIP_COST,ACT_EXPENSE_COST,ACT_MAT_COST,ACT_WORK_COST,ACT_EQUIP_QTY,ACT_WORK_QTY,BASE_COST,BASE_EQUIP_COST,BASE_EXPENSE_COST,BASE_MAT_COST,BASE_WORK_COST,BASE_EQUIP_QTY,BASE_WORK_QTY,REMAIN_COST,REMAIN_EQUIP_COST,REMAIN_EXPENSE_COST,REMAIN_MAT_COST,REMAIN_WORK_COST,REMAIN_EQUIP_QTY,REMAIN_WORK_QTY,TARGET_COST,TARGET_EQUIP_COST,TARGET_EXPENSE_COST,TARGET_MAT_COST,TARGET_WORK_COST,TARGET_EQUIP_QTY,TARGET_WORK_QTY,TOTAL_COST,TOTAL_EQUIP_COST,TOTAL_EXPENSE_COST,TOTAL_MAT_COST,TOTAL_WORK_COST,TOTAL_EQUIP_QTY,TOTAL_WORK_QTY,TARGET_START_DATE,TARGET_END_DATE,TARGET_DRTN_HR_CNT) select xref1.new_id,xref2.new_id,BCWP,BCWS,EAC,EAC_WORK_QTY,ETC,ETC_WORK_QTY,PERFM_WORK_QTY,SCHED_WORK_QTY,COMPLETE_CNT,ACTIVE_CNT,NOTSTARTED_CNT,BASE_COMPLETE_CNT,BASE_ACTIVE_CNT,BASE_NOTSTARTED_CNT,ACT_DRTN_HR_CNT,TOTAL_DRTN_HR_CNT,BASE_DRTN_HR_CNT,REMAIN_DRTN_HR_CNT,TOTAL_FLOAT_HR_CNT,ACT_END_DATE,ACT_START_DATE,BASE_END_DATE,BASE_START_DATE,REEND_DATE,RESTART_DATE,ACT_THIS_PER_WORK_COST,ACT_THIS_PER_WORK_QTY,ACT_THIS_PER_EQUIP_COST,ACT_THIS_PER_EQUIP_QTY,ACT_THIS_PER_MAT_COST,ACT_COST,ACT_EQUIP_COST,ACT_EXPENSE_COST,ACT_MAT_COST,ACT_WORK_COST,ACT_EQUIP_QTY,ACT_WORK_QTY,BASE_COST,BASE_EQUIP_COST,BASE_EXPENSE_COST,BASE_MAT_COST,BASE_WORK_COST,BASE_EQUIP_QTY,BASE_WORK_QTY,REMAIN_COST,REMAIN_EQUIP_COST,REMAIN_EXPENSE_COST,REMAIN_MAT_COST,REMAIN_WORK_COST,REMAIN_EQUIP_QTY,REMAIN_WORK_QTY,TARGET_COST,TARGET_EQUIP_COST,TARGET_EXPENSE_COST,TARGET_MAT_COST,TARGET_WORK_COST,TARGET_EQUIP_QTY,TARGET_WORK_QTY,TOTAL_COST,TOTAL_EQUIP_COST,TOTAL_EXPENSE_COST,TOTAL_MAT_COST,TOTAL_WORK_COST,TOTAL_EQUIP_QTY,TOTAL_WORK_QTY,TARGET_START_DATE,TARGET_END_DATE,TARGET_DRTN_HR_CNT from SUMTASK JOIN PC_KEY_XREF xref1 ON PROJ_ID=xref1.source_id and xref1.ref_table='PROJECT' and xref1.execution_id=? LEFT OUTER JOIN PC_KEY_XREF xref2 ON WBS_ID=xref2.source_id and xref2.ref_table='PROJWBS' and xref2.execution_id=? where PROJ_ID in (select source_id from PC_KEY_XREF where REF_TABLE ='PROJECT' and execution_id=?)]; ORA-02291: integrity constraint (ADMUSER.FK_SUMTASK_PROJWBS) violated - parent key not found
; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (ADMUSER.FK_SUMTASK_PROJWBS) violated - parent key not found

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:243)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:660)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:909)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:970)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:980)
at com.primavera.infr.dbcrud.core.JdbcTemplateDAO.execute(Unknown Source)
at com.primavera.infr.dbcrud.copy.binding.custom.CustomStep.call(Unknown Source)
at com.primavera.infr.dbcrud.copy.binding.custom.CustomStep.call(Unknown Source)
at com.primavera.infr.threadpool.SEAdapter$CallableAdapter.execute(Unknown Source)
at com.primavera.infr.threadpool.ThreadPoolImpl.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (ADMUSER.FK_SUMTASK_PROJWBS) violate

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3665)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1352)
at com.primavera.infr.db.PPreparedStatement.executeUpdate(Unknown Source)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:916)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:909)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:644)
... 9 more
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [insert into TASKACTV(TASK_ID,ACTV_CODE_TYPE_ID,ACTV_CODE_ID,PROJ_ID,UPDATE_DATE,UPDATE_USER,CREATE_DATE,CREATE_USER,DELETE_SESSION_ID,DELETE_DATE) select xref1.new_id,NVL(xref2.new_id,ACTV_CODE_TYPE_ID),NVL(xref3.new_id,ACTV_CODE_ID),xref4.new_id,null,UPDATE_USER,null,CREATE_USER,DELETE_SESSION_ID,null from TASKACTV LEFT OUTER JOIN PC_KEY_XREF xref1 ON TASK_ID=xref1.source_id and xref1.ref_table='TASK' and xref1.execution_id=? LEFT OUTER JOIN PC_KEY_XREF xref2 ON ACTV_CODE_TYPE_ID=xref2.source_id and xref2.ref_table='ACTVTYPE' and xref2.execution_id=? LEFT OUTER JOIN PC_KEY_XREF xref3 ON ACTV_CODE_ID=xref3.source_id and xref3.ref_table='ACTVCODE' and xref3.execution_id=? JOIN PC_KEY_XREF xref4 ON PROJ_ID=xref4.source_id and xref4.ref_table='PROJECT' and xref4.execution_id=? where PROJ_ID in (select source_id from PC_KEY_XREF where REF_TABLE ='PROJECT' and execution_id=?)]; ORA-02291: integrity constraint (ADMUSER.FK_TASKACTV_TASK) violated - parent key not found
; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (ADMUSER.FK_TASKACTV_TASK) violated - parent key not found

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3665)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1352)
at com.primavera.infr.db.PPreparedStatement.executeUpdate(Unknown Source)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:916)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:909)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:644)
... 9 more
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [insert into TASKACTV(TASK_ID,ACTV_CODE_TYPE_ID,ACTV_CODE_ID,PROJ_ID,UPDATE_DATE,UPDATE_USER,CREATE_DATE,CREATE_USER,DELETE_SESSION_ID,DELETE_DATE) select xref1.new_id,NVL(xref2.new_id,ACTV_CODE_TYPE_ID),NVL(xref3.new_id,ACTV_CODE_ID),xref4.new_id,null,UPDATE_USER,null,CREATE_USER,DELETE_SESSION_ID,null from TASKACTV LEFT OUTER JOIN PC_KEY_XREF xref1 ON TASK_ID=xref1.source_id and xref1.ref_table='TASK' and xref1.execution_id=? LEFT OUTER JOIN PC_KEY_XREF xref2 ON ACTV_CODE_TYPE_ID=xref2.source_id and xref2.ref_table='ACTVTYPE' and xref2.execution_id=? LEFT OUTER JOIN PC_KEY_XREF xref3 ON ACTV_CODE_ID=xref3.source_id and xref3.ref_table='ACTVCODE' and xref3.execution_id=? JOIN PC_KEY_XREF xref4 ON PROJ_ID=xref4.source_id and xref4.ref_table='PROJECT' and xref4.execution_id=? where PROJ_ID in (select source_id from PC_KEY_XREF where REF_TABLE ='PROJECT' and execution_id=?)]; ORA-02291: integrity constraint (ADMUSER.FK_TASKACTV_ACTVCODE) violated - parent key not found
; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (ADMUSER.FK_TASKACTV_ACTVCODE) violated - parent key not found

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:243)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)

at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:243)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:660)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:909)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:970)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:980)
at com.primavera.infr.dbcrud.core.JdbcTemplateDAO.execute(Unknown Source)
at com.primavera.infr.dbcrud.copy.binding.custom.CustomStep.call(Unknown Source)
at com.primavera.infr.dbcrud.copy.binding.custom.CustomStep.call(Unknown Source)
at com.primavera.infr.threadpool.SEAdapter$CallableAdapter.execute(Unknown Source)
at com.primavera.infr.threadpool.ThreadPoolImpl.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (ADMUSER.FK_TASKACTV_TASK) violated

STEPS TO REPRODUCE
----------------------

  1. Log into P6 (web)
  2. Select the Project tab
  3. Open a project on the Project/EPS applet
  4. Select the Activities link to load the activities applet
  5. Select Actions-> Define Baselines
  6. Click on + icon to add a baseline
  7. Select Save
  8. Note the error which occurs

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms