cancel
Showing results for 
Search instead for 
Did you mean: 

Receive Flash Islands data in flex-Dictionary ?

Former Member
0 Kudos

Hi@ all,

i´m developing a bigger Flash Islands application i need to loop over ~10 000 entrys to find a searched object.

It is now realized inside an ArrayCollection, like all examples i found.

Is there a faster way to solve the iterating problem?

i´m looking forward to an solution.

thx

Accepted Solutions (0)

Answers (1)

Answers (1)

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

Well the DataSource is expect to be filled into a form of Collection. You can generally interpret it as an IList object type. You could consider mappping to a SET method instead of directly to an ArrayCollection. I'm not familiar with the Flex Dictionary object so I'm not sure how compatible the two are. However via a SET mappping perhaps you can fill a Dictionary from an IList. Here is an example of a bound SET function within FlashIsland:

public function set mapDataSource(val:Object):void{

if(!(val is IList))

return; //expecting an IList

MapDS = val as IList;

}

Former Member
0 Kudos

Sry for the late answer.

@Thomas: It was just an idea with the Dictionary, im open for a better solution.

What i exactly want to do:

i get an "nameVariable" and i get an "nameList" from my SAP. Now i want to find all attributes in the nameList according to the "nameVariable". Like i said the nameList has ~10 000 entrys.

-> Which is the fastest way to solve this problem?

thx

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

10000 entries is a lot to send through the Islands interface. I would avoid trying to send that much data through. I'm not sure exactly how you are using that data, but I would personally find some way to work with from the Web Dynpro side. Perhaps producing an Island event so that control returned to web dynpro to process through the 10000 records.

ChrisPaine
Active Contributor
0 Kudos

Hi Thomas,

I'll be controversial here...

Perhaps there are cases where from a performance point of view, it is better to do handling of records client side (in the island) rather than server side.

From a design point of view, and a support view, I'd want to keep as much logic in the ABAP system as possible, easier to debug and control.

But there may well be cases where data might be going through lots of manipulation to present results for the user - data visualisation for instance - where I could easily see the benefit of having all the data client side and manipulating it there.

I'd be interested to hear your thoughts on this - if you've already blogged about it - sorry, you are so prolific, it's hard to keep up!

Cheers,

Chris

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

The main problem is the overhead of getting this data in/out of the FlashIsland. The data has be transformed into XML and packed into a form field. This adds time to processing on client and server as well as increases the page size. To make the situation worse, the XML data isn't delta handled so any server event causes it to be retransmitted. Therefore it is advisable to keep the data moving to/from the FlashIsland as small as possible.

Former Member
0 Kudos

ok, i have reduced the amount of data which was forwarded to Flex and i have designed an native binary algorithm to improve the performance -> not quite pretty, but it works for the moment

I would be glad to see another workaround, if someone has one.