Blank Gantt / Missing Tasks for a project in PPM

Document ID : KB000029082
Last Modified Date : 16/05/2018
Show Technical Document Details
Issue:

The Gantt view is not displaying tasks (the Gantt is blank) for one or more projects and the PPM app-ca.log shows an error referencing 'ORA-01400: cannot insert NULL into' (example below)

com.niku.union.persistence.PersistenceException: SQL error code: 1400 Error message: [CA Clarity][Oracle JDBC Driver][Oracle]ORA-01400: cannot insert NULL into ("XXXXX"."TEMP_WBS"."PAR_SEQ")

Executed:
insert into TEMP_WBS( cacheid, projectid, taskid, origwbssequence, origwbslevel, wbssequence, wbslevel, par_seq, nnb_seq, prrefprojectid,visible )
          ( select ?, projectid, taskid, origwbssequence, origwbslevel, wbssequence, wbslevel, par_seq, nnb_seq, prrefprojectid, case when wbslevel= 1 then 1 else 0 end from TEMP_WBS_GLOBAL )


Note: If you click 'Show All' on the filter section in the Gantt, an error message displays in a popup window with a similar message of that referenced above. 

Cause:

TEMP_WBS and TEMP_WBS_GLOBAL in the error are two temporary tables that the Gantt View uses to load task data from Work Breakdown Structure (WBS) table named PRTASK. Sometimes, PRTASK.WBS_PARSEQ is NULL and can cause TEMP_WBS_GLOBAL.PAR_SEQ to be also NULL. This will lead to the above error because TEMP_WBS. PAR_SEQ must not be NULL. 

Note: PRTASK.WBS_PARSEQ is a system-maintained field and is not configurable by the user. 

Resolution:

Regenerate the PRTASK.WBS_PARSEQ value using one of the options below:

Option 1: 

Open the problem Project in a scheduler (Open Workbench (OWB) or Microsoft Project (MSP), then save it back without changing anything. In most instances, the WBS_PARSEQ is rewritten with a valid number during the save back to the CA PPM application.

Option 2:

Execute the following SQL query to display details of tasks which has NULL WBS_PARSEQ, then remove task in problem from the CA PPM application GUI and recreate it.

(CA PPM SaaS Customers, please contact CA Technical support for assistance with this option). 

SELECT
SRM_PROJECTS.NAME PROJECT_NAME
,PRTASK.*
FROM
SRM_PROJECTS
,PRTASK
WHERE
SRM_PROJECTS.ID=PRTASK.PRPROJECTID
AND PRTASK.PRPROJECTID =<Project internal id in terms of 5 million number>
AND WBS_PARSEQ is NULL