Error: "java.sql.SQLIntegrityConstraintViolationException: ORA-01400: Cannot Insert NULL Into ("ADMUSER"."TASKRSRC"."TASK_ID")" or "("ADMUSER."TASKACTV"."TASK_ID")" or "("ADMUSER"."TASKMEMO"."TASK_ID")" Copy/Pasting Projects

(Doc ID 2190755.1)

Last updated on FEBRUARY 14, 2018

Applies to:

Primavera P6 Enterprise Project Portfolio Management - Version 15.2.0.0 and later
Information in this document applies to any platform.

Symptoms

When attempting to copy/paste a project in P6 Professional or P6 Web, the copy/paste job fails and one of the following errors are logged to the P6WebAccess.html Log file:

ERROR #1
-----------------------

"java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("ADMUSER"."TASKRSRC"."TASK_ID")"

FULL ERROR:

PreparedStatementCallback; SQL [insert into TASKRSRC(TASKRSRC_ID,TASK_ID,PROJ_ID,RSRC_TYPE,COST_QTY_LINK_FLAG,ROLE_ID,ACCT_ID,RSRC_ID,POBS_ID,SKILL_LEVEL,PEND_COMPLETE_PCT,REMAIN_QTY,PEND_REMAIN_QTY,TARGET_QTY,REMAIN_QTY_PER_HR,PEND_ACT_REG_QTY,TARGET_LAG_DRTN_HR_CNT,TARGET_QTY_PER_HR,ACT_OT_QTY,PEND_ACT_OT_QTY,ACT_REG_QTY,RELAG_DRTN_HR_CNT,OT_FACTOR,COST_PER_QTY,TARGET_COST,ACT_REG_COST,ACT_OT_COST,REMAIN_COST,ACT_START_DATE,ACT_END_DATE,RESTART_DATE,REEND_DATE,TARGET_START_DATE,TARGET_END_DATE,REM_LATE_START_DATE,REM_LATE_END_DATE,GUID,RATE_TYPE,ACT_THIS_PER_COST,ACT_THIS_PER_QTY,CURV_ID,ROLLUP_DATES_FLAG,COST_PER_QTY_SOURCE_TYPE,REMAIN_CRV,TARGET_CRV,ACTUAL_CRV,RSRC_REQUEST_DATA,TS_PEND_ACT_END_FLAG,PRIOR_TS_ACT_REG_QTY,PRIOR_TS_ACT_OT_QTY,STARRED_FLAG,UPDATE_DATE,UPDATE_USER,CREATE_DATE,CREATE_USER,DELETE_SESSION_ID,DELETE_DATE) select xref1.new_id,xref2.new_id,xref3.new_id,RSRC_TYPE,COST_QTY_LINK_FLAG,ROLE_ID,ACCT_ID,RSRC_ID,POBS_ID,SKILL_LEVEL,PEND_COMPLETE_PCT,REMAIN_QTY,PEND_REMAIN_QTY,TARGET_QTY,REMAIN_QTY_PER_HR,PEND_ACT_REG_QTY,TARGET_LAG_DRTN_HR_CNT,TARGET_QTY_PER_HR,ACT_OT_QTY,PEND_ACT_OT_QTY,ACT_REG_QTY,RELAG_DRTN_HR_CNT,OT_FACTOR,COST_PER_QTY,TARGET_COST,ACT_REG_COST,ACT_OT_COST,REMAIN_COST,ACT_START_DATE,ACT_END_DATE,RESTART_DATE,REEND_DATE,TARGET_START_DATE,TARGET_END_DATE,REM_LATE_START_DATE,REM_LATE_END_DATE,GUID,RATE_TYPE,ACT_THIS_PER_COST,ACT_THIS_PER_QTY,CURV_ID,ROLLUP_DATES_FLAG,COST_PER_QTY_SOURCE_TYPE,REMAIN_CRV,TARGET_CRV,ACTUAL_CRV,RSRC_REQUEST_DATA,TS_PEND_ACT_END_FLAG,PRIOR_TS_ACT_REG_QTY,PRIOR_TS_ACT_OT_QTY,STARRED_FLAG,null,UPDATE_USER,null,CREATE_USER,DELETE_SESSION_ID,null from TASKRSRC JOIN PC_KEY_XREF xref1 ON TASKRSRC_ID=xref1.source_id and xref1.ref_table='TASKRSRC' and xref1.execution_id=? LEFT OUTER JOIN PC_KEY_XREF xref2 ON TASK_ID=xref2.source_id and xref2.ref_table='TASK' and xref2.execution_id=? LEFT OUTER JOIN PC_KEY_XREF xref3 ON PROJ_ID=xref3.source_id and xref3.ref_table='PROJECT' and xref3.execution_id=?]; ORA-01400: cannot insert NULL into ("ADMUSER"."TASKRSRC"."TASK_ID") ; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("ADMUSER"."TASKRSRC"."TASK_ID")


ERROR #2

-----------------------

"java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("ADMUSER."TASKACTV"."TASK_ID")"

FULL ERROR:

PreparedStatementCallback; SQL [insert /*+ index(TASKACTV,NDX_TASKACTV_PROJ_TASK_ACTV) */ 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 /*+ index(TASKACTV,NDX_TASKACTV_PROJ_TASK_ACTV) */ 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-01400: cannot insert NULL into ("ADMUSER"."TASKACTV"."TASK_ID") ; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("ADMUSER"."TASKACTV"."TASK_ID")


ERROR #3

-----------------------

"java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("ADMUSER"."TASKMEMO"."TASK_ID")"

FULL ERROR:

PreparedStatementCallback; SQL [insert into TASKMEMO(MEMO_ID,TASK_ID,MEMO_TYPE_ID,PROJ_ID,TASK_MEMO,UPDATE_DATE,UPDATE_USER,CREATE_DATE,CREATE_USER,DELETE_SESSION_ID,DELETE_DATE) select xref1.new_id,xref2.new_id,MEMO_TYPE_ID,xref3.new_id,TASK_MEMO,null,UPDATE_USER,null,CREATE_USER,DELETE_SESSION_ID,null from TASKMEMO JOIN PC_KEY_XREF xref1 ON MEMO_ID=xref1.source_id and xref1.ref_table='TASKMEMO' and xref1.execution_id=? LEFT OUTER JOIN PC_KEY_XREF xref2 ON TASK_ID=xref2.source_id and xref2.ref_table='TASK' and xref2.execution_id=? LEFT OUTER JOIN PC_KEY_XREF xref3 ON PROJ_ID=xref3.source_id and xref3.ref_table='PROJECT' and xref3.execution_id=? where MEMO_ID in (select source_id from PC_KEY_XREF where REF_TABLE ='TASKMEMO' and execution_id=?)]; ORA-01400: cannot insert NULL into ("ADMUSER"."TASKMEMO"."TASK_ID") ; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("ADMUSER"."TASKMEMO"."TASK_ID")


STEPS TO REPRODUCE

-----------------------

The issue can be reproduced at will with the following steps:

  1. Login to P6 Professional or P6 Web
  2. Copy and Paste a project
  3. View the job status and note the failure
  4. Note the associated job failure message in P6WebAccess.html


ADDITIONAL INFORMATION

-----------------------
Using 15.2.9 p6services, the copy/paste operation completes "with a successful status", however, the errors still occur in the P6WebAccess.html log file and result in missing rows from the newly created project in the associated table above.

Changes

 

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