I am trying to loop through a CDT and replace any null values with 0.

I am trying to loop through a CDT and replace any null values with 0.

To test this out, I added a button on my form and upon clicking the button I am executing:

a!save(ri!BuyerSeller, apply(rule!ReplaceNulls,ri!BuyerSeller)) /*ri!BuyerSeller is the CDT in which I want to loop through and replace nulls*/

My "rule!ReplaceNulls" is as follows (currently I am just trying to get 1 field to work in the CDT, but this will end up being 3 fields)
={
if(isnull(ri!BuyerSeller.feeAmount),0,ri!BuyerSeller.feeAmount)
}

I keep receiving an error about "Invalid index: Cannot index property "buyerProject" of type Text into type Number (Decimal)".
buyerProject is the first element of my CDT, but this is not one of the fields I care to parse through and check for nulls. How can I loop through a CDT and replace nulls values? Thanks

OriginalPostID-202277

OriginalPostID-202277

  Discussion posts and replies are publicly visible

Parents
  • In which case, this must be an issue with something else on the form outside of the rule and save that you've mentioned. I've tested in isolation (see the code below) and the apply of the rule works fine. Can you set up a similar test to make sure your rules work correctly?

    (
    local!buyerSeller: {
    {feeAmount: 12.45},
    {feeAmount: 144.28},
    {feeAmount: null},
    {feeAmount: 44.91}
    },
    apply(
    rule!pb_johng_test,
    local!buyerSeller.feeAmount
    )
    )

    ....where rule!pb_johng_test is:

    (
    ri!feeAmount > 0,
    ri!feeAmount,
    0
    )
Reply
  • In which case, this must be an issue with something else on the form outside of the rule and save that you've mentioned. I've tested in isolation (see the code below) and the apply of the rule works fine. Can you set up a similar test to make sure your rules work correctly?

    (
    local!buyerSeller: {
    {feeAmount: 12.45},
    {feeAmount: 144.28},
    {feeAmount: null},
    {feeAmount: 44.91}
    },
    apply(
    rule!pb_johng_test,
    local!buyerSeller.feeAmount
    )
    )

    ....where rule!pb_johng_test is:

    (
    ri!feeAmount > 0,
    ri!feeAmount,
    0
    )
Children
No Data