Here's a standalone example mirroring your values which demonstrates how to do this calculation in a single-nested if() statement as well as how to properly contain the calculation within its own local variable. Note how the text field does not and should not have a "saveInto" parameter set, as it would never do anything at all since it's read-only.
a!localVariables(
local!entry: a!map(
financial: "",
documents: "",
certificate: ""
),
/* this value will auto-update as the dropdown values are changed */
local!calculatedStatus: if(
or(
a!isNullOrEmpty(local!entry.financial),
a!isNullOrEmpty(local!entry.documents),
a!isNullOrEmpty(local!entry.certificate)
),
"In Processing",
if(
and(
local!entry.financial = "YES",
local!entry.documents = "YES",
local!entry.certificate = "YES"
),
"Finalized",
"Pending"
)
),
{
a!dropdownField(
label: "Financial",
labelPosition: "ADJACENT",
placeholder: "(none)",
choiceLabels: {"Yes", "No"},
choiceValues: {"YES", "NO"},
value: local!entry.financial,
saveInto: local!entry.financial
),
a!dropdownField(
label: "Documents",
labelPosition: "ADJACENT",
placeholder: "(none)",
choiceLabels: {"Yes", "No"},
choiceValues: {"YES", "NO"},
value: local!entry.documents,
saveInto: local!entry.documents
),
a!dropdownField(
label: "Certificate",
labelPosition: "ADJACENT",
placeholder: "(none)",
choiceLabels: {"Yes", "No"},
choiceValues: {"YES", "NO"},
value: local!entry.certificate,
saveInto: local!entry.certificate
),
a!textField(
label: "Status",
readOnly: true(),
/* this field is READ ONLY, so there is **no save-into**, as it wouldn't do anything anyway */
/* saveInto: "", */
value: local!calculatedStatus
)
}
)
