Looping through a web Service Code.....really Slow - InfoPath Dev
in

InfoPath Dev

Looping through a web Service Code.....really Slow

Last post 06-19-2007 06:08 AM by mhudsonjr. 0 replies.
Page 1 of 1 (1 items)
Sort Posts: Previous Next
  • 06-19-2007 06:08 AM

    Looping through a web Service Code.....really Slow

    I have code that loops through a web service to pull information in, and inserts it into a master detail section.  I have filters on the master detail section to keep each inserted row organized and unique based upon id's.  Here is my code and I was wondering if there was any way I could speed this up.  Thanks for your input

     

     function getDefaultFindingsOS(elementID, summary)
    {
           XDocument.View.DisableAutoUpdate();
        var recMasterTableCtrlID = "CTRL388";
        var ws = XDocument.GetDOM("GetDefaultFindings");
        ws.setProperty("SelectionNamespaces", "xmlns:dfs=\"http://schemas.microsoft.com/office/infopath/2003/dataFormSolution\" xmlns:ns4=\"http://test.com/\"");
        var oMasterTable = XDocument.DOM.selectSingleNode("/my:IC3/my:Enc");
        var iRow = XDocument.GetNamedNodeProperty(oMasterTable, "CTRL1083", 1);
        var curEnc = XDocument.DOM.selectNodes("/my:IC3/my:Enc/my:EncRepeat");
        var summaryField = curEnc.item(iRow-1).selectSingleNode(summary);    
        var Finding = ws.selectNodes("/dfs:myFields/dfs:dataFields/ns4:GetDefaultFindingsResponse/ns4:GetDefaultFindingsResult/ns4:WSDefaultFinding[ns4:ElementID='" + elementID + "'][ns4:Eye='OS']");
        var blankSpace = /\s+$/g;
        summaryField.text = summaryField.text.replace(blankSpace, "");
        
         if(summaryField.text =="")
            {
                for(i=0; i<Finding.length; i++)
                    {

                    var recMasterTableCtrlID = "CTRL388";
                    var oMasterTable2 = XDocument.DOM.selectSingleNode("/my:IC3/my:CurrentFindings/my:ElemOS");
                    var iRow2 = parseInt(XDocument.GetNamedNodeProperty(oMasterTable2, recMasterTableCtrlID, 1));
                    var curEnc2 = XDocument.DOM.selectNodes("/my:IC3/my:CurrentFindings/my:ElemOS/my:Finds_OS");

                    curEnc2.item(iRow2-1).selectSingleNode("my:FindConcat_OS/@my:ElementID_OS").text = elementID;

                    FindingDisplay = Finding.item(i).selectSingleNode("ns4:FindingDisplay").text;
                    MasterFinding = Finding.item(i).selectSingleNode("ns4:MasterFindingDisplay").text;
                    MasterID = Finding.item(i).selectSingleNode("ns4:MasterFindingID").text;
                        curEnc2.item(iRow2-1).selectSingleNode("my:FindConcat_OS/@my:MasterID_OS").text = MasterID;
                        curEnc2.item(iRow2-1).selectSingleNode("my:FindConcat_OS/@my:Find_OS").text = FindingDisplay;
                        curEnc2.item(iRow2-1).selectSingleNode("my:FindConcat_OS/@my:FindValue_OS").text = FindingDisplay;
                        curEnc2.item(iRow2-1).selectSingleNode("my:FindConcat_OS/@my:Master_OS").text = MasterFinding;
                        curEnc2.item(iRow2-1).selectSingleNode("my:FindConcat_OS/@my:ElementID_OS").text = elementID;

                    summaryField.text =  summaryField.text + ". " + FindingDisplay;
            
                        if(FindingDisplay != "")
                        {
                            id = "CTRL388";

                         //Function that inserts a new row into master repeating section
                            insertFindDataOS(id, "/my:IC3/my:CurrentFindings/my:ElemOS", "my:Finds_OS", "my:FindConcat_OS", "my:Find_OS", "my:FindValue_OS", "my:FindID_OS", "ElementID_OS", "my:Status_OS", "my:Severity_OS", "my:Mod_OS", "my:Master_OS", "my:CatFilter_OS", "my:ICD9Code_OS", "my:MasterIDOS");
                        }
                    }
        summaryField.text = summaryField.text.replace(". ", "");
        summaryField.text = summaryField.text + ". ";
            }

        XDocument.View.EnableAutoUpdate();
    }


    function btnExtDefaults::OnClick(eventObj)
    {
    var ws = XDocument.GetDOM("GetDefaultFindings");
        ws.setProperty("SelectionNamespaces", "xmlns:dfs=\"http://schemas.microsoft.com/office/infopath/2003/dataFormSolution\" xmlns:ns4=\"http://test.com/\"");
        ws.selectSingleNode("/dfs:myFields/dfs:queryFields/ns4:GetDefaultFindings/ns4:CodeString").text = XDocument.DOM.selectSingleNode("/my:IC3/my:ProblemList/my:eval").text;
        ws.selectSingleNode("/dfs:myFields/dfs:queryFields/ns4:GetDefaultFindings/ns4:ClinicalCategory").text = 2;
        XDocument.DataObjects("GetDefaultFindings").Query();
    var oMasterTable = XDocument.DOM.selectSingleNode("/my:IC3/my:Enc");
    var iRow = XDocument.GetNamedNodeProperty(oMasterTable, "CTRL1083", 1);
    var curEnc = XDocument.DOM.selectNodes("/my:IC3/my:Enc/my:EncRepeat");
    var show = curEnc.item(iRow-1).selectSingleNode("my:ExternalFind/my:ExtLatSet").text;

     if(show == "s" || show == "u")
     {
        getDefaultFindingsOS(8, "my:ExternalFind/my:PupilsOS");
        getDefaultFindingsOS(9, "my:ExternalFind/my:MotilityOS");
        getDefaultFindingsOS(10, "my:ExternalFind/my:CVFOS");
        getDefaultFindingsOS(11, "my:ExternalFind/my:AdnexaOS");
     }
     XDocument.DOM.selectSingleNode("/my:IC3/my:CurrentFindings/my:SetElementID").text = 0;

     }

Page 1 of 1 (1 items)
Copyright © 2003-2019 Qdabra Software. All rights reserved.
View our Terms of Use.