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
  • Thanks for the suggestion. I tried it out and received an error "Only list arguments are allowed." Based upon my original error message, I think the issue is occurring because apply() cannot see/access pv!Buyer.buyerTask. If I look at the variable values, I can see that pv!Buyer[1].buyerTask = 44 and pv!Buyer.buyerProject = 10200. However, when I call apply(), I am unable to access the value at pv!Buyer[1].buyerTask and copy that value to pv!projectTask.Task. Is there a way to loop through 1 multi-valued CDT and set values into another multi-valued CDT? I am probably missing something here but I have been able to do this only when the source CDT is not multi-valued.
Reply
  • Thanks for the suggestion. I tried it out and received an error "Only list arguments are allowed." Based upon my original error message, I think the issue is occurring because apply() cannot see/access pv!Buyer.buyerTask. If I look at the variable values, I can see that pv!Buyer[1].buyerTask = 44 and pv!Buyer.buyerProject = 10200. However, when I call apply(), I am unable to access the value at pv!Buyer[1].buyerTask and copy that value to pv!projectTask.Task. Is there a way to loop through 1 multi-valued CDT and set values into another multi-valued CDT? I am probably missing something here but I have been able to do this only when the source CDT is not multi-valued.
Children
No Data