Help with Record Type Relationship Error on Save

Certified Associate Developer


Hi everyone,

I’m working on my first Appian build and ran into an issue I haven’t been able to resolve. My save logic seems to save correctly to ri!record, but I’m getting an error related to the record type relationships.

Could not display interface. Please check definition and inputs. Interface Definition: Expression evaluation error: xxxx must be indexed by its corresponding record type fields or relationships

I suspect the issue is tied to how my record type relationships are configured, but I haven’t been able to figure it out.

Has anyone encountered similar issues with saving data to a record type and relationship errors? I’d really appreciate any guidance on reviewing or troubleshooting the save logic and relationships.

Thanks in advance!

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    Hi David,

    I've seen this before with folks coming up to speed on records, even if they're veteran Appian developers. The 'base' record you start your referencing from might change depending on context. For a a!save(ri!record{...}, <value>) , your 'base' record will always be the record type of the rule input rather than the record type of the relationship.

    For example, say I have a rule input of recordType!Transaction, with a related record 'account', and I want to update 'amount' in the account record, then I would do a!save(ri!record[recordType!Transaction.account.amount], <value>).

    Where this can get really confusing for folks new to records - say I wanted to create a "new" record in the related record, using the structure above I would do something like:
    a!save(ri!record[recordType!Transaction.account], recordType!Account(<keys/values)).

    If you give more context, we can help with the specifics. Cheers.

Reply
  • 0
    Certified Lead Developer

    Hi David,

    I've seen this before with folks coming up to speed on records, even if they're veteran Appian developers. The 'base' record you start your referencing from might change depending on context. For a a!save(ri!record{...}, <value>) , your 'base' record will always be the record type of the rule input rather than the record type of the relationship.

    For example, say I have a rule input of recordType!Transaction, with a related record 'account', and I want to update 'amount' in the account record, then I would do a!save(ri!record[recordType!Transaction.account.amount], <value>).

    Where this can get really confusing for folks new to records - say I wanted to create a "new" record in the related record, using the structure above I would do something like:
    a!save(ri!record[recordType!Transaction.account], recordType!Account(<keys/values)).

    If you give more context, we can help with the specifics. Cheers.

Children
No Data