Hello, relatively new to Appian and have been stuck on this issue for a little w

Hello, relatively new to Appian and have been stuck on this issue for a little while. Trying to take 2 values from one CDT which contains many fields and copy these 2 fields to another CDT.
- Source CDT: pv!Buyer (CDT can store multiple values)
- Target CDT: pv!projectTask (CDT can store multiple values)

I have a rule called "CopyFields" which has 2 inputs which are CDTs (Any Type). My rule has 2 lines:
={
ri!projectTask.project: ri!Buyer.project,
ri!projectTask.task: ri!Buyer.task
}

I have a apply() function in my Process Model which calls this rule:
apply(rule!CopyFields, pv!Buyer, pv!projectTask)

I keep receiving a "Invalid index: Cannot index property 'buyerProject' of type Text into null value of type ProjectTask?list) (Data Outputs)" even though the CDT contains a "buyerProject" field which is of type string and there is a value within this field at index 1 and 2. Can anyone help steer me in the proper direction? Than...

OriginalPostID-195119

OriginalPostID-195119

  Discussion posts and replies are publicly visible

Parents
  • @johng Hi, what @jims has suggested above should do the job. The error message you see might be because of the reason that you are passing a single valued variable where an array is expected.

    If the variable you are making use of, isn't in the array format, then you can typecast the data to the desired type. For instance, if pv!Buyer is of single type then you can turn it into an array that holds multiple values by using casting as below:
    cast(typeof({type!Buyer()}),pv!Buyer)
Reply
  • @johng Hi, what @jims has suggested above should do the job. The error message you see might be because of the reason that you are passing a single valued variable where an array is expected.

    If the variable you are making use of, isn't in the array format, then you can typecast the data to the desired type. For instance, if pv!Buyer is of single type then you can turn it into an array that holds multiple values by using casting as below:
    cast(typeof({type!Buyer()}),pv!Buyer)
Children
No Data