on 12-04-2015 10:18 AM
Hello Community
I developed a dashboard in version 1.5 SP0. There are 5 tabs and around 16 Bex datasources in total.
As per suggested, i applied dobackgroundprocessing rule, i.e. in starting i only run first tabs' datasources, and rest of them are running in backgroundprocessing.
In background processing part, i put alert to show me when loading has finished.
After i got the alert, i start navigating between tabs, and i expect no more query executions, however especially 2 tabs' queries are being executed again. (i double-checked it in SM66)
What do you think the reason can be?
I have no scripts in those tabs like "Reload or getData" and i don t do selections in charts.
Thank you for your inputs,
Hi Sathish,
As far as I know, when you have the ALERT line after loaddatasource() script line, it does not behave in the way that you have actually thought.
Lets consider for example - DS_Items is a data source that would take 3 seconds to load and you have given the script as:
On Background Processing Event :
DS_Items.loaddatasource();
APPLICATION.alert("data source load complete");
Now, when this event's script is executed, Design Studio would execute the first line - Initiate the Loading of the data source In the background and as soon as the initiation is done, it executes the ALERT. It doesn't wait for 3 seconds - for the Data Source to complete its loading.
The 2 tabs that that you have mentioned might have data sources that would take a lot of time to load. That's the reason why you see the queries getting loaded slowly.
Thanks,
Gowtham S
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sathish,
A simple workaround is to load the respective data sources on click on the tabs.This improves performance as compared to the background processing.
On Select of the tabs :
if (DS_FILTER.isInitialized())
{
}
else
{
DS_FILTER.loadDataSource();
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Sathish, There is no such command to prevent datasources to be loaded. Another work around with a flag variable can be tried.
Define a global boolean variable "flag" with initial value false.
on background processing :-
if (flag==(false))
{
load data source.
flag == true;
}
with this , the data source gets initialised only once.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.