!--a11y-->
Combo Engine Hierarchy 
Combo engine modeling allows you to set hierarchical information when the recordset returned by the combo engine is dependent on the value of another attribute.

An attribute like ‘State’ is dependent on the value in the attribute ‘Country’, and so is the list of states that are offered for selection.
These values are modeled as hierarchies are modeled and stored in the Mobile Application Repository. Once a hierarchy is modeled, the business framework automatically takes care about the necessary synchronization between attributes.
There are two types of hierarchies that can be modeled:
· Static, where the value, based on which the recordset is returned, is fixed at design time in the Mobile Application Studio. This hard-coded value is set on the given segment field and acts as a filter to retrieve the resultant recordset.
· Dynamic, where the value, based on which the recordset is returned, is specified as an attribute of the business object or business query. So, at runtime when the value of the hierarchy attribute changes, then the resultant recordset returned by the combo engine also changes.

The recordset for an attribute ‘State’ may depend on the current value of the attribute ‘Country’. So, when a combo engine is modeled for 'State' the hierarchy attribute specified is 'Country'.
According to business requirements the you can specify if the recordset should be fetched from the database every time the value of the hierarchy attribute changes.
Whenever the hierarchy attribute in the related business object or business query changes, the framework takes care to inform the respective combo engine about this change. In turn the combo engine raises the OnDataChanged event to indicate that the recordset must be fetched again.

If no value is set for the country, language or hierarchy attributes, these will not be reflected in the list box.