a script doesn't finish after 30sc...

Stimulsoft Reports.Flex discussion
Locked
KCRomain
Posts: 23
Joined: Fri Aug 05, 2011 11:34 am
Location: Montpellier

a script doesn't finish after 30sc...

Post by KCRomain »

Hello,

i have a problem with a new stiSoft report.
Error: Error #1503: Un script ne s'est pas terminé après 30 secondes et a été arrêté.
at stimulsoft.report::StiNameValidator$/correctName()
at stimulsoft.report.dictionary.dataSources::StiDataSourcesCollection/getByName()
at stimulsoft.report.components.bands::StiDataBand/get dataSource()
at stimulsoft.report.components.bands::StiDataBand/get isEof()
at stimulsoft.report::StiTotals$/calculate()
at stimulsoft.report::StiTotals$/calculateVariant1()
at stimulsoft.report::StiTotals$/sum()
at stimulsoft.report.engine::StiParser/call_func()
at stimulsoft.report.engine::StiParser/executeAsm()
at stimulsoft.report.engine::StiParser$/parseTextValue()
at stimulsoft.report.components.simpleComponents::StiSimpleText/invokeGetValue()
at stimulsoft.report.engine.engineV2.builders::StiSimpleTextV2Builder/internalRender()
at stimulsoft.report.components::StiComponent/internalRender()
at stimulsoft.report.engine.engineV2.builders::StiComponentV2Builder/render()
at stimulsoft.report.components::StiComponent/render()
at stimulsoft.report.engine.engineV2::StiPageHelper$/renderSimpleComponents()
at stimulsoft.report.engine.engineV2::StiStaticBandsHelper/render()
at stimulsoft.report.engine.engineV2::StiEngine/newList()
at stimulsoft.report.engine.engineV2::StiEngine/newPage()
at stimulsoft.report.engine.engineV2::StiRenderProviderV2$/renderReport()
at stimulsoft.report.engine.engineV2::StiRenderProviderV2$/render()
at stimulsoft.report.engine.engineV2.builders::StiReportV2Builder$/renderSingleReport()
at stimulsoft.report::StiReport/renderReport()
at stimulsoft.report::StiReport/onDataLoaded()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at stimulsoft.flex.base::StiObject/dispatchEvent()
at stimulsoft.report::StiReport/onDictionaryConnected()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at stimulsoft.flex.base::StiObject/dispatchEvent()
at stimulsoft.report.dictionary::StiDictionary/connectComplete()
at stimulsoft.report.dictionary::StiDictionary/connectNextDatabase()
at stimulsoft.report.dictionary::StiDictionary/createDatabases()
at stimulsoft.report.dictionary::StiDictionary/connect()
at stimulsoft.report::StiReport/render()
at stimulsoft.viewer::StiViewerFx/renderReport()
at stimulsoft.viewer::StiViewerFx/set report()
at stimulsoft.viewer::StiViewerFx/set currentReport()
at stimulsoft.viewer::StiViewerFx/assignReport()
at stimulsoft.controls_old.visual::StiPageControl/onPreviewButtonClick()
Can you tell me where it come? I use text to display complex calculations, and I add to these conditions for color text.

Here is a calculation (there are 88 in all):
{
(
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 5 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
+
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 3 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
+
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 9 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
)
/
(
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 1 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
+
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 2 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
+
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 3 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
+
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 4 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
+
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 5 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
+
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 6 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
+
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 7 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
+
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 8 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
+
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 9 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
+
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 10 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
+
SumIf(DataBandLille86, raw_286.F3, raw_286.F2 == 11 && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
)
}
They are 16 databands differents.

I try :
- set alias to every databand
- add a single databand per page (actually all databand are in a single page, this page is disable)
- delete conditions (because before set conditions the report run) but error occur after disable conditions too

Please help me !!!!!!!
Andrew
Posts: 4108
Joined: Fri Jun 09, 2006 3:58 am

a script doesn't finish after 30sc...

Post by Andrew »

Hello,

Your expressions are not optimized, and therefore are processed very long time.
We can analyze and speed up your report.
Can you please send us a sample report template with data, which reproduces the issue?

Thank you.
KCRomain
Posts: 23
Joined: Fri Aug 05, 2011 11:34 am
Location: Montpellier

a script doesn't finish after 30sc...

Post by KCRomain »

Hello,

i have optimized my calcul :
{
(
SumIf(DataBandLille86, raw_286.F3, (raw_286.F2 == 5 || raw_286.F2 == 3 || raw_286.F2 == 9) && Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
)
/
(
SumIf(DataBandLille86, raw_286.F3, Substring(raw_286.F1, 5, 2) == (Month(Today)-2))
)
}
On my pc the script is ok. But on old pc the script throw this exception !! It's possible to set the time before exception is throw ?

Thx and have good day
KCRomain
Posts: 23
Joined: Fri Aug 05, 2011 11:34 am
Location: Montpellier

a script doesn't finish after 30sc...

Post by KCRomain »

Hello,

Our technical team already knows such problem as we had a similar problem in some of our projects. This exception is thrown by Flash Player.

In order to solve this problem, we develop a smooth executor which release FlashPlayer resources during huge computation.
You can find more details on this page http://www.keepcore.com/composants-flex ... onent.html

We are willing to help you integrate this component in your application.
KeepCore is specialist in RIA and we would be glad to establish mutual assistance between our two companies.


Best regards
Vladimir
Posts: 1462
Joined: Fri Apr 13, 2007 4:05 am
Location: Earth

a script doesn't finish after 30sc...

Post by Vladimir »

Hello,

We have been developing own event model of the report generator core, it will get rid of this error. Thanks for the information, we will examine the components that you specify.

Also, you can use the following compiler options, this will increase the time allowed for execution of the script:
-default-script-limits 1000 60
Thank you.
Locked