Manager field of Invetsment Object is not able to select in a process flow based on custom object which is having "Investment Object" as Parent
search cancel

Manager field of Invetsment Object is not able to select in a process flow based on custom object which is having "Investment Object" as Parent

book

Article ID: 407435

calendar_today

Updated On:

Products

Clarity PPM On Premise

Issue/Introduction

User is trying to assign Role Availability for Investment Subobject in Clarity Process Flows. Attempting to configure object roles on a custom subobject of the Investment object, but the Manager role (and others) are not available for selection, especially when a similar activity for the Project subobject yields the object role results.

Environment

Clarity PPM

Cause

This behavior stems from a limitation in using the abstract Investment object as the parent.

Resolution

A SQL trace shows that when running the query below in the context of a **Project subobject**, role values are successfully returned:

  ```sql
  SELECT ID, NAME
  FROM CMN_LOOKUPS_V
  WHERE LOOKUP_TYPE = 'PRJ_PROFILES'
    AND LANGUAGE_CODE = 'en'
    AND IS_ACTIVE = 1;
  ```

  These results include roles such as **Manager**, **Participants**, and **Staff**.

However, when the same query is run in the context of the **Investment subobject**, no results are returned.

This behavior is expected and relates to the design of the application going back to its early architecture (2003):

  • The **Investment** object is an **abstract** object. It does **not define operations**, such as `getProfiles`, which are required by the process engine to populate the **Object Roles** tab.
  • **Concrete objects** (like **Project**, **Application**, or **Asset**) that extend the Investment object do implement these operations.
  • Without the `getProfiles` operation, the process engine cannot return any roles, which is why options like **Manager** are not available.

Recommendation

  • To enable role selection in your process flows, we recommend using or extending one of the **concrete investment types** (e.g., **Project**) rather than building directly on the abstract Investment object.