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

Parents
  • 0
    Certified Lead Developer

    I think the error message is pretty clear. Check the values of your rule inputs and locals.

  • 0
    Certified Associate Developer
    in reply to Stefan Helzle

    I have checked and clear the values but again getting error msg.

    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: {"IT Support", "Admin Support", "HR Support", "Finance"},
    value : ri!category,
    saveInto:{
    local!category,
    a!save(local!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},
    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
    )
    }
    )
    )

  • 0
    Certified Associate Developer
    in reply to praveen1989

    Error msg:-

    Expression evaluation error: Syntax error. Details: Expression evaluation error at function a!dropdownField parameter 8 [line 73]: The Target is missing

  • 0
    Certified Senior Developer
    in reply to praveen1989

    a!dropdownField(
        label: "Category",
        labelPosition: "ABOVE",
        placeholder: "--- Select a Value ---",
        choiceLabels: {"IT Support", "Admin Support", "HR Support", "Finance"},
        choiceValues: {"IT Support", "Admin Support", "HR Support", "Finance"},
        value : ri!category,
        saveInto:{
            local!category,
            a!save(local!subCategory, null)
    
        }  
        /*you missing a "," here*/
        
        searchDisplay: "AUTO",
        validations: {}
    )

Reply
  • 0
    Certified Senior Developer
    in reply to praveen1989

    a!dropdownField(
        label: "Category",
        labelPosition: "ABOVE",
        placeholder: "--- Select a Value ---",
        choiceLabels: {"IT Support", "Admin Support", "HR Support", "Finance"},
        choiceValues: {"IT Support", "Admin Support", "HR Support", "Finance"},
        value : ri!category,
        saveInto:{
            local!category,
            a!save(local!subCategory, null)
    
        }  
        /*you missing a "," here*/
        
        searchDisplay: "AUTO",
        validations: {}
    )

Children
No Data