Cyclic reference in project fails Post to WIP job with ORA-01436
search cancel

Cyclic reference in project fails Post to WIP job with ORA-01436

book

Article ID: 423994

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

Out of a sudden, Post to WIP job started failing with error ORA-01436: CONNECT BY loop in user data:

ERROR 2025-12-19 06:02:00,341 [Dispatch Post to WIP : bg@ixxxxxxxx(tenant=clarity)] niku.njs (clarity:XXXXXX:110278959__CAC3A0CE-FF0E-4DA0-8928-7398AE938912:Post to WIP) () Error executing job: 5163304
com.niku.union.persistence.PersistenceException: 
SQL error code: 1436
Error message: ORA-01436: CONNECT BY loop in user data
ORA-06512: at "NIKU.PAC_PRC_POSTTOWIPS_SP", line 1218
ORA-06512: at "NIKU.PAC_PRC_POSTTOWIP_JOB_SP", line 195
ORA-06512: at "NIKU.PAC_PRC_POSTTOWIP_JOB_SP", line 195
ORA-06512: at line 1

Environment

Clarity 16.3.3, 16.4.0

Cause

Clarity allows for a cyclic Parent projects to be set in the application

Resolution

This is fixed in 16.4.1 as solution for Cyclic reference in project causing high temp utilization

  • Starting 16.4.1, if a user goes in MUX and tries to set up a Parent for a project that is already a child, an error will be thrown:
  • The selected parent creates a circular dependency. Choose a different parent.

Workaround:

  1. Identify the cyclic reference by running the below query:
    SELECT 
        i.code AS child_project_code,
        i.name AS child_project_name,
        parent.code AS parent_project_code,
        parent.name AS parent_project_name,
        SYS_CONNECT_BY_PATH(i.code, ' -> ') as hierarchy_path
    FROM 
        inv_investments i
        JOIN inv_investments parent ON i.parent_id = parent.id
    WHERE 
        CONNECT_BY_ISCYCLE = 1
    CONNECT BY NOCYCLE PRIOR i.parent_id = i.id;
  2. Connect to MUX - Project Grid
  3. Add Parent field to the view
  4. Set one or both of the circular dependency projects to None
  5. Inform the Project Manager that they should just set 1 as Parent
  6. Run Post to WIP job