Does Appian recognize new values added to a CDT (and saved newValue with depende

Does Appian recognize new values added to a CDT (and saved newValue with dependencies updated) if they are added after a SAIL Form has been using the CDT for some time? I am getting this error and it is not clear why:

An Error Has Occurred

Expression evaluation error in rule 'serviceOrderEntryForm' at function a!buttonWidgetSubmit [line 376]: An error occurred while executing a save: java.lang.IllegalArgumentException: Invalid index: Cannot index property 'newValue' into type serviceOrder^3

OriginalPostID-155889

OriginalPostID-155889

  Discussion posts and replies are publicly visible

Parents
  • @davidj I guess a possible reason for it could be is, you might be using a type constructor for building the variable of type 'serviceOrder' (i.e. type!serviceOrder(field1:value1,field2:value2)) in the expression rule and the definition might not be updated during impact analysis which again could be because of the reason that the expression rule using type constructor might not be in the application (I guess this constraint isn't present from 7.9 onwards) when impact analysis was carried out. So I would like to suggest to check if any rules (triggered upon clicking the button in the SAIL interface) are making use of type constructor for 'serviceOrder' cdt.

    If my guess with respect to issue is correct, the solution could be probably as either of the follows:
    1. Manually update the definition of 'serviceOrder' in the rule which you are using type constructor.
    2. Add the rules which make use of 'serviceOrder' type constructor to the application and perform the Impact Analysis again.

    An other possible cause could be is because of referring the removed field using dot notation. For instance, let's say a field by name 'field1' is removed from the definition of cdt, but referring the same field using dot notation cdt.field1 results in an error. Also I would like to recommend to update these kind of reference in case of removal of fields.
Reply
  • @davidj I guess a possible reason for it could be is, you might be using a type constructor for building the variable of type 'serviceOrder' (i.e. type!serviceOrder(field1:value1,field2:value2)) in the expression rule and the definition might not be updated during impact analysis which again could be because of the reason that the expression rule using type constructor might not be in the application (I guess this constraint isn't present from 7.9 onwards) when impact analysis was carried out. So I would like to suggest to check if any rules (triggered upon clicking the button in the SAIL interface) are making use of type constructor for 'serviceOrder' cdt.

    If my guess with respect to issue is correct, the solution could be probably as either of the follows:
    1. Manually update the definition of 'serviceOrder' in the rule which you are using type constructor.
    2. Add the rules which make use of 'serviceOrder' type constructor to the application and perform the Impact Analysis again.

    An other possible cause could be is because of referring the removed field using dot notation. For instance, let's say a field by name 'field1' is removed from the definition of cdt, but referring the same field using dot notation cdt.field1 results in an error. Also I would like to recommend to update these kind of reference in case of removal of fields.
Children
No Data