Project Does Not Display After Copy/Paste Job Completes When the Project ID Contains a Trailing Dash '-' at the End and Connecting to an Oracle Database

(Doc ID 2356701.1)

Last updated on JUNE 21, 2018

Applies to:

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

Symptoms

After attempting to run a Copy/Paste job within P6 Professional using a Project which contains a trailing dash '-' at the end of the Project ID name, a "Copy Projects" Service Job creates and completes successfully, but the new Project does not display within the application.

The following errors are logged in the P6WebAccess.html log file for the process running "Copy Projects" Service Jobs:

ERROR

PreparedStatementCallback; SQL [insert into PROJWBS WBS_ID,PROJ_ID,OBS_ID,SEQ_NUM,EST_WT,PROJ_NODE_FLAG,SUM_DATA_FLAG,STATUS_CODE,WBS_SHORT_NAME,WBS_NAME,PHASE_ID,PARENT_WBS_ID,EV_USER_PCT,EV_ETC_USER_VALUE,ORIG_COST,INDEP_REMAIN_TOTAL_COST,ANN_DSCNT_RATE_PCT,DSCNT_PERIOD_TYPE,INDEP_REMAIN_WORK_QTY,ANTICIP_START_DATE,ANTICIP_END_DATE,EV_COMPUTE_TYPE,EV_ETC_COMPUTE_TYPE,RESP_TEAM_ID,ITERATION_ID,GUID,TMPL_GUID,ORIGINAL_QTY,RQMT_REM_QTY,INTG_TYPE,STATUS_REVIEWER,INTG_WBS,UPDATE_DATE,UPDATE_USER,CREATE_DATE,CREATE_USER,DELETE_SESSION_ID,DELETE_DATE) select xref1.new_id,xref2.new_id,OBS_ID,SEQ_NUM,EST_WT,PROJ_NODE_FLAG,SUM_DATA_FLAG,S
TATUS_CODE,decode(proj_node_flag,'Y',XREF2.NEW_VALUE,wbs_short_name),substr(XREF1.NEW_VALUE,1,100),PHASE_ID,NVL(xref3.new_id,nvl(3063,PARENT_WBS_ID)),EV_USER_PCT,EV_ETC_USER_VALUE,ORIG_COST,INDEP_REMAIN_TOTAL_COST,ANN_DSCNT_RATE_PCT,DSCNT_PERIOD_TYPE,INDEP_REMAIN_WORK_QTY,ANTICIP_START_DATE,ANTICIP_END_DATE,EV_COMPUTE_TYPE,EV_ETC_COMPUTE_TYPE,RESP_TEAM_ID,ITERATION_ID,GUID,TMPL_GUID,ORIGINAL_QTY,RQMT_REM_QTY,INTG_TYPE,STATUS_REVIEWER,INTG_WBS,null,UPDATE_USER,null,CREATE_USER,DELETE_SESSION_ID,null from PROJWBS JOIN PC_KEY_XREF xref1 ON WBS_ID=xref1.source_id and xref1.ref_table='PROJWBS' and xref1.execution_id=? LEFT OUTER JOIN PC_KEY_XREF xref2 ON PROJ_ID=xref2.source_id and
xref2.ref_table='PROJECT' and xref2.execution_id=? LEFT OUTER JOIN PC_KEY_XREF xref3 ON PARENT_WBS_ID=xref3.source_id and
xref3.ref_table='PROJWBS' and xref3.execution_id=? where WBS_ID in (select source_id from PC_KEY_XREF where REF_TABLE ='PROJWBS' and execution_id=?)]; ORA-01400: cannot insert NULL into ("ADMUSER"."PROJWBS"."WBS_SHORT_NAME") ; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("ADMUSER"."PROJWBS"."WBS_SHORT_NAME")

PreparedStatementCallback; SQL [insert /*+ index(UDFVALUE,NDX_UDFVALUE_FK) */ into UDFVALUE (UDF_TYPE_ID,FK_ID,PROJ_ID,UDF_DATE,UDF_TEXT,UDF_NUMBER,UDF_CODE_ID,TABLE_NAME,UPDATE_DATE,UPDATE_USER,CREATE_DATE,CREATE_USER,DELETE_SESSION_ID,DEL
ETE_DATE) select /*+ index(UDFVALUE,NDX_UDFVALUE_FK) */ UDF_TYPE_ID,xref1.new_id,xref2.new_id,UDF_DATE,UDF_TEXT,UDF_NUMBER,UDF_CODE_ID
,TABLE_NAME,null,UPDATE_USER,null,CREATE_USER,DELETE_SESSION_ID,null from UDFVALUE JOIN PC_KEY_XREF xref1 ON FK_ID=xref1.source_id and
xref1.ref_table='PROJECT' and xref1.execution_id=? JOIN PC_KEY_XREF xref2 ON PROJ_ID=xref2.source_id and xref2.ref_table='PROJECT' and
xref2.execution_id=?]; ORA-02291: integrity constraint (ADMUSER.FK_UDFVALUE_PROJECT) violated - parent key not found ; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (ADMUSER.FK_UDFVALUE_PROJECT) violated - parent key not
found CallableStatementCallback; SQL []; ORA-01403: no data found ORA-06512: at "ADMUSER.DBCRUDUTIL", line 262 ORA-06512: at "ADMUSER.DBCRUDUTIL", line 268 ORA-06512: at line 1 ; nested exception is java.sql.SQLException: ORA-01403: no data found ORA-06512: at "ADMUSER.DBCRUDUTIL", line 262 ORA-06512: at "ADMUSER.DBCRUDUTIL", line 268 ORA-06512: at line 1 . Error while updating the sequence number

java.lang.NullPointerException
at com.primavera.dbcrudutil.CopyProjectJobService.runJob(Unknown Source)
at com.primavera.jobsvc.common.JobServiceExecutable.c(Unknown Source)
at com.primavera.jobsvc.common.JobServiceExecutable.a(Unknown Source)
at com.primavera.jobsvc.common.JobServiceExecutable.execute(Unknown Source)
at com.primavera.infr.threadpool.ThreadPoolImpl.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)



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

  1. Create Project ID = Projid-.
  2. Select Project ID Projid-.
  3. Copy and Paste Project into same EPS node.
  4. Result: Job Status and View Log say Completed Successfully.
  5. Result: Copied Project ID never appears in application (even after logout and login).
  6. Result: P6WebAccess log file ERROR java.lang.NullPointerException - Error while updating the sequence number.

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