I have an application I am working on based on a master detail template.
We want to use multiple oData services in this application, my first task was to adjust the template to use more than one service. Essentially, in the master view, I have a list of employees populated from a custom odata service. Once selected I want to present data on different tabs of the detail view based on the HCM_PEOPLE_PROFILE_SRV odata service.
For the most part this is working, when I select an employee the header of the detail view gets the right data for the employee selected from the HCM_PEOPLE_PROFILE_SRV/EmployeeDataSet.
However, on the other icontabs I want data from other entity sets. My model for the HCM_PEOPLE_PROFILE_SRV service is oModelEe and I bind this to the detail view.
On one tab I have a list and I reference the QualificationSet via the model. What is interesting is when I add this, when the application is loaded, it calls the HCM_PEOPLE_PROFILE_SRV and attempts to fetch teh QualificationSet first, so it does not wait until I select an employee, since it doesn't have a pernr it doesn't return any data. But it only attempts to call this service for that entity set once. As I select employees in the master view, the HCM_PEOPLE_PROFILE_SRV gets called each time for the EmployeeDataSet.
<IconTabFilter count="10" icon="sap-icon://task" iconColor="Critical" id="__filter0" text="Open"> <content> <List id="list" items="{oModelEe>/QualificationSet}" mode="{device>/listMode}" noDataText="{i18n>masterListNoDataText}"> <items id="qualificationList"> <CustomListItem> <HBox> <VBox class="sapUiSmallMarginBegin sapUiSmallMarginTopBottom"> <Text text="{oModelEe>Employeenumber}"/> <Text text="{oModelEe>QualifId}"/> <Text text="{oModelEe>Name}"/> <Text text="{oModelEe>ValidUntil}" visible="false"/> <Text text="{oModelEe>Rating}" visible="false"/> </VBox> </HBox> </CustomListItem> </items> </List> </content> </IconTabFilter>
Any guidance as to where to look would be appreciated. I've tried working through the navigation and routing examples but they all assume you are using one oData service. If there is a different area of the code that would be helpful, please let me know.