<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.infopathdev.com:443/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Code</title><link>https://www.infopathdev.com:443/forums/45.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Looping through a web Service Code.....really Slow</title><link>https://www.infopathdev.com:443/forums/thread/20938.aspx</link><pubDate>Tue, 19 Jun 2007 13:08:05 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:20938</guid><dc:creator>mhudsonjr</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/20938.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=45&amp;PostID=20938</wfw:commentRss><description>&lt;p&gt;I have code that loops through a web service to pull information in, and inserts it into a master detail section.&amp;nbsp; I have filters on the master detail section to keep each inserted row organized and unique based upon id&amp;#39;s.&amp;nbsp; Here is my code and I was wondering if there was any way I could speed this up.&amp;nbsp; Thanks for your input&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;function getDefaultFindingsOS(elementID, summary)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;XDocument.View.DisableAutoUpdate();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var recMasterTableCtrlID = &amp;quot;CTRL388&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var ws = XDocument.GetDOM(&amp;quot;GetDefaultFindings&amp;quot;); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ws.setProperty(&amp;quot;SelectionNamespaces&amp;quot;, &amp;quot;xmlns:dfs=\&amp;quot;http://schemas.microsoft.com/office/infopath/2003/dataFormSolution\&amp;quot; xmlns:ns4=\&amp;quot;http://test.com/\&amp;quot;&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var oMasterTable = XDocument.DOM.selectSingleNode(&amp;quot;/my:IC3/my:Enc&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var iRow = XDocument.GetNamedNodeProperty(oMasterTable, &amp;quot;CTRL1083&amp;quot;, 1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var curEnc = XDocument.DOM.selectNodes(&amp;quot;/my:IC3/my:Enc/my:EncRepeat&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var summaryField = curEnc.item(iRow-1).selectSingleNode(summary);&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var Finding = ws.selectNodes(&amp;quot;/dfs:myFields/dfs:dataFields/ns4:GetDefaultFindingsResponse/ns4:GetDefaultFindingsResult/ns4:WSDefaultFinding[ns4:ElementID=&amp;#39;&amp;quot; + elementID + &amp;quot;&amp;#39;][ns4:Eye=&amp;#39;OS&amp;#39;]&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;var blankSpace = /\s+$/g;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;summaryField.text = summaryField.text.replace(blankSpace, &amp;quot;&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(summaryField.text ==&amp;quot;&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0; i&amp;lt;Finding.length; i++)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;var recMasterTableCtrlID = &amp;quot;CTRL388&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;var oMasterTable2 = XDocument.DOM.selectSingleNode(&amp;quot;/my:IC3/my:CurrentFindings/my:ElemOS&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;var iRow2 = parseInt(XDocument.GetNamedNodeProperty(oMasterTable2, recMasterTableCtrlID, 1));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;var curEnc2 = XDocument.DOM.selectNodes(&amp;quot;/my:IC3/my:CurrentFindings/my:ElemOS/my:Finds_OS&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;curEnc2.item(iRow2-1).selectSingleNode(&amp;quot;my:FindConcat_OS/@my:ElementID_OS&amp;quot;).text = elementID;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;FindingDisplay = Finding.item(i).selectSingleNode(&amp;quot;ns4:FindingDisplay&amp;quot;).text;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;MasterFinding = Finding.item(i).selectSingleNode(&amp;quot;ns4:MasterFindingDisplay&amp;quot;).text;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;MasterID = Finding.item(i).selectSingleNode(&amp;quot;ns4:MasterFindingID&amp;quot;).text;&lt;br /&gt;&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; curEnc2.item(iRow2-1).selectSingleNode(&amp;quot;my:FindConcat_OS/@my:MasterID_OS&amp;quot;).text = MasterID;&lt;br /&gt;&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;curEnc2.item(iRow2-1).selectSingleNode(&amp;quot;my:FindConcat_OS/@my:Find_OS&amp;quot;).text = FindingDisplay;&lt;br /&gt;&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; curEnc2.item(iRow2-1).selectSingleNode(&amp;quot;my:FindConcat_OS/@my:FindValue_OS&amp;quot;).text = FindingDisplay;&lt;br /&gt;&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; curEnc2.item(iRow2-1).selectSingleNode(&amp;quot;my:FindConcat_OS/@my:Master_OS&amp;quot;).text = MasterFinding;&lt;br /&gt;&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;curEnc2.item(iRow2-1).selectSingleNode(&amp;quot;my:FindConcat_OS/@my:ElementID_OS&amp;quot;).text = elementID;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;summaryField.text =&amp;nbsp; summaryField.text + &amp;quot;. &amp;quot; + FindingDisplay;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&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;if(FindingDisplay != &amp;quot;&amp;quot;)&lt;br /&gt;&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;{&lt;br /&gt;&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; id = &amp;quot;CTRL388&amp;quot;;&lt;/p&gt;&lt;p&gt;&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;  //Function that inserts a new row into master repeating section&lt;br /&gt;&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; insertFindDataOS(id, &amp;quot;/my:IC3/my:CurrentFindings/my:ElemOS&amp;quot;, &amp;quot;my:Finds_OS&amp;quot;, &amp;quot;my:FindConcat_OS&amp;quot;, &amp;quot;my:Find_OS&amp;quot;, &amp;quot;my:FindValue_OS&amp;quot;, &amp;quot;my:FindID_OS&amp;quot;, &amp;quot;ElementID_OS&amp;quot;, &amp;quot;my:Status_OS&amp;quot;, &amp;quot;my:Severity_OS&amp;quot;, &amp;quot;my:Mod_OS&amp;quot;, &amp;quot;my:Master_OS&amp;quot;, &amp;quot;my:CatFilter_OS&amp;quot;, &amp;quot;my:ICD9Code_OS&amp;quot;, &amp;quot;my:MasterIDOS&amp;quot;);&lt;br /&gt;&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; }&lt;br /&gt;&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; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;summaryField.text = summaryField.text.replace(&amp;quot;. &amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;summaryField.text = summaryField.text + &amp;quot;. &amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;XDocument.View.EnableAutoUpdate();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function btnExtDefaults::OnClick(eventObj)&lt;br /&gt;{&lt;br /&gt;var ws = XDocument.GetDOM(&amp;quot;GetDefaultFindings&amp;quot;); &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ws.setProperty(&amp;quot;SelectionNamespaces&amp;quot;, &amp;quot;xmlns:dfs=\&amp;quot;http://schemas.microsoft.com/office/infopath/2003/dataFormSolution\&amp;quot; xmlns:ns4=\&amp;quot;http://test.com/\&amp;quot;&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ws.selectSingleNode(&amp;quot;/dfs:myFields/dfs:queryFields/ns4:GetDefaultFindings/ns4:CodeString&amp;quot;).text = XDocument.DOM.selectSingleNode(&amp;quot;/my:IC3/my:ProblemList/my:eval&amp;quot;).text;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ws.selectSingleNode(&amp;quot;/dfs:myFields/dfs:queryFields/ns4:GetDefaultFindings/ns4:ClinicalCategory&amp;quot;).text = 2;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;XDocument.DataObjects(&amp;quot;GetDefaultFindings&amp;quot;).Query();&lt;br /&gt;var oMasterTable = XDocument.DOM.selectSingleNode(&amp;quot;/my:IC3/my:Enc&amp;quot;);&lt;br /&gt;var iRow = XDocument.GetNamedNodeProperty(oMasterTable, &amp;quot;CTRL1083&amp;quot;, 1);&lt;br /&gt;var curEnc = XDocument.DOM.selectNodes(&amp;quot;/my:IC3/my:Enc/my:EncRepeat&amp;quot;);&lt;br /&gt;var show = curEnc.item(iRow-1).selectSingleNode(&amp;quot;my:ExternalFind/my:ExtLatSet&amp;quot;).text;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;if(show == &amp;quot;s&amp;quot; || show == &amp;quot;u&amp;quot;)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;getDefaultFindingsOS(8, &amp;quot;my:ExternalFind/my:PupilsOS&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;getDefaultFindingsOS(9, &amp;quot;my:ExternalFind/my:MotilityOS&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;getDefaultFindingsOS(10, &amp;quot;my:ExternalFind/my:CVFOS&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;getDefaultFindingsOS(11, &amp;quot;my:ExternalFind/my:AdnexaOS&amp;quot;);&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;XDocument.DOM.selectSingleNode(&amp;quot;/my:IC3/my:CurrentFindings/my:SetElementID&amp;quot;).text = 0;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description></item></channel></rss>