cancel
Showing results for 
Search instead for 
Did you mean: 

Screen freezes during refresh

Former Member
0 Kudos

Hello,

I have a screen in which I have two frames.

Frame two is refreshed every minute and during that process the whole screen freezes.

I am able to refresh the second frame every minute but I don't want the other frame to be frozen during that process as first frame is data entry screen.

Regards

Raman

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

What are you trying to do? How many applets or code do you have for each frame, etc?

Details is what can help us help you...

Former Member
0 Kudos

>Throughout my application I have two frames in all my screens.

>First frame contains user entry screens,applet,grids as per the requirement.

>Second Frame has a grid to show current alarms.

>Every 30 secs second frame gets refreshed to show current alarms.

>I am using frame refresh for an interval of 30 secs.

> I cannot use the applet refresh, as I am setting the values of current alarms using Java Script Code.

>Everytime second frame refreshes first frame also freezes.

> I want to avoid this, as the user entry screens also freezes as soon as second frame refreshes.

Former Member
0 Kudos

This seems more like a browser problem. How much memory do you have allocated to ServeletExec? Is the hardware robust enough to handle this type of install?

Are you also changing the alarms every time you refresh the second frame?

Did you ever consider just setting up ONE page with an iFrame in it rather than multiple frames? This tends to get rendered much easier. You would then be able to pass the alarms dynamically to the IRPT page which would be your alarms.

Also: "First frame contains user entry screens,applet,grids as per the requirement.

" does not mean anything to me as I do NOT know the requirements. Which is why i asked for details. I'm trying to understand your process flow so that maybe i can recommed something different or an aternative.

As in what does Frame ONE pass to Frame Two.....what happens event-wise, etc...

Former Member
0 Kudos

>Yes we are changing the alarms every time we refresh the second frame.

>First and second frame are independent.

> In our case we need current alarm(second frame) to be refreshed every 30 secs.

>In all our screens we have two frames.Second frame always shows the current alarms.(which get refreshed every 30 secs)

>First fame have Charts,User entry screens etc as per the requirements.

>Whenever second frame refreshes it call a BLS transaction,in turn we interpolate some data and then alarm count is set using the javascript code.

>When this happens it freezes the whole application for couple of seconds.

>Our intention to put the screens in two frame was to make them indepent , such that user can work on the screen even when the second frame refreshes.

Former Member
0 Kudos

Raman

If possible, u may make the refresh of the second frame & the call of BLS in independent ways (in ur current situation, both runs in subsequent way that is first refresh, then it calls BLS which leads the screen to get freezing).

Since 2nd frame is showing current alarms every 30 seconds on refresh. So u can call the BLS using <b>Scheduler</b> setting the time interval as 30 secs.

Tell me if this works easily or not

Regards

Som

Former Member
0 Kudos

Yes, you can use applet refresh...applet refresh (or update) does not change the context of the applet or the underlying query, so it should work fine. You can always use a timer in your HTML and call any appropriate applet method(s) if the built-in applet refresh does not meet your needs, thus avoiding the need to reload the entire page.

Former Member
0 Kudos

We tried applet refresh as well, but that is not solving the problem.

But in our case we are interpolating the values from the applet and using javascript we set these current alarm values into the labels in the frame.T

Former Member
0 Kudos

"When this happens it freezes the whole application for couple of seconds."

So from the above line, i assume the frame comes back after a few seconds and is fine???

If this is the case, then it seems to be a response issue from your BLS transaction. How big is it? What kind of logic are you executing? Is R/3 involved?

Former Member
0 Kudos

Yes Alin, frame comes back after few seconds and is fine.

>Only problem is in the first frame we have user entry screen, visualization screens, where operator selects some parameters like machine, start date and end date etc. and when the second frame refreshes first fame also freezes for few seconds.This irritates the user.

>Yes in our case response issue is because of BLS transaction..We are calling two BLS transaction everytime.

Former Member
0 Kudos

it just seems like a response issue. you just have to clean out the BLS as much as possible and make it run efficiently.

have you tried running the transaction from within BLS .....when you press F6 to run it, at the end it will give you a time that it took to execute. Try to get that down as much as possible to get the best response.

What systems are you calling/accessing when executing those two TRXs......what are they accomplishing? Their process?

Former Member
0 Kudos

BLS transaction are accessing the data from iHistorian on the fly.

First transaction returns tag values which are multiple of two i.e. 1,2,4,8,16 etc

These individual values are alarms with a description.If first transactions output has three rows with values 2,16,128 ...this mean 3 alarms.

Second transaction returns values which are not multiple of 2's. For ex. 29(16841..so 29 means 4 alarms) these tag values are combination of multiple of 2's like 641 is combination of 512128+1.

After getting the no. of alrams from both the transaction we aggregate the current alarms as per the machines and display them in the labels in second frame.

Its very complex as customer tags values are multiple of 2's or combination of them.So we need to convert them and display the corresponding alarms and their description.

Former Member
0 Kudos

have you tried running just a query to the iHistorian to see the response time?

It's possible that the target system is the one at fault with the time it's taking. You will have to do some troubleshooting and determine where most of the time is getting taken up.

Former Member
0 Kudos

Query to the iHistorian is very fast and all my other queries are also fast.

Only problem I have is that my first frame freezes for couple of seconds when the second frame refreshes at an interval of 30 seconds.

I want the second frame to work independent of first frame so that user can still work on the first frame even when the second frame refreshes.

Former Member
0 Kudos

Raman

Did u try with <u>Scheduler</u> (??!!) for calling BLS with 30 sec time interval which is currently called directly from 2nd frame (i suggested this in previous post). but u din't even answered if this works or not.

Regards

Som

Former Member
0 Kudos

The scheduler idea is worth a try as well from the previous post.

Anothe approach is the one i mentioned earlier by using an iFrame instead of frames.

Former Member
0 Kudos

Sorry Som, as I missed out in replying to your earlier post.

In this case I can schedule First transaction which gives alarm value in multiple of 2's.

But the second transaction gives values which are combination of multiples of 2's.

These values need to be converted and segregated using javascript code so that we can have count of current alarm with description.

Thats why second transaction cannot be scheduled.

Warm Regards

Raman

Former Member
0 Kudos

Raman

Well

<i>These values need to be converted and segregated using javascript code so that we can have count of current alarm with description</i> - pls can u give a sample of this with javascript codes what u r using.

I think in BLS u should b able to do the whole processing (Values -> conversion -> separation -> count etc etc) with the help of built-in functions in Logic Editor

Regards

Som

Former Member
0 Kudos

I agree with Som. I would avoid putting any of this type of business/calculation logic in the client application. It belongs best in the "middle tier", between the data and the UI. Your BLS transaction can persist the alarm status information into a database, as XML, or "in memory" using the simulator server.

One thing that sucks is that the scheduler can only do intervals of one minute, so you can't combine it with the scheduler to optimize performance. What you can do is combine it with query caching (perhaps set at 15 seconds) to optimize performance. This way, if 100 people ask for the same query (alarm status), it will only access the back-end data source once each 15 seconds.

Rick

Former Member
0 Kudos

Thanks for the Help.

I have tried most of the solutions and I had to do a trade off as this doesnt seems to be a xMII issue. More or less it seems to me as Java Script is taking time to run and contributing to freeze the window.

Any ways thanks for all the advice.