Error passing data from process model to interface

Certified Associate Developer

I have an interface that has four dropdown components with dynamic choiceValues based on a query. When a value in the first dropdown is selected, it filters the values of the second dropdown. The second dropdown filters the third and the third dropdown filters the fourth. Each dropdown is disabled until a value is selected from each of the previous dropdowns. This works perfectly in the interface. 

However, in the process model there is an option to "edit existing equipment" that will query a database and fill in fields in the interface, possibly including the four dropdown components mentioned above. When I test this process, I get an error that seems to be telling me that a query for one of the dropdowns in the interface is returning null when it shouldn't. 

Hopefully this makes sense, please feel free to ask for clarification on anything. I have included the relevant code below. Thank you in advance for your help!

Here is the query in the interface that generates the choiceValues for the dropdown component that I'm getting the error in:

local!frameType:
  /*if(*/
    /*and(*/
      /*not(isnull(ri!manufID)),*/
      /*not(isnull(ri!Model))*/
    /*),*/
    a!queryEntity(
      entity: cons!Pump_Frame_Unique,
      query: a!query(
        selection: a!querySelection(
          columns: { a!queryColumn(field: "frametype") }
        ),
        logicalExpression: a!queryLogicalExpression(
          operator: "AND",
          filters: {
            a!queryFilter(
              field: "mfgid",
              operator: "=",
              value: ri!manufID
            ),
            a!queryFilter(
              field: "model",
              operator: "=",
              value: ri!Model
            )
          },
          ignoreFiltersWithEmptyValues: true
        ),
        pagingInfo: a!pagingInfo(
          startIndex: 1,
          batchSize: - 1,
          sort: a!sortInfo(field: "frametype", ascending: true)
        )
      ),
      fetchTotalCount: true
    ).data,
    /*null()*/
  /*),*/

choiceLabels and Values in the related dropdown component:

choiceLabels: {
                    index(local!frameType, "frametype", " "),
                    "OTHER"
                  },
                  choiceValues: {
                    index(local!frameType, "frametype", " "),
                    "OTHER"
                  },

This is the contents of the "value" field in the data tab of the user task node in the process model:

= rule!QueryExistingSurvey(
  custName: pv!Cust_Name,
  locName: pv!Loc_Name,
  equipNo: pv!editEquipNo,
  field: "frametype"
)

rule!QueryExistingSurvey:

keyval(
  a!queryEntity(
    entity: cons!application_view_report,
    query: a!query(
      selection: a!querySelection(columns: a!queryColumn(field: ri!field)),
      logicalExpression: a!queryLogicalExpression(
        operator: "AND",
        filters: {
          a!queryFilter(
            field: "customerName",
            operator: "=",
            value: ri!custName
          ),
          a!queryFilter(
            field: "locationName",
            operator: "=",
            value: ri!locName
          ),
          a!queryFilter(
            field: "equipmentId",
            operator: "=",
            value: ri!equipNo
          )
        },
        ignoreFiltersWithEmptyValues: true
      ),
      pagingInfo: a!pagingInfo(startIndex: 1, batchSize: - 1)
    ),
    fetchTotalCount: false
  ).data[1],
  ri!field,
  ":",
  "]"
)

  Discussion posts and replies are publicly visible