Internet Explorer duplicated results from oData Read Operations – Cache Issue
Hello,
during the implementation of a Fiori Application with NetWeaver Gateway as oData Provider we ran into the following issue. When we created a new list item within Internet Explorer, the results got duplicated. So for example if the list had 3 Entries and we created the fourth entry, the list in Internet Explorer showed 8 Results. In the backend which handled the create request from the oData service, the results where correct.
We implemented a simple list to create text messages in it. Testing the application with Chrome and Firefox worked fine. But in IE we always had doubled results from the oData Result.
The problem was due to cache mechanisms of Internet Explorer. We implemented the no cache method. And it worked correct afterwards also with Internet Explorer.
If you are facing a similar behaviour in your applications. I recommend you to implement the following method on the DPC_EXT class. We named it no_cache.
DATA: ls_header TYPE ihttpnvp.
* Cache Control
ls_header-name = ‘Cache-Control’.
ls_header-value = ‘no-cache, no-store’.
set_header( ls_header ).
* Pragma
ls_header-name = ‘Pragma’.
ls_header-value = ‘no-cache’.
set_header( ls_header ).
I hope this documents helps other developers to avoid this issue.
Have a nice day.
Kind regards,
Michael
Hi Michael,
We are having the similar IE issue in our environment.
do you want us to create a separate method "no_cache" in DPC_EXT or do you want to implement this logic in Get_EntitySet method or both? Please suggest.
Thanks,
Vijay