Hi All,
We are targeting internet explorer browser for our SAP Ui5 application.We are making OData batchCall, in which it is consuming around 27,000 to 40,000 records of data which needs to be displayed in Grid table. It is working fine and displaying 27,000 to 40,000 records of data in table for first OData batch service call. Again if we make second time OData batch service call, again around 27,000 records (24MB data) is loading, but not displaying in table while running the application in internet explorer and causing a performance issue. Please check the below screenshot and code snippet.
Code :-
var oModelSearch = new sap.ui.model.odata.ODataModel("/sap/opu/odata/SAP/ZSEARCHVIEW_SRV/");
oModelSearch.addBatchReadOperations([oModelSearch.createBatchOperation("ZsearchSet?"+filterInput[0].replace(/ /g,"+"), "GET")]);
oModelSearch.addBatchReadOperations([oModelSearch.createBatchOperation("ZView3Set?"+filterInput[0].replace(/ /g,"+"), "GET")]);
oModelSearch.submitBatch(jQuery.proxy(this.handleViewSearchBatchRead, this), function(oError){
}
}),
}}, true);
handleViewSearchBatchRead: function(aResponse){
var len = aResponse.__batchResponses.length;
var that=this;
for (var i = 0; i < len; i++)
{
if (aResponse.__batchResponses[i].data.__metadata.title== "ZsearchSet")
{
var jsonModel = new sap.ui.model.json.JSONModel();
jsonModel.setSizeLimit(60000);
jsonModel.setData(aResponse.__batchResponses[i].data);
//binding data to GridTable and count to IconTab filter
this.byId("icnTabFilter_NetworkView").setCount(aResponse.__batchResponses[i].data.results.length);
this.byId("idProductsTable_Network1").setModel(jsonModel);
this.byId("idProductsTable_Network2").setModel(jsonModel);
}
if (aResponse.__batchResponses[i].data.__metadata.title== "ZView3Set")
{
//binding data to GridTable and count to IconTab filter
var jsonModel = new sap.ui.model.json.JSONModel();
jsonModel.setSizeLimit(60000);
jsonModel.setData(aResponse.__batchResponses[i].data);
that.byId("idProductsTable_Network3").setModel(jsonModel);
}
}
},
Screenshots:-
Similarly, second time another OData batch call loads 24MB of data not binding the data to table (becomes page unresponsive sometimes).and creating a performance issue here. Please suggest on this.
Does internet explorer (or) Google chrome has any limitations?.
Do i need to refresh or re-render my model? If so, then how can i do that ?.
My SAP Ui5 application has to support up to 27,000 to 60,000 (24MB - 30MB) records of data and should display in table view in one time service call, similarly multiple times. Lazy loading or Pagination doesn't meet our requirement.So, we followed above approach. Please suggest.
Thanks in Advance.
Cheers,
Hemagiri Seerapu