Display dropdown values depending on the selected category

Certified Associate Developer

a!formLayout(
label: "Create Incident Management",
contents: {
a!boxLayout(
label: "Requestor Details",
contents: {
a!columnsLayout(
columns: {
a!columnLayout(
contents: {
a!textField(
label: "Requestor",
labelPosition: "ABOVE",
value: loggedInUser(),
saveInto: {},
refreshAfter: "UNFOCUS",
readOnly: true(),
validations: {}
)
}
),
a!columnLayout(
contents: {
a!textField(
label: "Designation",
labelPosition: "ABOVE",
value: "Project Lead",
saveInto: {},
refreshAfter: "UNFOCUS",
readOnly: true(),
validations: {}
)
}
)
}
)
},
style: "ACCENT"
),

ri!subCategory: choose(
if(isnull(ri!category),1,ri!category),

{"Laptop Issue","Internet Issue"},
{"Cabs Issue","AC Issue"},
{"Salary Issue","Project Allocation Issue"},
{"Finance Planning","Fund Raising"}

),
a!sectionLayout(
label: "Incident Category",
contents: {
a!columnsLayout(
columns: {
a!columnLayout(
contents: {
a!dropdownField(
label: "Category",
labelPosition: "ABOVE",
placeholder: "--- Select a Value ---",
choiceLabels: {"IT Support", "Admin Support", "HR Support", "Finance"},
choiceValues: {1,2,3,4},
value :ri!category,
saveInto:{
ri!category,
a!save(ri!subCategory,null),
}
/*searchDisplay:"AUTO",*/
/*validations:{}*/
)
}
),
a!columnLayout(
contents: {
a!dropdownField(
label: "Sub Category",
labelPosition: "ABOVE",
placeholder: "--- Select a Value ---",
choiceLabels:ri!subCategory,

choiceValues:ri!subCategory,
value:ri!subCategory,
saveInto:ri!subCategory,
disabled:isnull(ri!category),
searchDisplay: "AUTO",
validations:{}
)
}
),
a!columnLayout(
contents: {
a!dateTimeField(
label: "Reporting Date and Time",
labelPosition: "ABOVE",
value: ri!reportingDateTime,
saveInto: ri!reportingDateTime,
validations: {}
)
}
)
}
),
a!cardLayout(
contents: {
a!columnsLayout(
columns: {
a!columnLayout(
contents: {
a!textField(
label: "Incident Title",
labelPosition: "ABOVE",
value : ri!incidentTitle,
saveInto: {ri!incidentTitle},
refreshAfter: "UNFOCUS",
validations: {}

)
}
),
a!columnLayout(
contents: {
a!paragraphField(
label: "Description",
labelPosition: "ABOVE",
value: ri!Description,
saveInto: ri!Description,
refreshAfter: "UNFOCUS",
height: "MEDIUM",
validations: {}
)
}
)
}
)
},
height: "AUTO",
style: "SUCCESS",
marginBelow: "STANDARD",
showBorder: false()
)
}
),
a!boxLayout(
label: "SLA",
style: "ACCENT"
)
},
buttons: a!buttonLayout(
primaryButtons: {
a!buttonWidget(
label: "Submit",
submit: true,
style: "PRIMARY"
)
},
secondaryButtons: {
a!buttonWidget(
label: "Cancel",
value: true,
saveInto: ri!cancel,
submit: true,
style: "NORMAL",
validate: false
)
}
)
)

check above code and "choose" function and help me to resolve the below error.

Could not display interface. Please check definition and inputs. Interface Definition: Expression evaluation error at function 'choose' [line 41]: Choose index cannot be null.

  Discussion posts and replies are publicly visible