Building a Data Array in a SubVI

OK first off, I'll say I am extremely new to LabVIEW.  I only started using it last week.  I am used to other programming languages so if I use some terminology that is not common to LabVIEW, I apologize.
What I am trying to do is collect temperature data and determine when it reaches steady state.  I am collecting data from a USB thermocouple DAQ in a for loop with a user defined number of iterations.  Each one of those iterations goes into an array.  The mean and standard deviation are calculated from this array.  Everything I have said is done inside of a while loop and once the standard deviation is low enough the while loop is terminated.
This works perfectly, but and there is always a but, I wanted to turn the array building, averaging, and standard deviation calculations into a subVI so that I can use this other times as steady state is a big part of what I test.  Also that way I don't have to have the data array show up on the front panel.  The issue I have found is trying to pass the DAQ data into the subVI.
Any help doing this or any suggestions on a more elegant way to determine steady state are greatly appreciated.  I have attached the VI in its intact form and a jpeg of it with the part I hope to put into a subVI boxed in red.  Hope this is enough information and if you have any questions, concerns, or suggestions feel free to post.  Thank you.
- Kyle
Solved!
Go to Solution.
Attachments:
Taking and Graphing Temperature.vi ‏119 KB

altenbach wrote:
You are taking a single measurment per FOR loop iteration, so you should convert the dynamic data to a single scalar instead of an array. Now you end up with a 1D array after the for loop and all that reshape mess is no longer needed. All you nead is the subVI for SD and mean that ships with LabVIEW and thus you already have.
You have a lot of coercions. "Iterations" and "numeric" should be I32 (right-click...representation...I32)
That rube goldberg comparison sequence is silly. All you need is a single comparison "SD<0.005" and wire the output to the loop termination condition. (btw, there is also a primitive for "<0"). 
Seems silly to write all raw numbers to a file every 10ms. It is probably sufficient to log the "means" to a file.
Why do you use single point acquisition and a FOR loop. Can't you do a hardware timed acquisition with N points and a given dT, eliminating the FOR loop entirely?
OK I have done each one of the things you have suggested but there are some down sides for not having the for loop I have come to figure out.  First is that the graph does not update continuously as before.  It just updates after each batch of measurements which isn't all the bad.
Also I made it so that I am only writing the means to file now for each batch of measurements as you had suggested, but the issue is that now I do not have any time stamp on the measurements.  Is there an easy way to add this to the file?
My last question is about actually initiating the file.  I have it ask the user so that no data can accidently be saved ontop of other data and so that ever test would have the proper name, but now that I only log the mean at the end it takes it some time to prompt the user to name the file.  Is there anyway to get it to do this first?  I know there are ways to use open file -> write to file -> close file but I am only familiar with the all in one write to measurement file.
Thank you both for all the great answers and ideas.  This forum is very helpful and makes LabVIEW a much more approachable software for a novice like me.
- Kyle

Similar Messages

  • Avoiding data memory duplication in subVI calls

    Hi,
    I am on a Quest to better understand some of the subtle ways of the LabVIEW memory manager. Overall, I want to (as much as practically possible) eliminate calls to the memory manager while the code is running.
    (I mainly do RT code that is expected to run "forever", the more static and "quiet" the memory manager activity is, the faster and simpler it is to prove beyond reasonable doubt that your application does not have memory leaks, and that if will not run into memory fragmentation (out of memory) issues etc. What I like to see as much as possible, are near static "used memory" and "largest contiguous block available" stats over days and weeks of deployed RT code.)
    In my first example (attached, "IPE vs non-IPE.png"), I compared IPE buffer allocation (black dots) for doing some of the operations in an IPE structure vs. "the old way". I see fewer dots the old way, and removed the IPE structure.
    Next I went from initializing an array of size x to values y to using a constant array (0 values) with an "array add" to get an array with the same values as my first version of the code. ("constant array.png")
    The length of the constant array is set to my "worst case" of 25 elements (in example). Since "replace sub-array" does not change the size of the input array even when the sub-array is "too long", this saves me from constantly creating small, variable sized arrays at run-time. (not sure what the run-time cpu/memory hit is if you tried to replace the last 4 elements with a sub-array that is 25 elements long...??)
    Once I arrived at this point, I found myself wondering "how exactly the constant array is handled during run-time?". Is it allocated the first time that this sub-vi is called then remains in memory until the main/top VI terminates, or is it unloaded every time the SubVI finishes execution? (I -think- Mac's could unload, while windows and linux/unix it remains in memory until top level closes?)  When thinking (and hopefully answering),  consider that the the code is compiled to an RTEXE runningg on a cRIO-9014 (vxWorks OS).  
    In this case, I could make the constant array a control, and place the constant on the diagram of the caller, and pipe the constant all the way up to the top level VI, but this seems cumbersome and I'm not convinced that the compiler would properly reckognize that at the end of a long chain of sub-sub-sub VI's all those "controls" are actually always tied off to a single constant. Another way would perhaps be to initialize a FG with this constant array and always "read it" out from the FG. (using this cool trick on creating large arrays on a shift register with only one copy which avoids the dual copy (one for shift register, one from "initialize array" function)).
    This is just one example of many cases where I'm trying to avoid creating memory manager activity by making LabVIEW assign memory space once, then only operate on that data "in-place" as much as possible. In another discussion on "in-place element" structures (here), I got the distinct sense that in-place very rarely adds any advantage as the compiler can pick up on and do "in-place" automatically in pretty much any situation. I find the NI documentation on IPE's lacking in that it doesn't really show good examples of when it works and when it doesn't. In particular, this already great article would vastly benefit from updates showing good/bad use of IPE's.
    I've read the following NI links to try and self-help (all links should open in new window/tab):
    cool trick on creating large arrays on a shift register with only one copy
    somewhat dated but good article on memory optimization
    IPE caveats and recommendations
    How Can I Optimize the Memory Use in My LabVIEW VI?
    Determining When and Where LabVIEW Allocates a New Buffer
    I do have the memory profiler tool, but it shows min/max/average allocations, it doesn't really tell me (or I don't know how to read it properly) how many times blocks are allocated or re-allocated.
    Thanks, and I hope to build on this thread with other examples and at the end of the thread, hopefully everyone have found one or two neat things that they can use to memory optimize their own applications.  Next on my list are probably handling of large strings, lots of array math operations on various input arrays to create a result output array etc.
    -Q
    QFang
    CLD LabVIEW 7.1 to 2013
    Attachments:
    IPE vs non-IPE.png ‏4 KB
    constant array.png ‏3 KB

    I sense a hint of frustration on your part, I'm not trying to be dense or difficult, but do realize that this is more towards the "philosophical" side than "practical" side. Code clarity and practicalities are not necessarily the objectives here.
    Also, I have greatly appreciated all your time and input on this and the other thread!
    The answer to your first question is actually "yes, sort of". I had a RT application that developed a small memory leak (through a bug with the "get volume info.vi' from NI), but to isolate it and prove it out took a very long time because the constant large allocation/deallocations would mask out the leak. (Trace's didn't work out either since it was a very very slow leak and the traces would bomb out before showing anythinng conclusive.) The leak is a few bytes, but in addition to short term memory oscilations and  long term (days) cyclical "saw-tooth" ramps in memory usage, made this very hard to see. A more "static" memory landscape would possibly have made this simpler to narrow down and diagnose. or maybe not. 
    Also, you are missing my point entierely, this is not about "running out of memory" (and the size of 25 in my screen-shot may or may not be what that array (and others) end up being). This is about having things allocated in memory ONCE then not de-allocated or moved, and how/when this is possible to accomplish.  Also this is a quest (meaning something  I'm undertaking to improve and expand my knowledge, who said it has to be practical).
    You may find this document really interesting, its the sort of thing you could end up being forced to code to, albeit, I don't see how 100% compliance with this document would ever be possible in LabVIEW, thats not to say its worthless: JPL Institutional Coding Standard for the C Programming Language (while it is directed at C, they have a lot of valid general points in there.)
    Yes, you are right that the IPE would grow the output if the lenght of my replacement array is not the same, and since I can't share the full VI's its a bit of a stretch to expect people to infer from the small screen dummp that the I32 wires on the right guarantee the lengths will match up in the IPE example.
    Once, on recomendation of NI support, I actually did use the Request deallocation primitive during the hunt for what was going on in that RT app I was debugging last year. At that particular time, the symptom was constant fragmentation of memory, until the largest contiguous block would be less than a couple of kB and the app would terminate with 60+MB of free memory space.. (AKA memory leak, though we could not yet prove that from diagnostic memory consumption statistics due to the constant dynamic behavior of the program)  I later removed them. Also, they would run counter to my goal of "allocate once, re-use forever" that I'm chasing. and again, I'm chasing this more as a way to learn than because all my code MUST run this way. 
    I'm not sure I see what you mean by "copying data in and out of some temporary array". Previously (before the constant array) at every call to the containing sub-vi, I used to "initialize array" with x elements of value y (where x depends to a large degree on a configuration parameter, and y is determined by the input data array). Since I would call to "initialize" a new array each time the code was called, and the size of the array could change, I looked for a way that I could get rid of the dynamic size, and get rid of dynamically creating the array from scratch each time the sub-vi was called. What I came up with is perhaps not as clear as the old way I did it, but with some comments, I think its clear enough. In the new way, the array is created as a constant, so I would think that would cause less "movement" in memory as it at that point should be preventing the "source" array from (potentially) moving around in memory?  Considering the alternative of always re-creating a new array, how is this adding an "extra" copy that creating new ones would not create?
    How would you accomplish the task of creating an array of "n" elements, all of value "y" without creating "extra" copies? -auto-indexing using a for loop is certainly a good option, but again, is that sure to reuse the same memory location with each call? Would that not, in a nit-picking way, use more CPU cycles since you are building the array one element at the time instead of just using a primitive array add operation (which I have found to be wicked fast operations) and operate on a constant data structure?
    I cannot provide full VI's without further isolation, maybe down the road (once my weekends clear up a bit). Again, I appreciate your attention and your time!
    QFang
    CLD LabVIEW 7.1 to 2013

  • Write Text Data Array to text file

    Greetings all. I hope someone can help me as I am really under the gun. The attached vi shows the basics of what I am trying to do. I have already written a vi that takes the Cal Data Array and prints it out in a nicely formatted report. My problem is that the powers that be also want the data saved to a generic text file that can be copied and printed out anywhere they like. As such, I need to save the data to a generic text file in column format such that it will all fit on one page in landscape mode. There are a total of 12 columns of data. I have been trying to create something that would format each column to a specific length instead of them all being the same. No luck so far. Basically, I need columns 1,2,3,8 and 12 to be length of 5. The rest a length of 9. I have tried to place the formatting part in a for loop with the formatting in a case, but it does not appear to work. I really need this quick so if anyone has any ideas, please help. As always, I really appreciate the assistance.
    Thanks,
    Frank
    Attachments:
    Write Cal Data to Text File.vi ‏21 KB

    pincpanter's is a good solution. Beat me to it while I was away building an example. Similiar approach using two for loops and case statement. Here is my suggestion anyway....
    cheers
    David
    Message Edited by David Crawford on 11-23-2005 09:37 AM
    Attachments:
    Write Text Data Array to text file.vi ‏31 KB

  • How to build a cluster array dynamically from another cluster array?

    I'm working on a problem where I seem to be getting lost in a sea of
    possibilities, none of which strikes me as optimum. Here's what I need to do.
    I've got an input array of clusters (ARR1). Each cluster contains the
    following components: an integer (INT1), a ring variable (RING1), a boolean
    (BOOL1) and a cluster which itself is simply a bunch of ring variables
    (CLUST1) Now, I need to transform that into a set of clusters (CLUST3) each of
    which contains an array of characters (CHARARY2), a copy of the ring variable
    (RING2), a copy of the boolean variable (BOOL2) and a copy of the cluster
    (CLUST2).
    To build the CLUST3, I need to find all elements within ARR1 that have the
    same unique combination of RING1 and BOOL1, and if BOOL1 is True, then RING1
    in addition, build an array of all the INT1 values corresponding to each
    unique combination above converted to character, and then bundle this array
    plus the unique combination of the other variables into a new cluster. In
    general I could have several such clusters.
    So if I had the following array to start with:
    Index INT1 RING1 BOOL1 CLUST1
    0 3 1 F {Values1}
    1 2 1 T {Values2}
    2 4 0 F {Values1}
    3 6 0 F {Values3}
    4 1 2 T {Values2}
    5 4 2 T {Values2}
    6 3 0 T {Values3}
    7 4 2 T {Values3}
    I should end up with the following clusters:
    CHARARY2 RING2 BOOL1 CLUST1
    "3" 1 F Don't care
    "2" 1 T {Values2}
    "4","6" 0 F Don't care
    "1","4" 2 T {Values2}
    "3" 0 T {Values3}
    "4" 2 T {Values3}
    What methods would you suggest for accomplishing this easily and efficiently?
    Alex Rast
    [email protected]
    [email protected]

    Tedious but not conceptually difficult.
    ARR1 goes into a for loop, auto indexed on the FOR loop. The for loop has a
    shift register which will be used to build the output array. Nested within
    the for loop is another for loop, which the shift register array goes into,
    again auto indexed, along with the element that has been auto-indexed from
    ARR1. This for loop has a shift register, initialised with a boolean "true".
    The inner loop compares the current element of ARR1 with the output array
    and if an element in the output array is already present which matches the
    input by your criteria, then the boolean register is set false; otherwise it
    is left alone.
    After the nested FOR loop you have a case fed from the boolean shift
    register; if the boolean is true, the new element is unique and should be
    added to the array. If it is false then a previous element has been found
    making the present one redundant, and the array should be passed through
    without adding the element.
    In the true case, you simply unbundle the original element into its
    components and build the new element, using "build array".
    Notes for if the above is easy for you;
    1) if handling lots of data then pre-initialise the shift register of your
    outer loop with the same number of elements as your input array. Use
    "Replace Array Subset" instead of "Build Array" to insert the current
    element into the pre-allocated memory rather than having to create a new
    array and copy all the current data across, which is what "Build Array" is
    doing. Use "Array Subset" at the end to obtain a new array containing just
    the elements you've used, removing the unused ones at the end.
    2) Again for large datasets- the use of a while loop instead of the inner
    for loop is more efficient since you can halt the while loop as soon as a
    duplicate is found. With the described approach you have to go through the
    whole array even if the first element turns out to be a duplicate- much
    wasted computer time.
    Alex Rast wrote in message
    news:[email protected]...
    > I'm working on a problem where I seem to be getting lost in a sea of
    > possibilities, none of which strikes me as optimum. Here's what I need to
    do.
    >
    > I've got an input array of clusters (ARR1). Each cluster contains the
    > following components: an integer (INT1), a ring variable (RING1), a
    boolean
    > (BOOL1) and a cluster which itself is simply a bunch of ring variables
    > (CLUST1) Now, I need to transform that into a set of clusters (CLUST3)
    each of
    > which contains an array of characters (CHARARY2), a copy of the ring
    variable
    > (RING2), a copy of the boolean variable (BOOL2) and a copy of the cluster
    > (CLUST2).
    >
    > To build the CLUST3, I need to find all elements within ARR1 that have the
    > same unique combination of RING1 and BOOL1, and if BOOL1 is True, then
    RING1
    > in addition, build an array of all the INT1 values corresponding to each
    > unique combination above converted to character, and then bundle this
    array
    > plus the unique combination of the other variables into a new cluster. In
    > general I could have several such clusters.
    >
    > So if I had the following array to start with:
    >
    > Index INT1 RING1 BOOL1 CLUST1
    > ---------------------------------------------------
    > 0 3 1 F {Values1}
    > 1 2 1 T {Values2}
    > 2 4 0 F {Values1}
    > 3 6 0 F {Values3}
    > 4 1 2 T {Values2}
    > 5 4 2 T {Values2}
    > 6 3 0 T {Values3}
    > 7 4 2 T {Values3}
    >
    > I should end up with the following clusters:
    >
    > CHARARY2 RING2 BOOL1 CLUST1
    > -----------------------------------------------------
    > "3" 1 F Don't care
    > "2" 1 T {Values2}
    > "4","6" 0 F Don't care
    > "1","4" 2 T {Values2}
    > "3" 0 T {Values3}
    > "4" 2 T {Values3}
    >
    > What methods would you suggest for accomplishing this easily and
    efficiently?
    >
    > Alex Rast
    > [email protected]
    > [email protected]

  • Anyone know how to add a string to a 1d array with file info, then be able to read back, display string, and sort data array.

    I need to store a data array and include text that describes what the data is. (using for various configuration files.) Anyway, I would like to be able to save the string as part of the txt file, and somehow read it back, remove the (various length string), and display it in an indicator. All the while, not causing too much problem with the initial data array.
    Thanks in advance!!

    There are several ways to do what you require. A simple method would be to use an ASCII text file. When writing one of those, you just need to basically build a gaint string starting with the description text you want. We like to call that a header. Once you've got the header, make some sort of delimiter like a bunch of "-" or two sets of ( EOL = End of Line = CRLF = \r\n ). After your delimiter, concatenate your array in string form or flatten your array from its native form into a string and tack it on the file (append).
    See the (very quick) example attached.
    Dan Press
    www.primetest.com
    Attachments:
    fileheader.vi ‏41 KB

  • How can I write a array to other subvi when the program running?

    Hello
    I am working on a project with labVIEW, In the programme I made, there is an Case structure. And there  are several subvI, each subvi
    belongs to one case.My question is when I process the data I a certain subvI, how can I wrtie this file(an array)  to another subvi and
    show the file name in a listbox?
    Many thanks

    You could try using a global variable or  a shared variable. 
    Brian

  • RS232 and how to build some datas into a waveform

    Hello everyone !
    I would like to ask you a question about how to build some datas into waveform.
    Let's me explain :
    Actually, I am working on a project with a PIC.
    The PIC sent 3 informations to Laview by RS 232 :'velocity;current;tension\n'
    Lynn and Crossrulz help me to make a diagram that allows to read datas and displays them with charts.
    It works perfectly.
    Now, I would like to display some datas from a sensor (dynamic datas)  and double datas from RS232 on the same chart with different plot.
    So, I have to build double datas into waveform,  convert double datas into dynamic datas.
    I have tried something : I used 'Convert to dynamic data' function but it doesn't work and I don't know why.
    Can you help me ?
    I join you :
    - VI
    - a gif that shows what's happening
    - screenshot
    Notice : I used 'simulate signal' to represent a sensor
    Thanks for your help
    Attachments:
    test5.vi ‏84 KB
    test7.gif ‏685 KB
    diagram.JPG ‏77 KB

    Hello Crossrulz !
    Thanks again for your help.
    I have found Build Waveform but I get a strange result.
    As first step, I have simplified my problem and I have just tried to build a waveform from my datas.
    Since Build Waveform must have an array as input, I have used  Array Subset.
    As result, I don't get a plot but if you pay attention, you can see a little white dot around my value.
    How can I fix that ?
    Thanks again
    Attachments:
    test_build_waveform.vi ‏19 KB
    diagram2.JPG ‏59 KB
    build_waveform.gif ‏597 KB

  • How can I display data gathered in a subVI in a graph of the main VI?

    I have written a largish application (~50 VI's) which acquires, analyzes, display and saves data from an instrument with a built-in DAQPad. My problem is that my block diagram is rather messy by now. I'm using an event structure in my main VI which reacts to buttons being pressed on the front panel. During data acquisition (one frame of the event structure), I need to do a lot of data processing, and I'm displaying both raw data and analyzed data on the front panel. I'm using a lot of subVI's for this, but I always need to get data out of the subVI's again to display it on the front panel, cluttering my block diagram. It would be much nicer if the subVI could update the main VI's graphs and indicators. I just found two examples with control references which show how a subVI can modify e.g. a 3Dgraph of the main VI, but I'm unable to use this with normal graphs and charts - I can't find a way to update the actual data in the plots (I can scale the plot or color it blue etc - but I really want to change the data it's displaying, not color it blue). Is there anything I'm missing? Is there example code for this kind of problem?
    best regards
    Martin

    im assuming that you want to update your graphs and indicators as you are performing your DAQ, otherwise, you can pass out your value/s when the DAQ completes.
    I have attached a very simple example of using a reference to update your front panel graph.
    Hope this helps.
    Attachments:
    Reference Example(LV7.1).zip ‏17 KB

  • ORACLE reports Build 10g - Data Model - query - If statement in Alias ?

    I have the following select statement. It has the alias Survivors, Deaths and "All
    With the ORACLE reports Build 10g - Data Model - I have the following query statement. I require the alias to change. Can the following be done.
    Cases". Is it posible to use :P_LANGUAGE variable to say that -- IF :P_LANGUAGE = FRENCH THEN alias are Survivants for survivors, Décès for Deaths, Tous_les_cas for All Cases. Please advise
    SELECT ALL T_NTR_MULTIBAR.CAT, T_NTR_MULTIBAR.NUM_CASES_LEFTBAR AS Survivors,
    T_NTR_MULTIBAR.NUM_CASES_MIDDLEBAR AS Deaths, T_NTR_MULTIBAR.NUM_CASES_RIGHTBAR AS "All Cases"
    FROM T_NTR_MULTIBAR
    WHERE INSTANCE_NUM = :P_INSTANCENUM
    order by ORDERS

    It is no problem, you can automatically change the complete query before the report is running, which delivers you different kind of values. But the alias names does not change in the group of the data-model, although two query are running with different alias names at different times. In the data model you see the alias names of the first implemented select statement, which are the column fields in the layout.

  • How can I get the data array from SQL Server Database?

    Hi,
    I can write a data array(2D)into a table of my SQL Server Database. The data array was writen to a column with image type. I know a data array is transformed a binary string when writing into database, but I dont know how to get the data array when I fetch the binary string from database.
    My question is:
    How to transform the binary string into data array? which vi's should I use? I have tried unflatten from string but failed.
    Any response is appriciated.
    Red

    happyxh0518 wrote:
    > I can write a data array(2D)into a table of my SQL Server Database.
    > The data array was writen to a column with image type. I know a data
    > array is transformed a binary string when writing into database, but I
    > dont know how to get the data array when I fetch the binary string
    > from database.
    >
    > My question is:
    > How to transform the binary string into data array? which vi's should
    > I use? I have tried unflatten from string but failed.
    In order to use Unflatten from string you first need to Flatten it
    before writing it. Also depending on the database driver, the returned
    data may actually not be binary but Hexadecimal encoded ASCII which you
    would first have to decode to binray.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Non-build-in-data type mapping error

    Hi,
    I started a new web service design using a pre-defined Schema. I created a schema project and use XML bean as my web service method parameter.
    It works fine in workshop test IDE. But when I deployed it and tried to generate client jar, it gave me Failed to do type mapping error.
    What steps I should do to fix this non-build-in data type problem?
    thanks
    May

    Hi,
    I started a new web service design using a pre-defined Schema. I created a schema project and use XML bean as my web service method parameter.
    It works fine in workshop test IDE. But when I deployed it and tried to generate client jar, it gave me Failed to do type mapping error.
    What steps I should do to fix this non-build-in data type problem?
    thanks
    May

  • Date array and Sorting

    I have a date array that i created from a database.  I am trying to sort the dates into the correct order with the upcoming on top.... the best would be that after the date has passed it would go to the bottom of the list. Can anyone tell me if I am on the right path with what I have so far and give me any hints?  thanks (the second loop give me an error)
    <!--- Declare query array --->
    <cfset dateArray = arraynew(1)>
    <!--Poppulate Array row by row--->
    <cfloop query="CDE_Dates2">
              <cfset dateArray[currentRow][1] = event_date>
    </cfloop>
    <!--- Sort Array Dates --->
    <cfloop index="i" from="1" to="#arrayLen(dateArray)#">
              <cfset dateVar = DateFormat(dateArray[i],"YYYY/MM/DD")>
    </cfloop>

    I think I read that as you want dates sored in an order something like this:  future dates at the top, sorted in ascending order (most imminent first to farthest future last), then past dates at the bottom in ascending order (oldest first to most recent past last).
    The easiest way would be to either do this when you query the database (in your CDE_Dates2) or do a query-of-query on CDE_Dates2.  You can do it using a union and adding an extra column for sorting.  Here's some SQL pseudo-code:
    SELECT dateColumn, otherColumn, anotherColumn, 0 AS sortOverride
    FROM someTable
    WHERE dateColumn > <cfqueryparam value="#Now()#" cfsqltype="cf_sql_date">
    UNION
    SELECT dateColumn, otherColumn, anotherColumn, 1 AS sortOverride
    FROM someTable
    WHERE dateColumn <= <cfqueryparam value="#Now()#" cfsqltype="cf_sql_date">
    ORDER BY sortOverride, dateColumn
    This will force the future dates to the top and put past dates at the bottom.
    You could do the same thing in a QofQ.
    -Carl V.

  • Java.sql.SQLException: Internal error: Data array not allocated

    We got an error as follows: 'java.sql.SQLException: Internal error: Data array not allocated'. Does anyone know what does this error means? Thanks!

    Duplicate post:
    Re: ORA - 17044. Confused, please help
    Hippo,
    I have answered you in the other post.
    Good Luck,
    Avi.

  • Building custom date control in WAD

    Hi,
    Plz. let me know how can I build a custom date control in WAD which will take date intervals.
    OR
    How can I represent a date interval variable in WAD by not using the variable screen feature of the web template.
    Thanks,
    Priya

    Hi Ashish,
    Actually I searched for quite sometime & also consulted with SAP, but could not find an answer. I thus ended up building the whole logic myself. I used Input Field & Button Group web items to build the date controls & made it look like the standard SAP date control complete with icon etc. I enabled Javascript on the Button Group webitems that called a Calendar control for input date selection (my requirement was a date interval, so from & to dates). I then passed the input selection thru' Javascript using Command API to the query variables on click of another Button Group webitem along with some other inputs from Drop Down webitem etc.
    --Priya

  • Delete the Business Entity and the Building master data

    Dear all ,
    Please I need to know the way to delete the Business Entity and the Building master data from the system.

    Hi Khairy,
    You can allow the deletion of the object(s) at the below mentioned path.
    RECACUST -> Tools -> Deletion of Real Estate Objects Without Archiving.
    You can go to the relevant master data transaction and get an option to delete in the initial screen, an example is shown below.
    Note that there are prerequisites for every type of object deletion.
    Regds,
    Hardik Sharma

Maybe you are looking for

  • Transport Parameters for FTP1.0

    While defining Communication Capability of a Remote trading partner i am confused what to put in these fields of Transport Parameter fields,i am using FTP1.0 transport protocol.Please comment on importance of these fields. Transport Parameter Values

  • How to set a particular node selected in a JTree from within the model

    I have an adapter class that provides communication between my JTree and data model. My adapter class implements TreeModel, TreeExpansionListener, TreeSelectionListener and a listener for changes to my data model. My data model keeps reference to the

  • Edit existing page with new template

    I am using Contribute 4, and am trying to edit an existing page. it is my index page, and I want to start fresh with one of the templates provided. However, I can't find a way to completely delete all of the previous info, and THEN open a new templat

  • Help!! The ghost emails are on the ipad

    when i go to my mail, there's a bunch of emails that say no sender and is from 1969. It's really freaky. What do these mean and how do i get rid of them?

  • Sun Certified Web Component Developer for the Java Platform, Enterprise Edi

    I would like to take up the exam "Sun Certified Web Component Developer for the Java Platform, Enterprise Edition 5". Could you please suggest me the right book for it? Does this one helps? ----Head first servlets and jsp Whihc version I have to choo