TCP Read w/ #bytes=4 returns wrong data.

On an initial TCP Read to a just-open connection, I can read any number of bytes, always getting the first n bytes from the arriving data. Except when I try to read 4 bytes! Then I get 4 bytes, but they're the seventh through ninth bytes, not the first four. Haven't found any other number that gives problems - 1,2,3,5,6,7,8,16,40,1020,etc. all work fine. Ideas?

You may want to try runnig the Data Client and Data Server example VIs which ship with LabVIEW and see if they work on your system. The Client example actually reads in 4 bytes every time. I ran it and it works fine, so if yours exhibits the behavior you've been seeing, then the problem could be with your connection. Otherwise, if the example does work, then it could be somewhere in your code. Let us know what you find.
J.R. Allen

Similar Messages

  • Report returns wrong data when run on server

    Hi,
    I'm runing CRS XI R2 on Windows Server 2003 SP2.  When I refresh a report in the Crystal Reports XI Designer, I'm getting correct data.  But when I schedule the report to run on the server it returns wrong data.  The data is different from what I see when I refresh it from the designer.  In the report I have running totals set up to count customers that meet a certain criteria.  The report is very large.  It take almost 2 hours to refresh.
    I was wondering what is causing the difference in running total data between refreshing it on the designer and running it on the server.  Is it returning wrong data b/c of it not reading all the records?  Should I be making any changes to the server settings?  I saw that under pageserver, there are options for  setting the 'Minutes Before an Idle Report Job is Closed' and 'Database Records To Read When Previewing Or Refreshing a Report".  Do either of those have anything to do with the report returning incorrect data when being scheduled to run on the server?
    Thanks,
    Kim

    Hi Xuandao,
    You would need to Use Cell Binding and Trigger concept to accomplish this.
    Its simple, however, you would have to work on a trial and error basis to understand this concept as implementing the same is subject to your dashboard and WEBI Design.
    Open you LiveOffice.
    Insert your WEBI, Now, go to Object Properties of your WEBI, select the second tab that says Prompt, Here, it lists the prompts that you have for your WEBI. This would also enlist your BEx variables as well. Select this BEx variable and click on the button that says Prompt at the bottom of this window. Here, select choose Excel Data Range and click on the cell select button on the right (small button that lets you choose what cell you want to bind this prompt to), Now select a free cell that would not be even populated later on when you run the dashboard say A1 (remember the value that you select). Click on OK and again OK. The WEBI Refreshes and you can see all the prompt values at the cell A1. These are all the possible values stored for your BEx prompt variables (these values are fetched from BW system dynamically).
    Now, save this LiveOffice, Go to you dashboard. Connect your dashboard to your Live office. Go to Data-> connections-> Now, select the WEBI and in the right hand pane  go to Usage tab, here, Click on Trigger cell button on the right hand side and select A1 in you LiveOffice.
    It should work fine.
    Let me know.
    Rgds,
    Sreekul Nair

  • JSObject returns wrong date. How can I extract correct date from digital signature?

    I'm trying to extract name and date from digital signatures by using JSObject in Excel VBA, but JSObject returns wrong date. Year, month, hour and minute are correct, but only day is incorrect.
    Here is my code. I'm using Acrobat 8.1.3.
    Please tell me what's wrong with this code and how I can extract correct date from digital signatures.
    Public Sub sbTest()
    Dim oApp As Acrobat.acroApp
    Dim oPDDoc As Acrobat.AcroPDDoc
    Dim jso As Object
    Dim f As Object
    Dim sig As Object
    Dim strFileName As String
    Set oApp = CreateObject("AcroExch.App")
    Set oPDDoc = CreateObject("AcroExch.PDDoc")
    strFileName = "C:\Test.pdf"
    If (oPDDoc.Open(strFileName)) Then
    Set jso = oPDDoc.GetJSObject
    Set f = jso.getField("Signature1.0")
    Set sig = f.signatureInfo()
    Debug.Print sig.Name
    Debug.Print sig.Date
    End If
    Call oPDDoc.Close
    Call oApp.Exit
    End Sub

    Hi
    You can use TDMS file format to save the data. I have attached a reference Vi.
    On button click you can log the data or remove the case structure and continuous log the complete acquisition data.
    Thanks and Regards
    Himanshu Goyal
    Thanks and Regards
    Himanshu Goyal | LabVIEW Engineer- Power System Automation
    Values that steer us ahead: Passion | Innovation | Ambition | Diligence | Teamwork
    It Only gets BETTER!!!
    Attachments:
    Data Save in File.vi ‏35 KB

  • Function sometimes return wrong data

    Hi all.
    I have a very strange problem with a function. Situation is this: I have an application that handles processes. Each process have a number of steps that is arranged in a matrix like layout. User clicks a step to start/execute it.
    Now in a list of current processes i want to have an indication of how "far" a process has reached so i created a function for that and included that in my processlist fetch.
    gchs_user_process_steps is the table where the user data for the process step is
    gchs_process_steps is the definition table of what steps a process has
    gchs_steps is the definition table of all steps
    The below function is supposed to return latest step user clicked in the display matrix. tier is used to store the column number and sortorder is the row number of any step user clicked.
    CREATE OR REPLACE FUNCTION FN_REACHEDSTEP(p_user_process_id NUMBER)
    RETURN VARCHAR IS
      ret VARCHAR(30);
      ret_id INTEGER;
      ret_num INTEGER;
    BEGIN
       ret := '';
       ret_id := 0;
       ret_num := 0;
       BEGIN
    SELECT substr(step_name,1,30),step_id,reached INTO ret,ret_id,ret_num
    FROM (
    SELECT a.*, rownum rnum
    FROM (
        SELECT s.name AS step_name, ps.id AS step_id, max((ps.tier*1000)+ps.sortorder) AS reached
        FROM gchs_user_process_steps ups, gchs_process_steps ps, gchs_steps s
        WHERE ups.gchs_process_step_id=ps.id AND
           ps.gchs_step_id=s.id AND
           ups.gchs_user_process_id=p_user_process_id
        GROUP BY s.name,ps.id
        ORDER BY 3 DESC) a
    WHERE rownum <= 1 )
    WHERE rnum >= 1;
       EXCEPTION
         WHEN OTHERS THEN
            ret:='';
       END;     
          RETURN ret;
      EXCEPTION
    WHEN OTHERS THEN
           ret := '';
       RETURN ret;
    END FN_REACHEDSTEP;
    Now the problem is that the function sometimes return wrong value. The name of the step that is returned is not the one i get if i run the SQL by itself.
    So doing a
    SELECT substr(step_name,1,30),step_id,reached INTO ret,ret_id,ret_num
    FROM (
    SELECT a.*, rownum rnum
    FROM (
        SELECT s.name AS step_name, ps.id AS step_id, max((ps.tier*1000)+ps.sortorder) AS reached
        FROM gchs_user_process_steps ups, gchs_process_steps ps, gchs_steps s
        WHERE ups.gchs_process_step_id=ps.id AND
           ps.gchs_step_id=s.id AND
           ups.gchs_user_process_id=21680
        GROUP BY s.name,ps.id
        ORDER BY 3 DESC) a
    WHERE rownum <= 1 )
    WHERE rnum >= 1;
    and a
    select fn_ReachedStep(21680) from dual;
    will sometimes return different values.
    So is the function fundamentally wrong or is there any cache or something that i've missed that could hold "old" function outputs or am i missing something else.
    Thankful for any clues.
    I'm using Oracle 10.2.0.1.0
    Best regards
    /Tomas
    Edit: Here's some data that the system uses.
    gchs_steps
    ID           NAME
    10000     Step 1
    10020     Step 2
    10021     Step 3
    10022     Step 4
    10023     Step 5
    10060     Step 6
    10140     Step 7
    gchs_process_steps
    ID          GCHS_STEP_ID      TIER     SORTORDER
    10000     10000               0          1
    10001     10020               1          1                                                                                                                   
    10002     10021               1          2                                                                                                                   
    10003     10022               2          1
    10020     10023               3          5
    10060     10060                3          4
    10080     10140               3          2
    10040     10040               3          3
    10100     10160               4          3
    10160     10220               4          2
    11640     11640               3          1
    11660     11660               0          6
    11661     11661               0          7
    11600     11600               0          4
    11620     11620               4          1
    gchs_user_process_steps
    ID          GCHS_USER_PROCESS_ID     GCHS_PROCESS_STEP_ID
    35541     21680                         10002
    38441     21680                         10020
    38440     21680                         10000
    52062     21680                         10060
    Relations beween table is
    gchs_user_process_steps.gchs_process_step_id=gchs_process_steps.id
    and
    gchs_process_steps.gchs_step_id=gchs_steps.id
    So doing the SQL alone will always return
    SUBSTR(..)     STEP_ID REACHED
    Step 5      10020 3005
    but executing the function sometimes returns
    FN_REACHEDSTEP(21680)
    Step 6
    Also removing the rownum limits return and doing a
    SELECT s.name AS step_name, ps.id AS step_id, max((ps.tier*1000)+ps.sortorder) AS reached
    FROM gchs_user_process_steps ups, gchs_process_steps ps, gchs_steps s
    WHERE ups.gchs_process_step_id=ps.id AND
    ps.gchs_step_id=s.id AND
    ups.gchs_user_process_id=21680
    GROUP BY s.name,ps.id,ps.tier, ps.sortorder
    ORDER BY 3 DESC
    give this result
    STEP_NAME     STEP_ID     REACHED
    Step 5          10020     3005
    Step 6          10060     3004
    Step 3          10002     1002
    Step 1          10000     1
    Edited by: user4935832 on 2008-sep-19 01:38

    ORDER BY 3 DESC) a
    WHERE rownum <= 1 )
    WHERE rnum >= 1;Just some thoughts.
    1. You could replace "ORDER BY 3" by "ORDER BY reached"
    2. the rownum <=1 and rnum>=1 will return only one row... I don't understand the second one.
    Lastly, the difference might come from a duplicate value return by your MAX() function.
    If there is two rows (or more) with same MAX, Oracle might return one row arbitrary.
    To get the same row, you have to use some aggregation function like MAX() KEEP (DENSE_RANK LAST...).
    Here a try for your query, obviously not tested :
    SELECT max(substr(step_name,1,30)) keep (dense_rank last order by reached) as step_name,
           max(step_id) keep (dense_rank last order by reached,step_name) as step_id,
           max(reached) as reached
    FROM   (SELECT s.name AS step_name,
                   ps.id AS step_id,
                   max((ps.tier*1000)+ps.sortorder) AS reached
            FROM   gchs_user_process_steps ups,
                   gchs_process_steps ps,
                   gchs_steps s
           WHERE   ups.gchs_process_step_id=ps.id
           AND     ps.gchs_step_id=s.id
           AND     ups.gchs_user_process_id=21680
           GROUP BY s.name,ps.id) a;Nicolas.

  • Java.util.Calendar returning wrong Date object

    Example: This was my scenario last night. A server in California has date/time of 'Mon Aug 18'. Current time in Indiana is 'Sun Aug 17'. I use Calendar.getInstance(TimeZone.getTimeZone("America/Indiana/Indianapolis")) to return a Calendar instance. I then call the getTime() method on that instance. It should return a Date object relating to that particular time zone. It will not. It defaults back to the server time. When I print out the Calendar instance everything is good, correct date, correct time,etc. WHY WON'T THE getTime() return the correct java.util.Date???
    Following is the output was run today so the dates happened to be the same so focus on the Time. Output includes Server time, new Calendar values, and the Date returned by calendar instance getTime(). See that the Calendar is getting the correct Time.
    SERVER DATE=Mon Aug 18 15:52:13 CEST 2003
    CALENDAR INSTANCE=java.util.GregorianCalendar[time=1061214732975,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="America/Indiana/Indianapolis",offset=-18000000,dstSavings=0,useDaylight=false,transitions=35,lastRule=null],firstDayOfWeek=2,minimalDaysInFirstWeek=1,ERA=1,YEAR=2003,MONTH=7,WEEK_OF_YEAR=34,WEEK_OF_MONTH=4,DAY_OF_MONTH=18,DAY_OF_YEAR=230,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=8,HOUR_OF_DAY=8,MINUTE=52,SECOND=12,MILLISECOND=975,ZONE_OFFSET=-18000000,DST_OFFSET=0]
    Date from getTime()=Mon Aug 18 15:52:12 CEST 2003

    I got it worked with using DateFormat.parse !
    The trick is to instantiate a new Date object as a result
    of parsing out of 'localized' date string.
    with below code :
    Calendar localCal = new GregorianCalendar(TimeZone.getTimeZone("America/Los_Angeles"));
    localCal.set(Calendar.DATE, 25);
    localCal.set(Calendar.MONTH, 7);
    localCal.set(Calendar.YEAR, 2003);
    localCal.set(Calendar.HOUR_OF_DAY,6);
    localCal.set(Calendar.MINUTE, 38);
    localCal.set(Calendar.SECOND, 11);
    Calendar sinCal = new GregorianCalendar(TimeZone.getTimeZone("Asia/Singapore"));
    sinCal.setTimeInMillis(localCal.getTimeInMillis());
    int date = sinCal.get(Calendar.DATE);
    int month = sinCal.get(Calendar.MONTH);
    int year = sinCal.get(Calendar.YEAR);
    int hour = sinCal.get(Calendar.HOUR_OF_DAY);
    int min = sinCal.get(Calendar.MINUTE);
    int sec = sinCal.get(Calendar.SECOND);
    String sinTimeString = date + "/" + month + "/" + year + " " + hour + ":" + min + ":" + sec;
    System.out.println("VIDSUtil.hostToLocalTime : time string now in SIN time : " + sinTimeString);
    java.util.Date sinTime = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse(sinTimeString);
    System.out.println("time in SIN using Date.toString(): " + sinTime.toString());
    It prints out :
    VIDSUtil.hostToLocalTime : time string now in SIN time : 25/7/2003 21:38:11
    time in SIN using Date.toString(): Fri Jul 25 21:38:11 PDT 2003
    (Ignore the PDT, because Date.toString() defaults where the JVM is running)

  • Modbus tcp read holding registers not returning requested quantity

    Background:  I have a customer using an ELAU motion system - they are recording data to Holding Registers that they want to be able to read on a cRIO to match up with some analog data from FPGA (I have digital handshaking happening for that).
    LabVIEW 2010 SP1
    cRIO 9074
    Using the NI MOdbus.llb VI Library to communicate with the other system.  I can open the TCP communication no problem, and actually get SOME registers, just not ALL of the register data I want to read. 
    What I want to do is read 330 individual holding registers U16 values.  I know how the data is being split to represent various lengths (i.e. most data items are using 2 registers to represent one 32 bit number).  I just want to read all the individual registers and parse the data in another VI to convert it to the other data types.
    I provide the MB Ethernet Master Query (poly).vi with the starting address for the first register and then the quantity of 330.  The polymorphic instance selected the is "Read Holding Registers".  The array returned from this VI via "Holding Registers" is only 74 elements and not 330 requested.  I get no exception codes and no LV errors.  Is there some inherent limit on the number of Holding Registers that can be read?
    I am not using the MBAP Header input (not sure if that is needed).
    Thank you.
    Ryan Vallieu
    Automation System Architect
    Solved!
    Go to Solution.

    Simple solution once I dug into the MODBUS Serial protocol/TCP protocol documentation available out there via Google.
    Serial based modbus history is the limitation that carried over to TCP - the maximum amount of bytes in one data pack can only be 256 bytes.  Thus I was limited to around ~125 registers at once.
    256 bytes = 2048 bits.  Using 16 bit registers that gives 128 registers maximum.  I went with 125 to make keeping track of totals easier.
    Ryan Vallieu
    Automation System Architect

  • Strange issue - WD4A when called from EP returns wrong data

    Hi Experts,
    I am facing a very strange issue with WD4A. I have created one RFC. WD4A program calls this RFC. When I am executing the RFC using se37 it gives me 10 records. When I am executing the same RFC from WD4A program (Web Dynpro Application -- Right Click -
    test) the program is returning 10 records.
    I have created one iView in Portal. When I am calling the same program from portal, sometimes it returns 9 records and sometimes 10 records. I just refresh the iview and no of records getting displayed in screen changes.
    I have cheked the code many times. The code is perfectly fine.
    I have used clear and refresh command in the beginigng  of  RFC.
    What may be wrong? I have wasted my full dayfor resolving the issue. But I could not succeed.
    Is it due to some BASIS issue? Is it due to some server session issue?
    I have used business graphics in my application. Is it due to this? Whether IGS server and ECC contain different data?
    Please suggest
    Regards,
    Gary

    Hi Experts,
    The System configuration in the EP  is pointing to the right system and right client. I am using same setting for other Iviews. The other iViews are working fine.
    How we can apply break point in WDA. I beliveve I have to meet following requirement:
    1) Suppose EP user is 4755. The EP user 4755 is mapped to R/3 user 4755 and R/3 pernr 4755.
    2) Backend R/3 user 4755 should have se80
    3) Backend R/3 user should have debug access.
    The authorization will not provide such accesses for backend user 4755.
    Do we have any workaround?
    Please help.
    Regards,
    Gary

  • Infoset Query Returns Wrong Data

    Hi there exports,
    I created a infoset query based on 3 DSO's 0PUR_O01 (Purchase Order Items), 0PUR_DS03 (Purchase Order Item Schedule Line) & a Z-DSO (Material Consumption).
    I need information by PO Number (Item, Material) and the total consumption for that material from the Z-DSO irrespective what the item & PO Number is.
    My link to Z-DSO is material & plant. My problem is that the info from the orther 2 DSO is triple when I run my query.
    Any suggestions?
    Thank you
    Dirk

    Hi,
    This issue arrises due to the infoset property, ie. Infoset provides intersection of data.
    So for a single combination of material and plant in Z-DSO, there might be multiple (here 3)records in other two DSO so you get the triple amount in Query.
    Inorder to overcome it you must ideally join the DSO in a infoset based on the same key fields..
    Hope it helps..
    Regards..
    Umesh.

  • Date class of jdk 1.5.0 returns wrong Date.

    Hi All,
    i have a problem in my code with Date class in jdk 1.5.0.
    The code given below gives different output on two OS ( {color:#0000ff}both are placed at same place{color} )
    GregorianCalendar cal = new GregorianCalendar();
    Date today = cal.getTime();
    System.out.println("today: " + today);
    System.out.println("Hi !! current timeZone is :" +TimeZone.getDefault().getID());
    output ( on solaris 5.8) :--
    {color:#ff0000}today: Thu Sep 27 07:02:39 EDT 2007
    Hi !! current timeZone is :US/Eastern{color}
    output (on windows) :--
    today: Thu Sep 27 11:04:05 IST 2007
    Hi !! current timeZone is :Asia/Calcutta
    please, tell me, how this can be fixed?
    Thanks in Advance!

    I'm not sure I understand right. So this may be all wrong .
    But if you send actions between the two computers pick one of them and always refer to it's date.
    All you'd have to do is to init a calendar with the picked OS time, and time zone with time zone, and keep those two alive all the time. This way you'd have the same settings on both java applications (but not OSes).
    If you send actions I suppose you could just as well send the time settings.
    HTH

  • Setting TCP Read timeout value?

    How do I choose a timeout value for a TCP read function?
    I'm receiving data from a server at a rate which varies between 40 and 140 Hz (normally 120 Hz), there is no handshaking and at any set transmission rate it appears that the network load causes the rate to fluctuate slightly.
    All I have been able to do so far is plot a frame number that is received in my data and fiddle with the buffer mode and timeout until I get the least dropouts. At 120Hz 5ms works best with a standard buffer, surprisingly 8ms is poorer.
    I am using a producer consumer loop with a queue and some interpolation to make up for the loss of data. 
    This is very hit and miss so I'm sure there's a proper / better way to do this!

    If you are using standard mode, then the read function should return any partial data, but will report an error out.
    You may want to look at the functions that you call after the TCP read. I think that the enqueue function will NOT enqueue data if there is an error in.
    There is a function you can use to clear TCP timeout errors. You could use this to allow you to enqueue partial data to your consumer loop.
    vi.lib\addons\internet\utils\tcputil.llb\No Time Out Error.vi
    Note that it will be up to your consumer code to identify your 'frames' for proper decoding.
    Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
    If you don't hate time zones, you're not a real programmer.
    "You are what you don't automate"
    Inplaceness is synonymous with insidiousness

  • Detecting Error #59 while using TCP Read.vi

    I am using the TCP Read.vi to read data from a TCP connection. However, I need to know from the vi when the connection is lost, dropped, or reset. According to LabVIEW help, this should return back to me as Error #59. However, when I purposefully drop the connection on the server side, the TCP Read.vi does not return any errors.

    Here is my example. Its a small vi that simulates what I am trying to do. Let me know if you have questions.
    Attachments:
    TCP_Example.llb ‏159 KB

  • TCP Read Error Code 1

    I met a problem in using "TCP Read" in LabView;
    First I use "TCP Open Connection" building connection successful with a instrument; and seem the connection ID as the global,equal to a "TCP Network Connection Refnum";
    Then I use the global as the connection ID,and use "TCP Write" send a command to a instrument;and use "TCP Read" Receive the instrument return message;this time a 56 error occurs,it is normal.
    But after I use this method Send/Receive two times successfully,when i use "TCP Read" receive message, the error 1 occurs,and nothing received.
    In each TCP operation,use the global "TCP Network Connection Refnum" as the "Connection ID" input.
    someone can tell me,why does it occur?

    JiangYu wrote:
    > I met a problem in using "TCP Read" in LabView;<br>First I use
    > "TCP Open Connection" building connection successful with a instrument;
    > and seem the connection ID as the global,equal to a "TCP Network
    > Connection Refnum";<br><br>Then I use the global as the connection ID,
    > and use "TCP Write" send a command to a instrument;and use "TCP Read"
    > Receive the instrument return message;this time a 56 error occurs,it is
    > normal.<br><br>But after I use this method Send/Receive two times successfully,
    > when i use "TCP Read" receive message, the error 1 occurs,and nothing received.
    > In each TCP operation,use the global "TCP Network Connection Refnum"
    > as the "Connection ID" input.<br><br>someone can tell me,why does it occur?
    Ouch, globals! That is usually the first sign of a bad application design.
    For the rest just watch out. LabVIEW refnums are garbage collected
    whenever the VI hierarchy which opened them goes idle (stops executing).
    So Executing a VI which Opens the TCP refnum and writes it into a global
    and then quits and then executing another VI which tries to use that
    refnum from the global will simply fail with error 1 as the refnum has
    been already automagically closed and is therefore invalid.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Dreamweaver Template Error: Error reading file (Site Location/info) returned incomplete data

    Hello!
    I am working on new website we are creating for our company. I have never really had any Dreamweaver template file errors before...so this one has me really stumped! We purchased the site files from Template Monster and I have contacted their tech support, but I have not had much luck with them.
    I started out by creating the Dreamweaver template folder that includes the template files that I would like to use. I started creating some pages using the template. I placed all the html pages in the main folder of the website. When I go to update the template to those pages I get the following error: "Error reading file (Site Location\Folder name\Dreamweaver template name) returned incomplete data".
    I am not sure what I am doing wrong. Any help and advice would be greatly appreciated!
    The site is a CSS based site with a Flash navigation menu. Since it is in the production phase, I do not yet have it placed on a server so you can take a look at it at this time (although if really needed and we cannot find an answer, I may be able to get the test site on line - if someone thinks they can help me answer this problem by viewing the site). Right now the site is housed in the same place we house all of the other sites we have produced and all of our other templates on our other websites work just fine. The main difference with this site is that we did purchase files from Template Monster to help speed us along during the construction of the page structures and also this site has a Flash Navigation Menu and a few other Flash elements (something our other sites do not really have).
    I am using Abobe Dreamweaver CS5 and Windows 7
    Thanks again for taking the time to help find and answer to this problem!
    -J

    I am curious as to why no one likes them around here.
    They have spammed these forums in the past.
    The code on their pages is rarely 'best-practice' code.
    There are much better choices available.
    My co-worker and I have to share the files, since we are editing the site together. The files are not local on our computers, but on the company's f drive that have Novell on it.
    This arrangement is a recipe for disaster.  The correct way to collaborate on a site with a colleague is with the following setup:
    Each of you must have a LOCAL site (local to your workstation)
    You would use a single remote location as a staging area, so each of you would have a site definition that specifies your own workstation for the local site, and the same network shared location as the Remote site
    You will both need to enable Check In/ Check Out
    You will both have to agree to PLAY BY THE RULES!
    One (or both) of you will also need to have a second site defined that has the staging server as the local root folder, and would have the PRODUCTION server as the remote site.  I'll explain how to use this site soon.
    When you use CI/CO, your 'gold-standard files' are on the staging server.  To begin working, you would connect to the staging server, and double click on a file, which will a) fetch the file from the staging server to your local site, and b) CHECK OUT the file to you.  As long as you have the file checked out, it cannot be edited by your colleague.  When you are done with your edit, you would CHECK IN the file (which uploads it to the staging server).  It can now be edited by your colleague.
    When you add templates to this scenario, things get even more complicated, although manageable.  If you ever need to make a change to a template you must use the following procedure:
    ALL FILES MUST BE CHECKED IN - this includes both you and your colleague.
    One of you would connect with the SECOND SITE, open and edit the template, and save it propagating the changes to all "LOCAL" files (i.e., on the staging server).
    Each of you would then need to return to the FIRST SITE, and again check out any files you want to work on.
    When changes are done, and files are ready to publish, connect to the SECOND SITE, and upload the files from STAGING to PRODUCTION.
    Does that make sense?  It's important that it does.
    I need to add in one more tab/link to the Flash nav bar.
    Using Flash for navigation is a VERY POOR CHOICE, unless you also have redundant, text-based navigation on the pages.  By using Flash to navigate, you guarantee: a) your pages will not be spiderable by search engines, b) your pages will not be navigable by iPlatforms, and c) your pages will be inaccessible to anyone browsing with screen assistive devices.  Someone is making bad decisions about this site, in my opinion.

  • RMS wrong data returned

    Most of time I am getting the right result back, but occasionally, I am getting wrong data returned from the record store.
    I am storing a string of numeric characters only from a text field as bytes. It is only a maximum of 4 characters and quite often it seems to come up with 100, when that was not the value that was saved.

    Just to tie this off, this behavior was observed on 10.2.0.1 on both Windows and Linux. However we've verified that it is fixed in the 10.2.0.3 Patchset (Patchset 5337014) on Windows. I was unable to find an Oracle ticket that directly corresponded to this behavior, but it appears that there were similar-ish problems with query plans created to support NLS behavior and those must have addressed some fundamental issues.
    Thanks,
    -Michael

  • TCP Read undifined number of bytes

    Hello LabVIEW RT users
    I'm trying to convert a java application to my LabVIEW RT Smart Camera
    In my camera I have a working TCP server which reads and writes some data to/from a robot. My problem is that in LabVIEW i have to specify who many bytes I'm reciving to get it to work. But in my Java application the BufferedReader took care of this. I can't control what the robot is sending but it could be things like these strings
    GET X
    SET R 1
    SET X 443
    SET X 11
    GET START
    Somone who knows how I best handle this problem? I have tried to change the mode of the TCP read to CRLF but without succes

    If you have 1MB if random binary data, is highly likely that there will be a CRLF embedded somewhere by chance, so that won't work. None of your vague comments and suggestions make any sense so far. This is most likely a very simple problem that you are way overthinking and trying to overengineer. Billions of bytes of variable lenght data are transmitted every second across the world and nobody else seems to have these problems.
    Please be more specific about your application:
    Where is the data coming from?
    Is it also LabVIEW and do you have control over the sending program?
    How easy is it to tell if it is binary or formatted?
    Can you tell from the data pattern once an entire set is received?
    how long are the pauses between datasets?
    What happens to the data after it is received? (stream to disk, scan, parse, etc.)
    LabVIEW Champion . Do more with less code and in less time .

Maybe you are looking for