Clarity crashes with virtual calculated field based on an aggregated attribute
search cancel

Clarity crashes with virtual calculated field based on an aggregated attribute

book

Article ID: 384154

calendar_today

Updated On: 01-13-2025

Products

Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

Clarity crashes if you create a virtual field on a child object where the parent object attribute is a calculated field based on an aggregated field.

STEPS TO REPRODUCE:

  1. Administration > Studio > Objects
  2. Create an investment extension object: 'Papa'
  3. Create a subobject of 'Papa' > 'Kiddo'
  4. At the 'Kiddo' subobject create the following attributes:
    1. kiddo_money1 > Type money
    2. kiddo_money2 > Type money
    3. money_calc > Calculated with expression: Sum(kiddo_money1,kiddo_money2)
  5. At the 'Papa' parent object create the following attributes:
    1. aggregated_kiddo > Aggregated type with expression:     AGG_Sum(kiddo.money_calc)
    2. calculated_aggregated > Calculated data type with expression (aggregated_kiddo)
  6. Create a 'Papa' object blueprint and add the 'Kiddo' subobject to the blueprint
  7. In MUX, create a 'Papa' object instance
  8. Add a couple of 'Kiddo' instances
  9. Add the custom attributes and populate the two money type attributes
  10. Notice the calculated and aggregated fields being populated
  11. At the 'Kiddo' subobject create the following attributes:
    1. Virtual attribute that uses the parent 'Papa' object, 'calculated_aggregated' attribute
  12. The attribute gets created after some time

Expected Results: Clarity navigation is fine after attribute creation


Actual Results: Navigate to the 'Parent', 'Child' objects and you will start noticing system errors. Clarity will start behaving erratically. 

Environment

Clarity 16.3.0

Cause

DE157281

Resolution

DE157281 is fixed in 16.3.1 and backported to 16.3.0 patch 1

Workaround: Restart services and delete the virtual attribute from the 'Kiddo' object

Additional Information

At Step5, an observation when creating the following attribute:
calculated_aggregated > Calculated data type with expression (aggregated_kiddo)
By the UI, you can create a calculated expression that uses a function like: Absolute(aggregated_kiddo), but not an expression like (aggregated_kiddo).
However, an expression with no function is validated

If no function is used, then in Step 11 you can create a virtual field.
If a function is used, the parent object calculated field is not available for selection, hence you can not create it.