Skip to main content
October 28, 2025
Question

Expression evaluation error [evaluation ID = 52404:d12a3] in rule 'prc_grid_tieredschedulenewservices' Invalid index type: Record field uuid: 67613804-ab49-4df7-91d4-358b515efd47Record type uuid: f6895dd9-7b01-4146-a52e-be727fef79d3Relationsh

  • October 28, 2025
  • 4 replies
  • 0 views

Hi  I am getting the above error message when trying to open the particular interface in application. As per my requirement for a particular service list of 3 fee details with 4 column value will be generated and in that  i have to show 3 column in 3 row and one column should be single value . My interface configuration is attached below . I am passing all the necessary fields from parent interface yet I am getting the error .

a!localVariables(
  local!feeDetails: ri!feeDetails,
  local!minimumFee:
    a!forEach(
      items: ri!feeDetails,
      expression: if(
        and(
          toboolean(
            fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{be1056cb-8331-4446-8fa4-3081fc64bc73}isactive']
          ) = toboolean(true()),
          tointeger(
            fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{30de7239-941c-401f-ad56-2672421eba71}scenarioId']
          ) = tointeger(
            ri!selectedScenario['recordType!{94f6f945-ec9c-4178-8b3f-684a5547bb00}PRC Scenarios.fields.{ad9e991c-6487-437f-8665-fe15a96eba42}prcScenarioId']
          ),
          tointeger(
            fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{6e4fe629-03b7-49fe-8d52-f541257e3ca5}planId']
          ) = tointeger(
            ri!selectedPlan['recordType!{3b41856e-be2b-486e-b0f7-09436ce2d07e}PRC Plan.fields.{4903a64b-b0f8-4ddb-98d1-00bcc0e648d1}prcPlanId']
          ),
          tointeger(
            fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{7e014768-277f-4844-a8d0-7c6baeccf934}iteration']
          ) = tointeger(ri!iteration),
          contains(
            { 271, 251, 261, 75, 27 },
           tointeger(fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{4a8a03ee-98f5-4712-8135-4c235968e033}serviceExId'])
          ),
          
        ),
        fv!item,
        null
      )
    
  ),
  local!minimumIndex:todecimal(index(index(local!minimumFee, 1, null),'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{67613804-ab49-4df7-91d4-358b515efd47}minimumfee',{})),
  {
    a!cardLayout(
      marginAbove: "EVEN_MORE",
      showBorder: false,
      showShadow: true,
      contents: {
        a!sectionLayout(
          contents: a!gridLayout(
            headerCells: {
              a!gridLayoutHeaderCell("Annual Fee"),
              a!gridLayoutHeaderCell("Sequence"),
              a!gridLayoutHeaderCell("Amount"),
              a!gridLayoutHeaderCell(" "),
              
            },
            columnConfigs: {
              a!gridLayoutColumnConfig(width: "NARROW_PLUS"),
              a!gridLayoutColumnConfig(width: "NARROW_PLUS"),
              a!gridLayoutColumnConfig(width: "NARROW_PLUS"),
              a!gridLayoutColumnConfig(width: "ICON")
            },
            rows: a!forEach(
              items: local!feeDetails,
              expression: if(
                and(
                  fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{be1056cb-8331-4446-8fa4-3081fc64bc73}isactive'] = true(),
                  tointeger(
                    fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{30de7239-941c-401f-ad56-2672421eba71}scenarioId']
                  ) = tointeger(
                    ri!selectedScenario['recordType!{94f6f945-ec9c-4178-8b3f-684a5547bb00}PRC Scenarios.fields.{ad9e991c-6487-437f-8665-fe15a96eba42}prcScenarioId']
                  ),
                  tointeger(
                    fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{6e4fe629-03b7-49fe-8d52-f541257e3ca5}planId']
                  ) = tointeger(
                    ri!selectedPlan['recordType!{3b41856e-be2b-486e-b0f7-09436ce2d07e}PRC Plan.fields.{4903a64b-b0f8-4ddb-98d1-00bcc0e648d1}prcPlanId']
                  ),
                  tointeger(
                    fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{7e014768-277f-4844-a8d0-7c6baeccf934}iteration']
                  ) = tointeger(ri!iteration),
                  or(
                    contains(
                      { 271, 251, 261, 75, 27 },
                      fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{4a8a03ee-98f5-4712-8135-4c235968e033}serviceExId']
                    ),
                    isnull(
                      fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{4a8a03ee-98f5-4712-8135-4c235968e033}serviceExId']
                    )
                  )
                ),
                a!gridRowLayout(
                  id: fv!index,
                  contents: {
                    a!textField(
                      readOnly: not(ri!isEdit),
                      value: if(
                        a!isNotNullOrEmpty(
                          fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{796cea1b-ff7a-4223-a860-65e23373eab4}annualfee']
                        ),
                        concat(
                          fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{796cea1b-ff7a-4223-a860-65e23373eab4}annualfee'],
                          " BPS"
                        ),
                        ""
                      ),
                      saveInto: {
                        a!save(
                          fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{796cea1b-ff7a-4223-a860-65e23373eab4}annualfee'],
                          if(
                            or(isnull(save!value)save!value = ""),
                            null,
                            tointeger(save!value)
                          )
                        ),
                        a!save(ri!feeDetails, local!feeDetails),
                        a!save(ri!allfeeDetails, ri!feeDetails)
                      },
                      align: "LEFT"
                    ),
                    a!textField(
                      value: fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{08ad88f5-e074-43e5-856e-a3661bdc2ee3}sequence'],
                      saveInto: {
                        fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{08ad88f5-e074-43e5-856e-a3661bdc2ee3}sequence'],
                        a!save(ri!feeDetails, local!feeDetails),
                        a!save(ri!allfeeDetails, ri!feeDetails)
                      },
                      readOnly: not(ri!isEdit),
                      align: "LEFT"
                    ),
                    a!textField(
                      readOnly: not(ri!isEdit),
                      value: if(
                        a!isNotNullOrEmpty(
                          fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{7fed9839-24ea-47a8-b23b-4cc6245daff8}amount']
                        ),
                        dollar(
                          fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{7fed9839-24ea-47a8-b23b-4cc6245daff8}amount']
                        ),
                        dollar(0)
                      ),
                      saveInto: {
                        a!save(
                          fv!item['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{7fed9839-24ea-47a8-b23b-4cc6245daff8}amount'],
                          if(
                            a!isNotNullOrEmpty(save!value),
                            save!value,
                            0
                          )
                        ),
                        a!save(ri!feeDetails, local!feeDetails),
                        a!save(ri!allfeeDetails, ri!feeDetails)
                      },
                      align: "LEFT"
                    ),
                    a!richTextDisplayField(
                      value: a!richTextIcon(
                        showWhen: contains(
                          {
                            cons!PRC_REF_ID_STAGE_IN_REVIEW,
                            cons!PRC_REF_ID_STAGE_RETURNED_RESUBMITTED_PRICING,
                            cons!PRC_REF_ID_STAGE_REVIEW_PRICING
                          },
                          tointeger(
                            ri!prcRequest['recordType!{9ffd9a48-c615-4180-a5a0-1782cd09348f}PRC Request.fields.{f3e4d721-201d-4797-a17a-cfec05ef3e98}stage']
                          )
                        ),
                        icon: "close",
                        altText: "delete ",
                        caption: "Remove",
                        link: a!dynamicLink(
                          value: fv!index,
                          saveInto: {
                            a!save(
                              local!feeDetails[fv!index]['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{be1056cb-8331-4446-8fa4-3081fc64bc73}isactive'],
                              false()
                            ),
                            a!save(ri!feeDetails, local!feeDetails),
                            a!save(ri!allfeeDetails, ri!feeDetails)
                          }
                        ),
                        linkStyle: "STANDALONE",
                        color: "NEGATIVE"
                      )
                    )
                  }
                ),
                {}
              )
            ),
            addRowLink: a!dynamicLink(
              showWhen: contains(
                {
                  cons!PRC_REF_ID_STAGE_IN_REVIEW,
                  cons!PRC_REF_ID_STAGE_RETURNED_RESUBMITTED_PRICING,
                  cons!PRC_REF_ID_STAGE_REVIEW_PRICING
                },
                tointeger(
                  ri!prcRequest['recordType!{9ffd9a48-c615-4180-a5a0-1782cd09348f}PRC Request.fields.{f3e4d721-201d-4797-a17a-cfec05ef3e98}stage']
                )
              ),
              label: "Add Tier Schedule",
              value: {},
              saveInto: {
                a!save(
                  local!feeDetails,
                  append(
                    local!feeDetails,
                    'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee'(
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{796cea1b-ff7a-4223-a860-65e23373eab4}annualfee': null(),
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{67613804-ab49-4df7-91d4-358b515efd47}minimumfee': local!minimumIndex,
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{7fed9839-24ea-47a8-b23b-4cc6245daff8}amount': null(),
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{08ad88f5-e074-43e5-856e-a3661bdc2ee3}sequence': null(),
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{4a8a03ee-98f5-4712-8135-4c235968e033}serviceExId': ri!services['recordType!{471f50a7-6d9a-4e1b-a1ae-4b84239a4583}PRC Services.fields.{15ae6ce2-ff70-48b8-ac87-a04a0bb310b9}serviceExtId'],
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{6e4fe629-03b7-49fe-8d52-f541257e3ca5}planId': tointeger(
                        index(
                          ri!selectedPlan,
                          'recordType!{3b41856e-be2b-486e-b0f7-09436ce2d07e}PRC Plan.fields.{4903a64b-b0f8-4ddb-98d1-00bcc0e648d1}prcPlanId',
                          {}
                        )
                      ),
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{30de7239-941c-401f-ad56-2672421eba71}scenarioId': tointeger(
                        index(
                          ri!selectedScenario,
                          'recordType!{94f6f945-ec9c-4178-8b3f-684a5547bb00}PRC Scenarios.fields.{ad9e991c-6487-437f-8665-fe15a96eba42}prcScenarioId',
                          {}
                        )
                      ),
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{fcc63a8b-7dab-4ea1-b0c5-61269e0ff801}createdby': loggedInUser(),
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{7e014768-277f-4844-a8d0-7c6baeccf934}iteration': ri!iteration,
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{0e58f0ed-17dc-4b31-8622-5f0a01f59e11}createdon': now(),
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{be1056cb-8331-4446-8fa4-3081fc64bc73}isactive': true(),
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{ff8a31de-a89c-4848-b7b4-20726b0a81b9}updatedby': loggedInUser(),
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{f18ed932-7461-403c-9bde-5580a9831588}updatedon': now(),
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{e1f9189a-a80d-4454-b39d-d1b91be1a1ce}prcRequestId': index(
                        ri!prcRequest,
                        'recordType!{9ffd9a48-c615-4180-a5a0-1782cd09348f}PRC Request.fields.{2e588546-edee-47b5-a888-9e8813bbf0d4}prcRequestId',
                        {}
                      ),
                      'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{086743c7-671f-44b9-83ce-4978ed1e0403}wmsRequestId': ri!prcRequest['recordType!{9ffd9a48-c615-4180-a5a0-1782cd09348f}PRC Request.fields.{010c7913-357e-4e1e-8858-7a6a1b7525cd}wmsRequestId']
                    )
                  )
                ),
                a!save(ri!feeDetails, local!feeDetails),
                a!save(ri!allfeeDetails, ri!feeDetails)
              }
            )
          ),
          divider: "NONE"
        ),
        rule!WMS_VerticalSpacer(n: 3),
        a!sideBySideLayout(
          items: a!sideBySideItem(
            width: "MINIMIZE",
            item: a!textField(
              label: "Minimum Fee",
              labelPosition: "JUSTIFIED",
              readOnly: not(ri!isEdit),
              value: if(
                a!isNotNullOrEmpty(
                  local!minimumFee[1]['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{67613804-ab49-4df7-91d4-358b515efd47}minimumfee']
                ),
                dollar(
                  local!minimumFee[1]['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{67613804-ab49-4df7-91d4-358b515efd47}minimumfee']
                ),
                dollar(0),
                
              ),
              saveInto: {
                /* Save into the first row */
                a!save(
                  local!minimumFee[1]['recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{67613804-ab49-4df7-91d4-358b515efd47}minimumfee'],
                  if(
                    a!isNotNullOrEmpty(save!value),
                    save!value,
                    0
                  )
                ),
                /* Update all matching rows */
                a!save(
                  local!minimumFee,
                  a!forEach(
                    items: reject(fn!isnull, local!minimumFee),
                    expression: a!update(
                      data: fv!item,
                      index: 'recordType!{f6895dd9-7b01-4146-a52e-be727fef79d3}PRC Vmap Service Fee.fields.{67613804-ab49-4df7-91d4-358b515efd47}minimumfee',
                      value: if(
                        a!isNotNullOrEmpty(save!value),
                        save!value,
                        0
                      )
                    )
                  )
                ),
                /* Update original feeDetails */
                a!save(local!feeDetails, local!minimumFee),
                a!save(ri!feeDetails, local!feeDetails),
                a!save(ri!allfeeDetails, ri!feeDetails)
              },
              align: "LEFT"
            )
          )
        ),
        a!buttonLayout(
          primaryButtons: {
            a!buttonWidget(
              label: "close",
              icon: "check",
              style: "SOLID",
              value: false,
              saveInto: ri!showFeeDetails,
              
            ),
            a!buttonWidget(
              label: "Submit",
              icon: "check",
              style: "SOLID",
              value: false,
              saveInto: {
                ri!showFeeDetails,
                a!startProcess(
                  isSynchronous: true(),
                  processModel: cons!PRC_WRITE_TO_VMAP_FEE_DETAILS,
                  processParameters: {
                    feeDetailsProspect: ri!allfeeDetails,
                    prcRequest: ri!prcRequest,
                    prcServices: ri!allServices
                  },
                  onSuccess: {
                    a!save(
                      local!feeDetails,
                      fv!processInfo.pv.RecordsUpdated1
                    ),
                    a!save(ri!feeDetails, local!feeDetails),
                    a!save(ri!allfeeDetails, ri!feeDetails)
                  },
                  
                )
              },
              showWhen: contains(
                {
                  cons!PRC_REF_ID_STAGE_IN_REVIEW,
                  cons!PRC_REF_ID_STAGE_RETURNED_RESUBMITTED_PRICING,
                  cons!PRC_REF_ID_STAGE_REVIEW_PRICING
                },
                tointeger(
                  ri!prcRequest['recordType!{9ffd9a48-c615-4180-a5a0-1782cd09348f}PRC Request.fields.{f3e4d721-201d-4797-a17a-cfec05ef3e98}stage']
                )
              )
            ),
            
          },
          secondaryButtons: {
            a!buttonWidget(
              label: "Cancel",
              icon: "times",
              style: "SOLID",
              value: false(),
              saveInto: ri!showFeeDetails,
              showWhen: contains(
                {
                  cons!PRC_REF_ID_STAGE_IN_REVIEW,
                  cons!PRC_REF_ID_STAGE_RETURNED_RESUBMITTED_PRICING,
                  cons!PRC_REF_ID_STAGE_REVIEW_PRICING
                },
                tointeger(
                  ri!prcRequest['recordType!{9ffd9a48-c615-4180-a5a0-1782cd09348f}PRC Request.fields.{f3e4d721-201d-4797-a17a-cfec05ef3e98}stage']
                )
              )
            )
          }
        )
      },
      showWhen: ri!showFeeDetails
    )
  }
)

4 replies

shubhama926776
October 28, 2025

Issue in definition of local!minimumIndex:
You're using index() function incorrectly with record field references.
Use property() function or direct bracket notation for accessing record fields.

mikes0011
Brainy
October 28, 2025
Use property() function

My hero!

Though to be fair, technically if property() can reference a record field like this, index() should also be able to, since they're allegedly the same function behind-the-scenes; I do still insist on using them for the purpose that matches their name for readability and code clarity, though.

But I agree there's something fishy going on with local!minimumIndex, or one of the places that tries to interface with and/or save into the "minimumFee" record property.  I fear with something quite this complex, OP will need to do some manual troubleshooting steps on their end in order to root out the exact problem line(s).

shubhama926776
October 29, 2025

I know you always encourage to use properly for few scenario.
Learnt from you only.

stefanhelzle0001
October 28, 2025

I think that line 35 fails if there is no item in the list. The inner index() returns a null in this case.

You could reverse this, and first get that field from all minimumFees, and then fetch the first one.