﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Business Objects and Data Access (How do I?)  » Business Object Performance</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Tue, 05 May 2026 19:49:52 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost26833.aspx</link><description>Hey Trent, &lt;BR&gt;I respectfully disagree that this is not really an issue :) I do agree that this is not a NOTICEABLE issue for most day to day use's of business object's. I would also like to clarify that The bottleneck is with setting field values in a BO vs. a ADO datatable ,NOT on the adding of rows or the saving of rows.(BTW I do use Bulk Copy in instances where I am doing mass inserts of records but it doesn’t change this issue).&lt;/P&gt;&lt;P&gt;&lt;BR&gt;As an example programmatically SETTING the values of 100 fields in 1 data row takes .002 seconds via Strong Typed BO properties and .0000000000 seconds via weak typed ado, probably not noticeable. However setting the same values for the same 100 fields but for 1000&amp;nbsp; data rows then takes 7.64 seconds vs .03 seconds and that IS a noticeable difference.&lt;/P&gt;&lt;P&gt;&lt;BR&gt;I realize I can refactor my code to use weak typing and directly reference the businessobject's underlying datatable to increase performance by bypassing whatever underlying handler is mucking up the waters and I have done this in some places where I need the performance and was unable to wait for it to be resolved. &lt;BR&gt;Really the long and short of it is that I am using a business object to programmatically set multiple values for somewhat large tables with large recordset’s. Although this usage may not be the norm ,I feel it is reasonable to expect a business object to perform somewhat on par with a datatable?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;BR&gt;I realize that whatever is causing the issue is in a sticky spot and will take you guys more time to resolve and I appreciate the time and effort that it takes to get to it. I just wanted to clarify what exactly the issue is, and to simply re-iterate that this is an issue that affects my business processes negatively and let you know I appreciate whatever you can do to resolve it . &lt;/P&gt;&lt;P&gt;Thanks Man,&lt;/P&gt;&lt;P&gt;Paul&lt;BR&gt;</description><pubDate>Tue, 13 Apr 2010 14:44:12 GMT</pubDate><dc:creator>Paul Chase</dc:creator></item><item><title>Business Object Performance</title><link>http://forum.strataframe.net/FindPost25133.aspx</link><description>I have a routine that is importing Foxpro Data.&amp;nbsp;This week&amp;nbsp; made some changes and added a few larger tables(more records and more fields)&amp;nbsp;to the import routine that&amp;nbsp;has been running for months. These "new" tables are by no means&amp;nbsp;crazy huge as the largest one is&amp;nbsp;right around 75,000 records and&amp;nbsp;30 or so&amp;nbsp;fields. This routine has been running at night so&amp;nbsp;I never really noticed if this has always&amp;nbsp;been an issue. however while debugging changes noticed that the performance was lacking..&amp;nbsp;&amp;nbsp;&lt;P&gt;Once I started looking onto it I was very suprised at the perfomance vs a plain datatable. I did expect&amp;nbsp;a business object to have some additional overhead over&amp;nbsp;a vanilla datatable , however&amp;nbsp;I was expecting a very minimal difference compared to the results I am seeing. Perhaps I am missing something easy&amp;nbsp;like not setting a business object property or I&amp;nbsp;am looking at something completly&amp;nbsp;wrong. Whatever it is there seems to be&amp;nbsp;a huge performance difference that I would like to get to the bottom of it. &lt;/P&gt;&lt;P&gt;To take anything&amp;nbsp;I was doing out of the mix I&amp;nbsp;created a test project that uses the stataframe sample orderitems table as a source and destination bo. I then&amp;nbsp;created a standard plain old vanilla BO mapped to the items table. The only business object&amp;nbsp;property that is&amp;nbsp;changed from default is the "allowsnullvaluesonnewrow" is set to true.&lt;/P&gt;&lt;P&gt;Basically&amp;nbsp;I&amp;nbsp;fill a 'source' business object&amp;nbsp;Then&amp;nbsp;loop through&amp;nbsp;the 'source' business object&amp;nbsp;and create a new row on a destination object and sets the value of a field on the&amp;nbsp;destination object from the source . &lt;/P&gt;&lt;P&gt;[codesnippet]&lt;/P&gt;&lt;P&gt;Business Object Example&lt;/P&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&lt;P&gt;'Set Start Time&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;starttime = DateTime.Now&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'Loop through filled Business Object&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;For&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Each&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; bo &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; itemsbo &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;In&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; SourceBO.GetEnumerable&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'Create New Row in Destination Business Object&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;DestinationBO.NewRow()&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'Set Value of 1 field&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;DestinationBO.orit_Quantity = bo.orit_Quantity&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'Set Stop Time&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;stoptime = DateTime.Now&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'Set Elapsed&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;elapsed_time = stoptime.Subtract(starttime)&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;[/codesnippet]&lt;/P&gt;&lt;P&gt;[codesnippet]&lt;/P&gt;&lt;P&gt;Same routine using a vanilla datatable.&lt;/P&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;&lt;P&gt;'Set Start Time&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;starttime = DateTime.Now&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'Loop through filled Business Object&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;For&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Each&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; bo &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; itemsbo &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;In&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; SourceBO.GetEnumerable&lt;/P&gt;&lt;P&gt;lorow = dt.NewRow&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'-- Set Value of 1 fld&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;lorow(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#a31515 size=2&gt;"orit_Quantity"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;) = bo.orit_Quantity&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT color=#008000&gt;'-- Add the new row to the data table&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;dt.Rows.Add(lorow)&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;Next&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'Set Stop Time&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;stoptime = DateTime.Now&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;FONT color=#008000 size=2&gt;'Set Elapsed&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;elapsed_time = stoptime.Subtract(starttime)&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;P&gt;[/codesnippet]&lt;/P&gt;&lt;P&gt;Here are&amp;nbsp;my results based on 50,000 records from the strataframe order items table. These times do not include any filling of data or saving of data. &lt;/P&gt;&lt;P&gt;Use a bo to create a new row and set no values&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .54 seconds&lt;/P&gt;&lt;P&gt;use a bo to create a new row and set the value of one field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.04 seconds&lt;/P&gt;&lt;P&gt;use a bo to create a new row and set the value of&amp;nbsp;two fields&amp;nbsp;&amp;nbsp; 9.51 seconds&lt;/P&gt;&lt;P&gt;use a bo to create a new row and set the value of&amp;nbsp;3 fields&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;14.17 seconds&lt;/P&gt;&lt;P&gt;----------------Data Table--------&lt;/P&gt;&lt;P&gt;Use a&amp;nbsp;datatable to create a new row and set no values&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.21 seconds&lt;/P&gt;&lt;P&gt;use a&amp;nbsp;dt to create a new row and set the value of one field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .31 seconds&lt;/P&gt;&lt;P&gt;use a&amp;nbsp;dt to create a new row and set the value of&amp;nbsp;two field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .45 seconds&lt;/P&gt;&lt;P&gt;use a&amp;nbsp;dt to create a new row and set the value of&amp;nbsp;3 &amp;nbsp;fields&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .51 seconds&lt;P&gt;&amp;nbsp;</description><pubDate>Tue, 13 Apr 2010 14:44:12 GMT</pubDate><dc:creator>Paul Chase</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost26830.aspx</link><description>Well, I am not sure that it is actually an issue.  From reading through the post, you are dealing with large numbers of records in a single BO.  If you are trying to do mass updates, then the SqlBulkCopy is a great way to dump tons of records into a table and totally sidetracking the strong-typing and data verification.&lt;br&gt;
&lt;br&gt;
That being said, I have not had a chance to put this through a code tracing tool to see where your exact bottleneck may be.  Most like there is an event being raised and handled.  I will take another look when I get my head above water.</description><pubDate>Mon, 12 Apr 2010 15:20:37 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost26829.aspx</link><description>Trent,&lt;/P&gt;&lt;P&gt;I recently updated to the latest version of SF and was unable to tell&amp;nbsp;if this issue was resolved ? &lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Paul</description><pubDate>Mon, 12 Apr 2010 14:33:23 GMT</pubDate><dc:creator>Paul Chase</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25224.aspx</link><description>Hi Paul,&lt;br&gt;
&lt;br&gt;
I agree with Keith about SQLBulkCopy, in fact in [url=http://forum.strataframe.net/FindPost24437.aspx]this thread[/url] you can see how Keith's sample code helped me in this regard.</description><pubDate>Tue, 17 Nov 2009 11:47:41 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25223.aspx</link><description>Hi Paul,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Darn, I was in such a hurry to tell that anecdote that I didn't read your post carefully. That'll learn me...&lt;/P&gt;&lt;P&gt;Les</description><pubDate>Tue, 17 Nov 2009 11:27:40 GMT</pubDate><dc:creator>Les Pinter</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25220.aspx</link><description>I am very interested in your findings, I found this a long time ago and honestly just figured it was the way it was, anything over 20k records (ballpark)&amp;nbsp;I have been using SQLBulkCopy to get speed on the commit.</description><pubDate>Mon, 16 Nov 2009 19:40:40 GMT</pubDate><dc:creator>Keith Chisarik</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25219.aspx</link><description>Hi Les,&lt;/P&gt;&lt;P&gt;I think there is a misunderstanding, I am not trying to use a listview with a large recordset&amp;nbsp; :) &lt;/P&gt;&lt;P&gt;I am bulk importing records from&amp;nbsp;foxpro&amp;nbsp;to a sql database. The issue&amp;nbsp;I&amp;nbsp;am having is that setting the values on the&amp;nbsp;destination&amp;nbsp;business object via the strong typed property takes a good bit longer than setting the values on a plain jane datatable.</description><pubDate>Mon, 16 Nov 2009 14:40:35 GMT</pubDate><dc:creator>Paul Chase</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25217.aspx</link><description>Hi Paul,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; What's the old joke? A guy says "Doctor, it hurts when I do this" and smacks his head. Doctor says "Then don't do it..."&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;Back in the heyday of FoxPro, I wrote an article very similar to your comment&amp;nbsp;about&amp;nbsp;the listboxes in the&amp;nbsp;"two-column mover"&amp;nbsp;control created by Alan Griver, who is now in charge of languages at MS. I was able to load a 50,000-line listbox must faster than his method did, using arrays. His answer was "why do you need 50,000 items in a listbox?". I had to admit that he was right. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; There's probably a way to speed up listview loading internally from a business object, but maybe a BrowseDialog&amp;nbsp;will give your users a more manageable way of filtering and selecting records than would a ListView. That's what I ended up doing. By the time my users got to the two-column-mover, they were looking at only a few hundred records, having already filtered out what they weren't interested in.&lt;/P&gt;&lt;P&gt;Les</description><pubDate>Mon, 16 Nov 2009 11:11:10 GMT</pubDate><dc:creator>Les Pinter</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25207.aspx</link><description>Thanks Trent.&lt;BR&gt;&lt;/P&gt;&lt;P&gt;For the most part the import routine that this affect's&amp;nbsp;runs after hours unless there&amp;nbsp;is some type of exception&amp;nbsp;that would require a manual rerun.&amp;nbsp;So rather than refactor the mapping methods to use a datatable I will leave it as is for now as&amp;nbsp;I do have some other stuff going on that&amp;nbsp;I might break. So it is not a&amp;nbsp;life or death&amp;nbsp;issue for me but I did want to find out what was going on, and obviously resolve it.&lt;/P&gt;&lt;P&gt;I&amp;nbsp;understand 100%&amp;nbsp;that this&amp;nbsp;will not be a "quick" fix&amp;nbsp;as&amp;nbsp;the underlying datatable events have to be&amp;nbsp;one of the worms at the bottom of the business object&amp;nbsp;can.&lt;/P&gt;&lt;P&gt;Appreciate ya,&lt;/P&gt;&lt;P&gt;Paul&amp;nbsp;&amp;nbsp;</description><pubDate>Fri, 13 Nov 2009 10:09:54 GMT</pubDate><dc:creator>Paul Chase</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25205.aspx</link><description>One more thought...the main thing here is that before we make any changes, we are going to have to totally understand the bottleneck and make sure that any change made doesn't break something else as this would be a low level change.  Thus the time necessary to diagnose needs to be allocated prior to making any change.</description><pubDate>Fri, 13 Nov 2009 09:20:19 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25204.aspx</link><description>Paul,&lt;br&gt;
&lt;br&gt;
The code issue is actually happening within the DataTable.  I think that there is a handler somewhere within the DataTable managing the ListChanged event which is tied into the FieldPropertyDescriptors that is causing the delay.  I am going to have to break this down to the angle iron as the root of the issue is actually within the ADO.NET data table, but is manifesting itself through a handler.  I have killed all handlers, etc. and not been able to isolate it just yet.&lt;br&gt;
&lt;br&gt;
I am going to add this to my list.  However, in the interim, if you are dealing with massive records and just want to circumvent all BO handlers, you can extract the datatable, add the rows, and the BO will still be looking at the same BO reference:&lt;br&gt;
&lt;br&gt;
[codesnippet]Dim dt As DataTable = MyBO.CurrentDataTable&lt;br&gt;
Dim row As DataRow&lt;br&gt;
&lt;br&gt;
'-- Cycle through all of the source rows&lt;br&gt;
ForEach bo As MySourceBO in sourceBo.GetEnumerable()&lt;br&gt;
    row = dt.NewRow()&lt;br&gt;
    '-- Update the row here&lt;br&gt;
    '-- Add the row to the data table within the BO&lt;br&gt;
    dt.Rows.Add(row)&lt;br&gt;
Next[/codesnippet]&lt;br&gt;
&lt;br&gt;
Basically this will circumvent all DataTable list changed events.  Like I said, I am going to revisit this when I can dedicate 4+ hours as I have already spent 2 with little progress as there is a handler or delegate conflict going on.  But the above would at least be a temp solution.</description><pubDate>Fri, 13 Nov 2009 09:17:41 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25199.aspx</link><description>Thanks Trent.</description><pubDate>Fri, 13 Nov 2009 07:38:21 GMT</pubDate><dc:creator>Paul Chase</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25193.aspx</link><description>Paul,&lt;br&gt;
&lt;br&gt;
I will have to look at this some more tomorrow.  I am going to run it through a profiler to see where the hard spots are.  Thanks.</description><pubDate>Thu, 12 Nov 2009 17:52:27 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25191.aspx</link><description>I am taking a look at it right now.</description><pubDate>Thu, 12 Nov 2009 17:31:22 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25188.aspx</link><description>Hey guys did this get skipped\missed?&lt;/P&gt;&lt;P&gt;Do you&amp;nbsp;need anything additional from me? Just would like to know you guys are&amp;nbsp;looking at this problem and it is on the radar.&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Paul&amp;nbsp;</description><pubDate>Thu, 12 Nov 2009 15:16:11 GMT</pubDate><dc:creator>Paul Chase</dc:creator></item><item><title>RE: Business Object Performance</title><link>http://forum.strataframe.net/FindPost25137.aspx</link><description>I guess&amp;nbsp;I forgot to attach the sample app</description><pubDate>Fri, 06 Nov 2009 15:31:08 GMT</pubDate><dc:creator>Paul Chase</dc:creator></item></channel></rss>