Tuesday 12 February 2019

Preventing Unresponsive Sessions for Long Queries

Hello All,

In siebel Open UI there is Issue which most of us might have faced.

If we navigate to a view or Run a query and it takes more the 30 seconds,

  • The Busy cursor on the screen disappears 
  • The page becomes unresponsive as query is yet running in background 
  • and most likely we end up clicking randomly and session becomes unresponsive
so, to overcome this scenario lets try to break it into parts and find its solution

  • When a query is Fired , initiate a function to show some message that notifies Query has stated execution
  • When Query finished, notify that query has executed
  • In the Meanwhile from Executing Query to Fetching Results, show some message to user or Block the screen to prevent user interaction
The Solution :


  • Identify Query is Executed , 


$('.siebui-icon-executequery').click(function(){ // do something her to prevent user clicking on screen })


  • Notify Application that Query has finished execution ,


pm.AttachNotificationHandler(consts.get("SWE_PROP_BC_NOTI_END_QUERY"), function(){
  //alert("after query has completed fetching result");
})


  • Block the UI till Query fetches results


$('.siebui-icon-executequery').click(function(){   
var text = "Wait.. Fetching Results ";
    $("<table id='overlay'><tbody><tr><td>" + text + "</td></tr></tbody></table>").css({
        "position": "fixed",
        "top": 0,
        "left": 0,
        "width": "100%",
        "height": "100%",
        "background-color": "rgba(0,0,0,.5)",
        "z-index": 10000,
        "vertical-align": "middle",
        "text-align": "center",
        "color": "#fff",
        "font-size": "30px",
        "font-weight": "bold",
        "cursor": "wait"
    }).appendTo("body");})


sample working example looks like,





Benefits:


  • Overlay will be there till query completes execution 
  • Prevents unnecessary session unresponsiveness due to random click 
  • No 3rd Party jQuery Pluign , uses siebel PM methods


No comments:

Post a Comment

Siebel GoTo View - Handling Realtime cases

 Hello All,  We all must have used GoTo view functionality of siebel to navigate to a particular view from current view. What if the require...