search cancel

Processes triggering even when start condition not met

book

Article ID: 214844

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

You are seeing processes running when the processes start condition is not met. Saving the task without making any changes is triggering the processes.

The processes will trigger successfully when a start condition is met on one of these processes. However, the processes will also trigger if there are any updates to the tasks. (They do not trigger when a task is created.) Updates tested include changing the open for time entry, key task, assignment resources, and ETCs on assignees. Any of these changes will trigger the processes to start irrespective of the start condition of the triggered processes.

Cause

Beginning with Release 15.4, a Task or Project object process condition cannot include a virtual attribute or aggregated calculated attribute. These attributes are no longer available for users to select in the expression builder when defining a process condition.

Environment

Release : 15.9.1

Component :  PROCESS MANAGEMENT

Resolution

  1. Identify processes that have a start a condition with calculated and aggregated attributes.

Query which should help you identify any processes which have start condition with calculated and aggregated attributes.

SELECT P.PROCESS_CODE,DBMS_LOB.SUBSTR( E.EXPRESSION, 4000, 1 ) EXPR
FROM ODF_FILTER_EXPRESSIONS E,BPM_DEF_PROCESS_VERSIONS V,BPM_DEF_OBJECTS O, BPM_DEF_PROCESSES P
WHERE V.ID = E.OBJECT_INSTANCE_ID AND O.PK_ID = V.ID AND P.ID = V.PROCESS_ID
AND EXISTS (SELECT 1 FROM ODF_CUSTOM_ATTRIBUTES WHERE IS_VIRTUAL=1 AND ( DERIVED_THROUGH IS NOT NULL OR CALCULATION_EXPRESSION IS NOT NULL)
    AND E.EXPRESSION LIKE '%'|| INTERNAL_NAME||'%')
UNION
SELECT PROCESS.PROCESS_CODE, DBMS_LOB.SUBSTR( E.EXPRESSION, 4000, 1 ) EXPR
FROM ODF_FILTER_EXPRESSIONS E,BPM_DEF_STEP_CONDITIONS COND,BPM_DEF_STEPS STEPS, BPM_DEF_STAGES STAGES,
BPM_DEF_PROCESS_VERSIONS VERSIONS, BPM_DEF_PROCESSES PROCESS
WHERE STEPS.ID = E.OBJECT_INSTANCE_ID AND STEPS.STAGE_ID=STAGES.ID AND STEPS.ID= COND.STEP_ID AND VERSIONS.ID=STAGES. PROCESS_VERSION_ID
AND PROCESS.ID= VERSIONS.PROCESS_ID
AND EXISTS ( SELECT 1 FROM ODF_CUSTOM_ATTRIBUTES WHERE IS_VIRTUAL=1 AND ( DERIVED_THROUGH IS NOT NULL OR CALCULATION_EXPRESSION IS NOT NULL)
AND E.EXPRESSION LIKE '%'||INTERNAL_NAME|| '%')

  1. Delete any instances of these processes so that process can be put in Draft status.
  2. Re-write process to not use calculated or aggregated attributes.