DataSocket memory leak problem (2VO0SF00) -- more info?

When upgrading to LabVIEW 8.5 recently, I noticed the following known issue in the readme file:
"ID: 2VO0SF00
DataSocket/OPC Leaks Memory using ActiveX VIs to perform open-write-close repeatedly
If you call the DataSocket Open, DataSocket Write, and DataSocket Close functions in succession repeatedly, LabVIEW leaks memory. Workaround — To correct this problem, call the DataSocket Open function once, use the DataSocket Write function to write multiple times, and then use the DataSocket Close function."
Looking back, I think this problem may have been present in previous LabVIEW releases as well, and might be giving rise to a problem that's been dogging me for quite some time (see my thread, "Error 66 with DataSockets", http://forums.ni.com/ni/board/message?board.id=170&thread.id=187206), in addition to general slow/glitchy behaviour when my VI's have been running continuously for a long time. But in order to determine whether or not this issue affects me, and how I should go about fixing it in the context of my own programs, I need a bit more information about the nature of the issue itself and the inner workings of the DataSocket VI's. Any help or insight the community can provide into this would be greatly appreciated!
Here are my questions:
It is my understanding from the "known issue" description above that the memory leak happens when you have a DS Open wired to a DS Write wired to a DS Close, all inside a loop (example 1), and that the suggested workaround would be to move the DS Open and DS Close functions out of the loop on opposite sides, wired to the DS Write which remains inside the loop (example 2). Is this correct?
Does this leak also happen when performing DS open-read-close's repeatedly (example 3)?
What happens when a DS Write (or DS Read) is called without a corresponding DS Open and DS Close (examples 4a and 4b)? Does it implicitly do a DS open before doing the write operation and a DS close afterwards? What I'm getting at is this: would having an isolated DS Write (or DS Read) inside a loop, not connected to any DS Open or DS Close functions at all, cause this same memory leak?
If one computer is running the DS server and a second computer is running the VI with the repeated open-write-close's, on which computer does the memory leak occur?
In my question #1 workaround (example 2), the DS Open and DS Close outside the loop are routed through a shift register and in to and out of the DS Write inside the loop. If the DS connection id goes into the DS Write "connection in" and then splits and goes around the DS Write and out to the DS Close, without coming out of the DS Write "connection out" (example 5), will the memory leak still be avoided? I.e. if the DS Write function doesn't have anything connected to its "connection out", will it try to do an implicit DS Close?
If the VI causing the memory leak is stopped, but LabVIEW stays running, will the leaked memory be reclaimed? What if the VI is closed? What if all of LabVIEW is closed?
FYI, in the examples above "x1a" is a statically-defined DataSocket on the DS server running on the computer Max, to which the computer running the example VI's has read/write access. My actual application has numerous VI's and hundreds of DataSocket items, many of which are written to / read from every 50-100 ms in the style of examples 4a and 4b.
Does anyone have any idea about this stuff?
Thanks in advance,
Patrick
Attachments:
examples_jpg1.zip ‏63 KB
examples_vi1.zip ‏40 KB

Hi Meghan,
Yes, some of the larger VIs in my application do write to / read from several hundred DataSockets, so it's not feasible to use shift registers for each one individually, and hence why I'm passing the references into an array, etc.
Your Alternate Solution 2 is more along the lines of something that would work for me. However, my actual code has a lot of nested loops, sequences and DataSocket items which are not all written to in the same frame, so this solution would still be difficult to implement: it would be cumbersome to unpack the entire 500-element reference id array and build a new one (maintaining the positions and values of the unaffected elements) every time I write to some small subset of the DataSockets.
I think I have a solution which solves the problem and is also scalable to the size of my application -- I've attached it as Example 7. Do you think this will avoid the memory leak? It's the same as your Alternate Solution 2, except that instead of building a new array out of the DS Write reference outs, each reference out replaces the appropriate element of the original array.
If I understand you correctly, in order to avoid implicit reference opens and closes, a DS Write needs to have both it's reference in and reference out wired to something. Thus, even though my Example 7 replaces an element of the array with an identical value, and therefore doesn't actually change the array (which would be a silly thing to do normally), the DS Writes have their reference outs wired to something, and eventually in a convoluted way to a DS Close, so it should avoid the memory leak.
Just out of curiosity (I don't think anything like this would apply to my application or any fixes I implement), when would the implicit reference close happen in the attached Example 8? The DS Write has its reference in and reference out both connected to temporally "adjacent" DS Writes via the shift register, so perhaps it wouldn't try to close the reference on each loop iteration? Or would it look into the future and see that there is no DS Close and decide to implicitly do that itself? Or maybe only the DS Write on the last loop iteration does this?
Thanks for bearing with me through this,
Patrick
Attachments:
example73.JPG ‏40 KB
example83.JPG ‏14 KB

Similar Messages

  • Memory Leak Problem at Adobe LiveCycle Server 9.0

    Hi All,
    We want to upgrade our system to 9.0. During the performance test we have found memory Leak problem at ALS 9.0. I explain the detailed problematic issue below. Is there any body who has any suggest?
    We have Adobe Livecycle ES2 9.0 SP2 installed on WAS 6.1. But also WAS on Windows Server 2008 R2. We call java web services from .Net Web service for generating PDFs.
    On Java side “com/adobe/internal/pdftoolkit/services/javascript/GibsonMemoryTracking” class is causing Memory Leak problem at server.
    Our .Net Codes. I copied below. First we generate PDF then we convert this pdf to static pdf.
    First We call the GeneratePDF function.
    public static bool GeneratePdf(Document document, byte[] pdfTemplate)
            try
                //Create a FormDataIntegrationService object and set authentication values
                FormDataIntegrationService formDataIntegrationClient = new FormDataIntegrationService();
                formDataIntegrationClient.Credentials = new System.Net.NetworkCredential(Settings.ALCUserName, Settings.ALCPassword);
                //Import XDP XML data into an XFA PDF document
                ALCFormDataIntegrationService.BLOB inXMLData = new ALCFormDataIntegrationService.BLOB();
                //Populate the BLOB object
                inXMLData.binaryData = System.Text.Encoding.UTF8.GetBytes(document.XmlData);
                //Create a BLOB that represents the input PDF form
                ALCFormDataIntegrationService.BLOB inPDFForm = new ALCFormDataIntegrationService.BLOB();
                inPDFForm.binaryData = pdfTemplate;
                //Import data into the PDF form
                ALCFormDataIntegrationService.BLOB results = formDataIntegrationClient.importData(inPDFForm, inXMLData);
                document.PdfData = results.binaryData;
                Utility.Log("GeneratePdf", "Pdf generated successfully.", LogLevel.Info);
                return true;
            catch (Exception ex)
                document.ReturnCode = "22";
                document.ReturnMsg = "Exception on generating the pdf";
                Utility.Log("GeneratePdf", "Exception: " + ex.Message, LogLevel.Error);
                return false;
    Then We call the ConvertPDF function.
    public static bool ConvertPdf(Document document)
            try
                //Create a OutputServiceService object
                OutputServiceService outputClient = new OutputServiceService();
                outputClient.Credentials = new System.Net.NetworkCredential(Settings.ALCUserName, Settings.ALCPassword);
                //Create a BLOB object
                ALCOutputService.BLOB inData = new ALCOutputService.BLOB();
                //Populate the BLOB object
                inData.binaryData = document.PdfData;
                //Set rendering run-time options
                RenderOptionsSpec renderOptions = new RenderOptionsSpec();
                renderOptions.cacheEnabled = true;
                //Create a non-interactive PDF document
                ALCOutputService.BLOB results = outputClient.transformPDF(inData, TransformationFormat.PDF, PDFARevisionNumber.Revision_1, false, null, PDFAConformance.B, false);
                document.PdfData = results.binaryData;         
                Utility.Log("ConvertPdf", "Pdf converted successfully.", LogLevel.Info);
                return true;
            catch (Exception ex)
                document.ReturnCode = "22";
                document.ReturnMsg = "Exception on converting dynamic pdf to static pdf";
                Utility.Log("ConvertPdf", "Exception: " + ex.Message, LogLevel.Error);
                return false;
    Our System Configuration:
    Expiry date: Never Version: 9.0.0.0,
    GM Patch Version: SP2
    Service Pack Version: unknown
    ADOBE® LIVECYCLE® PDF Generator ES2
    9.0.0.0
    SP2
    ADOBE® LIVECYCLE® Reader Extensions ES2
    9.0.0.0
    SP2
    ADOBE® LIVECYCLE® Output ES2
    9.0.0.0
    SP2
    We changed some configuration which is suggested by Adobe. But this change does not solve our problem.
    Changed Configurations via ADMINUI
    Memory Leak Problem which is viewed via wily tool:

    Hi Mahir,
    Can you attach the results of this performance test where we can see how GibsonMemoryTracking class is causing the memory leak issue.
    Also do you see any stackTrace in the LiveCycle server logs related to memory / heap when you run this performance test ?
    Thanks,
    Simer

  • How can I avoid memory leak problem ?

    I use Jdev 10.1.2 . I have a memory leak problem with ADF .
    My application is very large . We have at least 30 application module , each application module contain many view object
    and I have to support a lot of concurrent users .
    as I know ADF stored data of view object in http session .
    and http session live is quite long . when I use application for a while It raise Ouf of Memory error .
    I am new for ADF.
    I try to use clearCache() on view object when I don't use it any more .
    and call resetState() when I don't use Application Module any more
    I don't know much about behavior of clearCache() and resetState() .
    I am not sure that It can avoid memory leak or not .
    Do you have suggestion to avoid this problem ?

    ADF does not store data in the HTTP session.
    See Chapter 28 "Application Module State Management" in the ADF Developer's Guide for Forms/4GL Developers on the ADF Learning Center at http://download-uk.oracle.com/docs/html/B25947_01/toc.htm for more information.
    See Chapter 29 "Understanding Application Module Pooling" to learn how you can tune the pooling parameters to control how many modules are used and how many modules "hang around" for what periods of time.

  • How do I report a major memory leak problem with Firefox 3.6.10 in WinXP?

    After I installed Firefox 3.6.9 on a WinXP desktop, I occasionally had minor memory leak problems, reflected by getting "out of virtual memory" messages. I upgraded to 3.6.10 when notified that it was available and that it supposedly fixed stability problems. Ever since then, whenever I use Firefox, it starts out quick as a flash, but very rapidly slows down to a crawl, and has twice brought my system to a halt. IE does not cause this, nor any other program I use, but the execution speed of all programs slows as badly as Firefox. If I knew where to get older versions, I would back up to 3.6.9 or earlier. The situation now prevents me from using Firefox much at all.

    Im running windows 7, Firefox 3.6.10 and before i updated to 3.6.10 my CPU never went above 10% with Firefox open. Now it can spike well above 50% and i have nothing different from when i had 3.6.9 to now when i have 3.6.10.
    There is no evidence for me to suggest one of the additions i have is causing it, its all pointing to Firefox itself and the last update.

  • Memory leak problem while passing Object to stored procedure from C++ code

    Hi,
    I am facing memory leak problem while passing object to oracle stored procedure from C++ code.Here I am writing brief description of the code :
    1) created objects in oracle with the help of "create or replace type as objects"
    2) generated C++ classes corresponding to oracle objects with the help of OTT utility.
    3) Instantiating classes in C++ code and assigning values.
    4) calling oracle stored procedure and setting object in statement with the help of setObject function.
    5) deleted objects.
    this is all I am doing ,and getting memory leak , if you need the sample code then please write your e-mail id , so that I can attach files in reply.
    TIA
    Jagendra

    just to correct my previous reply , adding delete statement
    Hi,
    I am using oracle 10.2.0.1 and compiling the code with Sun Studio 11, following is the brief dicription of my code :
    1) create oracle object :
    create or replace type TEST_OBJECT as object
    ( field1 number(10),
    field2 number(10),
    field3 number(10) )
    2) create table :
    create table TEST_TABLE (
    f1 number(10),f2 number (10),f3 number (10))
    3) create procedure :
    CREATE OR REPLACE PROCEDURE testProc
    data IN test_object)
    IS
    BEGIN
    insert into TEST_TABLE( f1,f2,f3) values ( data.field1,data.field2,data.field3);
    commit;
    end;
    4) generate C++ classes along with map file for database object TEST_OBJECT by using Oracle OTT Utility
    5) C++ code :
    // include OTT generate files here and other required header files
    int main()
    int x = 0;
    int y = 0;
    int z =0;
    Environment *env = Environment::createEnvironment(Environment::DEFAULT);
    Connection* const pConn =
    env->createConnection"stmprf","stmprf","spwtrgt3nms");
    const string sqlStmt("BEGIN testProc(:1) END;");
    Statement * pStmt = pConn->createStatement(sqlStmt);
    while(1)
    TEST_OBJECT* pObj = new TEST_OBJECT();
    pObj->field1 = x++;
    pObj->field2 = y++;
    pObj->field3 = z++;
    pStmt->setObject(1,pObj);
    pStmt->executeUpdate();
    pConn->commit();
    delete pObj;
    }

  • Memory leak problems with loading videos over and over.

    I'm having memory leak problems with loading videos into a VideoPlayer aswell as FLVPlayback.
    What the flash should do:
    - Should be running for 7 days without having to restart the projector.
    - Interface that shows people around a 360 3D model with 5 different parts and at the stops it makes during the rotation you can click to zoom in on a location which plays a movie for that aswell.
    - Shows a video out of 5 parts for a 360 rotation in 3D in mp4 video (added each time and cleaned up, see code below).
    - Still images are used when the video clips are done playing (MovieClip in stage).
    - Should run automatically when there is no user interaction for X minutes.
    What the problem is:
    - The flash (as a exe and swf i guess) starts to consume memory over time (say 10 hours) until the projector crashes. This usually at around 1.75 GB of memory.
    I cannot see why the Flash cannot garbage collect this and free up the memory. Mabye there is something I don't understand about the garbage collection in flash?
    Here is some code from the video loading and playing:
    var fVideo:VideoPlayer;
    VideoCreate();
    function VideoReady(pEvent:VideoEvent):void
    trace("VideoReady()");
         // start playing video
    fVideo.play();
    function VideoLoad(pUrl:String):void
         trace("VideoLoad(" + pUrl +
         VideoCreate();
         if (pUrl != "")
              if (fVideoFolder + pUrl == fVideo.source)
                   fVideo.seek(0);
    VideoReady(null);
              } else {
    trace(fVideo.state);
                   if (fVideo.state !=
    VideoState.DISCONNECTED) fVideo.stop();
    fVideo.close();                                
    fVideo.load(fVideoFolder + pUrl);
         } else {
    // error no url
    function VideoCreate():void
         trace("VideoCreate()");
         // remove old one
         if (getChildAt(0) == fVideo)
              removeChildAt(0);
         fVideo = new
    VideoPlayer(1024, 768);
         addChildAt(fVideo, 0);
         fVideo.autoRewind = false;
    fVideo.addEventListener(VideoEvent.COMPLETE, VideoDonePlaying);
    fVideo.addEventListener(VideoEvent.READY, VideoReady);

    Hmm. It's in connection with Dropbox. Så apparantly you can only use one of the two at the same time if you want the programs integrated in Finder.

  • Is memory leak Problem Solved in this new FW 4.08...

    Hi frnds,This is my very first post. Im happy to be a member of N Series Family by owing a brand New N73 ME One Week Before (July 2008). The phone really Fascinated me with its features, Since my Previous Phone was Nokia 6630. Now let me Come to my problem.
    A "Memory Full. Close some application" Error is encountering me twice or thrice a day. if i knowledge is correct, its Low RAM error & i found my RAM in the range of 18-20MB just after startup & along with usage of applications & closing, it maintain a range b/w 4-8MB. In this time wen i open a picture in inbuilt PicEditor this Memory full Error occurs(And sometimes while zooming a picture in gallery also). Will updating to the new FW according to my product code 0543843 is 4.0812.4.2.1 will solve the Memory leak problem ? i have gone through all the post regarding the issues on latest firmware updates Good & Bad. So im a bit confused that shud i update or not. Coz i have only this memory problem. Everything else is fine.
    Please help me.
    N73 ME
    v 4.0736.3.2.1
    04-09-2007
    RM-133
    Code:0543843
    INDIA

    I have 4.0812.4.2.1 and I have the same problem..I think that in 4.0736 is best memory usage than other firmwares,but I can't downgrade firmware

  • Since the itunes 10.4.1 update  I have memory leaks problems.

    Since the itunes 10.4.1 update  I have memory leaks problems, Itunes used memory start at about 100 megs as usual but when it play the ram usage climb about 4 kb per second ( one time I had itunes using 690 megs !). I had to periodically close and restart Itunes to clear the memory.
    Someone has suggestion to resolve this problem?

    Same issue, Running Windows 7 x64 with 6 Gigs of RAM and have iTunes 10.4.1 32bit version.
    I wanted to break in some headphones over the weekend, so left it playing a loop of songs. Came back on Monday to see my machine using a huge amount of RAM and iTunes just froze.
    Here is a shot of my Task Manager showing iTunes was using 1.5gigs of Memory.

  • App-V 5.0 memory leak problem & slow program launch

    App-V 5 clients with most recent updates have a memory leak problem. Windows 7 64bit workstations with 8GB of memory will be useless within couple of days because memory has run out. Terminating App-V client process will free the memory, but system starts
    to consume it again after that. All hotfixes (up to 5) have been installed.
    Another problem is that launching some large (locally cached) programs, for example SolidWorks, takes many minutes for a program to start. With 4.6 there wasn't any performance issues.
    Any suggestions?

    I saw the exact same issue with slow load times and 50% utilization by AppVClient.exe during that time.
    AppV 5 first launch application performance
    AppV 5 - Measuring RegistryStaging load times
    The issue, specifically, is the amount of time the application takes to stage the registry is what causes the slow load and 50% CPU utilization.  I've written a script that stages the registry on your behalf that we use on server startup, after all
    the packages are loaded.
    Original Thread on MS forums:
    https://social.technet.microsoft.com/Forums/en-US/44944302-d8f3-4df1-b104-9c63345f88e0/poor-first-launch-performance-with-appv-5?forum=mdopappv

  • Memory leak problem, help!

    There is memory leak problem when select multi-rows table. Suppose that I don't make mistake when coding. Have U ever use Borland Delphi? In TQuery, there a field called UniDirectional when set it to True, selected rows aren't cached in Memory. So that There is must be a parameter in OCI does like UniDirectional does. There is any one know about it? reply this question or mail me directly at [email protected]
    Thank in advance.

    There is memory leak problem when select multi-rows table. Suppose that I don't make mistake when coding. Have U ever use Borland Delphi? In TQuery, there a field called UniDirectional when set it to True, selected rows aren't cached in Memory. So that There is must be a parameter in OCI does like UniDirectional does. There is any one know about it? reply this question or mail me directly at [email protected]
    Thank in advance.

  • Flash cause Memory leak problem under IE

    I have encountered a problem when running a flash with
    countdown scripts inside under IE.
    The IE in memory will become bigger and bigger and IE will
    finally eat up 50% of my processing time.
    My script cannot be officially go online of this problem.
    Similar flash by other with the same problem in IE:
    http://www.zsg.com/
    *** additional info: the leak will reset if the browser is
    being minimized.
    Can any one help?
    Thanks a lot!
    P.S My countdown script play no problem with Firefox 2.0.0.14
    Flash player 9.124.0
    IE version 7.0.5730.13
    OS: Win XP with SP2
    My scripts is just a simple onEnterFrame with calculation
    inside until the difference between current time and target time is
    <=0(target time - difference time)
    Thanks a lot!

    Which process is not releasing memory? Which thread within that process? What do the process monitoring programs from Technet/SysInternals (see
    https://technet.microsoft.com/en-us/sysinternals/bb795533.aspx ) show about the memory that is not being released?
    There may be memory leaks in Coded UI but more likely the leaks are in the test cases and the way they use Coded UI. I think you need to do some more investigation and show its results before getting much more than just general advice here.
    Regards
    Adrian

  • Memory leak problem

    Dears,
    I have an application which have pages, each page has its content from text, images and external swfs.
    I load page only if user navigate to it, by the time, more navigation by user occures and more pages loaded.
    I don't kill ( also I couldn't kill, no destroy in as3 ) pages, becuse i need them when user go back again to it, specially that pages have interactive content which user can deal with it, like questions, so I need prevoius pages which user enterd, its content and user's data.
    The big problem is the Memory leak, the application becomes heavy , what can i do ?
    Also, if I should kill pages with its content and use GC, How can i do that ? - there is a long life and events of objects in my application.
    thank you in advance,
    heba

    I use Flash Builder , flex sdk 4.5, flash player 11.4, and windows 7 64bit
    thank you,

  • How can I address a memory leak problem with Firefox?

    I have happily used Firefox for the past 7 years, and have rarely had difficulties. However, I am having some trouble now; Firefox (running 3.6.6) seems to have a memory leak on my machine. It's slower than what was discussed in other forum posts, but it still scales up slowly to multiple hundred MBs of Memory with very little CPU usage.
    I have tried disabling add-ons and extensions, but this does not stop the problem. I have cleared my cache and other stored data, but that also does not help. Has anyone experienced a similar problem that might be able to help?
    == This happened ==
    Every time Firefox opened
    == within last two weeks

    Hi reble0708,
    I have Java console disabled on my Firefox browser.Everything is working fine for me. There maybe other problem on your browser which is making PDF document faded and blurry. Can you post the link where you found the problem viewing the PDF document?
    Btw, you can go to ftp://ftp.mozilla.org/pub/firefox/releases/ and select the previous version of Firefox from the given options. There's no need to uninstall Firefox before you downgrade to the previous version of it.But before new installation, backup your Firefox profile folder.
    edit: replaced random unofficial download site link.

  • How to detect Memory Leaking Problem in Java

    I have a Java multithreading program & I suspect that there is a memory leaking issue in the program. Can someone tell me how can I know how to detect where is the memory leakage in the program?
    I have download a few tools like hat, jprobe, optimizeit but not sure how to use it. I am using jdk1.3.0 in HP-UX
    Thks

    Not so true, you could have a memory leak if you accidental hold on to a resource, or maybe you have threads running that you have no reference to, and those threads hold some resources.
    Optimizeit is pretty easy to use. You start you application with Optimize it, so Optimizeit is you JVM so to speak. In optimizeit you can get a list of active objects. If this list grows and grows, you probably have a problem. Let it run for a while, and see which objects are the most present, dubble-click it, and it lets you step down into you methods. This way you can maybe find you leak.
    Good luck :)

  • Memory leak problem need help!!

         public void query(String firstName, String lastName, String citizenId) throws Exception{
                   this.eimFirstName = firstName;
                   this.eimLastName  = lastName;
                   this.eimCitizenId = citizenId;
                   String searchstr = "(([First Name] =\""+firstName+"\" AND [Last Name]=\""+lastName+"\" )OR [Social Security Number]=\""+citizenId+"\") AND [Status]=\"Prospect\""; // = (([First Name] = 'firstName' AND [Last Name] = 'lastName') OR [Citizen Id] = 'citizenId') AND ([Status]='Prospect')
                   contactWrapper=null; // set to null
                   contactWrapper=new BusCompWrapper();//instantiate
                   contactWrapper.query(siebelWrapper, "Contact", "Contact", searchstr, queryFieldList);//leaks here     
    }if i comment out the last line , the memory leak won't happen.
    correct me if i'm wrong, i think that i need to free the reference of contactWrapper in order to avoid memory leak? but how do i do that? i set it to null but why still i have the leak
    thanks guys

    this may help
    public class BusCompWrapper
         private List fields;
         private int buscompstatus;
         private int position=0;
         private com.siebel.data.SiebelBusComp oBusComp;
         private com.siebel.data.SiebelBusObject oBusObj;
              Gets next record from Business Component
              @return Iterator of values in String
              @return empty Iterator if no more record to read
         public Iterator getNextRecord() throws BoaException
              try{
                   ArrayList al = new ArrayList();
                   if (position==0){
                        if (!oBusComp.firstRecord()){
                             return null;
                   }else{
                        if (!oBusComp.nextRecord()){//no more record left, return empty enumeration
                             return null;
                   position++;
                   Iterator it = fields.iterator();
                   while (it.hasNext()){
                        String next = (String)it.next();
                        oBusComp.activateField(next);
                        String s = oBusComp.getFieldValue(next);
                        al.add(s);
                   return al.iterator();
              }catch (SiebelException e){
                   throw new BoaException(e,new String[]{ExceptionConstants.ERROR_GETTING_NEXT_RECORD_IN_BUSINESS_COMP,"\n"+e.getErrorMessage()},2);
         public void query(SiebelWrapper siebelWrapper, String busobjname, String buscompname, String querystr,List fields) throws BoaException
              try{
                   oBusObj = siebelWrapper.getSiebelDataBean().getBusObject(busobjname);
                   oBusComp = oBusObj.getBusComp(buscompname);
                   Iterator it=fields.iterator();
                   while(it.hasNext()){
                        oBusComp.activateField((String)it.next());
                   oBusComp.setViewMode(3);
                   oBusComp.clearToQuery();
                   oBusComp.setSearchExpr(querystr);
                   oBusComp.executeQuery(true);
                   this.fields = fields;
                   position=0;
              }catch(SiebelException e){
                   e.printStackTrace();
                   throw new BoaException(e,new String[]{ExceptionConstants.ERROR_QUERYING_BUSINESS_COMP,"\n"+e.getErrorMessage()},2);
    public class  ContactSiebelWrapper
         private String
              currentRowId,
              currentFirstName,
              currentLastName,
              currentBirthDate,
              currentCitizenId;
         private SiebelWrapper siebelWrapper;
         private ArrayList currentUpdate;
         private String eimFirstName;
         private String eimLastName;
         private String eimCitizenId;
         private ArrayList phoneList;
         private ArrayList addressList;
         private BusCompWrapper contactWrapper;
    private static List queryFieldList=Arrays.asList(new String[]{"Id","First Name","Last Name","Social Security Number","Birth Date","Status","Integration Id","Party UId"});
    private static List phoneFieldList=Arrays.asList(new String[]{"ACU Telephone Type","ACU Telephone Number","ACU Telephone Extension"});
    private static List addressFieldList=Arrays.asList(new String[]{"Street Address","Street Address 2","ACU Street Address 3","City","Postal Code"});
         /**FileLogger for event logging*/
         private FileLogger logger;
         /**Date format for parsing date to Date object*/
         private String siebelDateFormat;
              Constructs ContactSiebelWrapper from specified SiebelWrapper and FileLogger objects
         public ContactSiebelWrapper(SiebelWrapper param,FileLogger logger,String siebelDateFormat)
              this.logger=logger;
              siebelWrapper = param;
              currentUpdate = new ArrayList();
              phoneList = new ArrayList();
              this.siebelDateFormat=siebelDateFormat;
              Advances to the next record in Business component.
              @return true if there is next record, false otherwise
         public boolean advanceRecord() {
              try {
                        Iterator retval = contactWrapper.getNextRecord();
                        if (retval==null){
    /*contactWrapper=null;
    phoneList=null;
    addressList=null;*/
                             return false;
                        currentRowId     = (String) retval.next();
                        currentFirstName = CommonUtils.iso8859_1ToMS874((String) retval.next());
                        currentLastName  = CommonUtils.iso8859_1ToMS874((String) retval.next());
                        currentCitizenId = (String) retval.next();
                        currentBirthDate = (String) retval.next();
                        getPhoneList();
                        getAddressList();
                        return true;
              } catch (Throwable e) {
                   logger.logLine("ERROR while advancing to next record");
                   e.printStackTrace();
                   return false;
         public void query(String firstName, String lastName, String citizenId) throws Exception{
                   this.eimFirstName = firstName;
                   this.eimLastName  = lastName;
                   this.eimCitizenId = citizenId;
                   String searchstr = "(([First Name] =\""+firstName+"\" AND [Last Name]=\""+lastName+"\" )OR [Social Security Number]=\""+citizenId+"\") AND [Status]=\"Prospect\""; // = (([First Name] = 'firstName' AND [Last Name] = 'lastName') OR [Citizen Id] = 'citizenId') AND ([Status]='Prospect')
                   contactWrapper=new BusCompWrapper();
                   contactWrapper.query(siebelWrapper, "Contact", "Contact", searchstr, queryFieldList);
         }

Maybe you are looking for

  • How to register new iphone on exisitng itunes account

    I replaced my old iphone with a new iphone and cannot register it with my existing itunes account.  I discovered this when I noticed that my calendars weren't syncing.  Do I need to open a new itunes account or can I change the device/iphone in my ex

  • Error 1305 while installing Crystal Reports 2008, JavaSDK

    While installing Crystal Reports from the original media on a new Lenovo Thinkpad running Windows XP Pro SP3 I get the following error while installing: Error 1305: Error reading from File: c:\program files\Business Objects\javasdk\jre\audio\soundban

  • BSEG-ZUONR can't change by BTE 1120

    Hi, gurus,         I want to change the field BSEG-ZUONR with the DN number,  I use BTE 1120  to implement it, but it doesn't work. I refer https://www.sdn.sap.com/irj/sdn/nw-development?rid=/library/uuid/207835fb-0a01-0010-34b4-fef1240ba9b7  and fol

  • Xerces with SAX or DOM

    I am using xerces (in jar form) to parse an XML file. I've now read, after getting this to work, that xerces can use SAX or DOM. How do I know which one I am using?

  • BC4J - Update value in ViewObject

    Hello all, I have implemented the following code in the create() method of one of my Entity Objects: ViewObject vo = getDBTransaction).getRootApplicationModule().findViewObject("AutoKeyView"); Row row = vo.first(); row.setAttribute("Seed",new Number(