Change a cluster element value

I have an array of clusters and each cluster has dozens of controls in it. I want to go through all the array clusters and change the value of a specific control. Right now, I am using the value property node of the array to get a 1-d array of clusters, looping through it, unbundling each cluster, change value of one element, bundling it back into a cluster, and then giving it back to the array using the value property node again. This works fine but maybe there is a simpler way to do it. With the current method, it is probably using more RAM too because it has to copy all the data.
Message Edited by abdel2 on 12-24-2008 11:44 PM
Solved!
Go to Solution.

(Please always attach an actual VI. It is very difficult to troubleshoot or edit a code image. )
Anyway, your use of value property nodes is completly misguided here, they just introduce additional overhead and complicate the code! Why???
All you need to do is (1) read fom the input terminal, (2) modify the array element using "replace array subset", and (3) write the result to the output.
If you want to also write it back to the control, use a local variable.
(Depending on the rest of the code, you might also want to keep the array of clusters in a shift register.)
Message Edited by altenbach on 12-25-2008 10:12 AM
LabVIEW Champion . Do more with less code and in less time .
Attachments:
ModifyCluster.png ‏7 KB

Similar Messages

  • Change properties of a cluster element withing an array of clusters

    Hello all,
    I have an array of cluster that is shaped as a line with different display elements.
    A list or a tree wouldn't have made it, so I had to use a cluster and make a table.
    The problem is that I want to change not only the text but also the text color.
    Individually.
    I found this :
    http://www.ni.com/example/30904/en/
    But it change the property in all the clusters in the array, not just the one I need.
    Some people have the same problem :
    http://forums.ni.com/t5/LabVIEW/Reference-to-Array-of-Clusters-with-an-array-element/td-p/1006427
    http://forums.ni.com/t5/LabVIEW/Different-set-of-values-for-two-rings-in-an-array-of-clusters/m-p/10...
    http://forums.ni.com/t5/LabVIEW/array-of-clusters-get-references-to-all-the-clusters/td-p/1079456
    http://forums.ni.com/t5/LabVIEW/How-can-I-reference-the-properties-of-a-control-in-a-cluster-in/m-p/...
    http://forums.ni.com/t5/LabVIEW/Writing-only-to-certain-cluster-elements-in-an-array-by/m-p/2200728
    http://forums.ni.com/t5/LabVIEW/Update-Properties-Of-One-Control-In-An-Array/m-p/3015501
    http://forums.ni.com/t5/LabVIEW/Array-of-clusters-and-in-the-cluster-is-a-bar-meter-how-can-I/m-p/15...
    http://forums.ni.com/t5/LabVIEW/Property-node-of-a-control-inside-of-cluster-inside-an-array/m-p/946...
    Obviously, while in a list/table or tree you can change the property of an individual
    cell (font, color) you cannot do it within an array of cluster, by some sort of magic,
    the property of a cluster element (font, color) are all linked together, hence rendering
    the use of an array worthless.
    A possible hack is proprosed by using control masking, setting one visible and the
    other invisble, swapping their position, whatever. It's a hack you have to perform,
    hence add another code to maintain.
    Is that still the case or is there now a more official way to handle individual cluster
    properties, not just its data ? After all that's a common real-life example that should
    be handled by Labview. In my opinion.
    David Koch
    Solved!
    Go to Solution.

    altenbach wrote:
    One of the elements could be a 2D picture indicator of about the same size. You can write text in any color using picture functions.
    Here's what I had in mind. Seems to work just fine (I would fine-tune the font, picture border, etc. but this should get you started).
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    ColorText.png ‏13 KB
    ColorText.vi ‏9 KB

  • How can I change all Inf elements in an array to a specific value?

    I would like to change all Inf elements in my array to -1. Basically, I am looking for something similar to the range and coerce function, except that I want all values above a certain value to be a specific negative value, rather than go to that value.
    I could use a case structure and go through each element in the array, but I am hoping to find something more efficient.Any ideas?
    Solved!
    Go to Solution.

    P@Anand wrote:
    I would do that in this way.
    Here's a simpler version...
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    Replace in Array.png ‏4 KB

  • How to change cluster-elements used in subvi´s automatically?

    Hello,
    I have a Array of Clusters and a lot of SubVIs using this Cluster. If I change the Cluster ( f.e. thorugh adding a new INT-value to it), I need to go in all of my SubVIs and also do the same changes there. There must be an easier way to do this, but I was not able to find it out. I tried thorugh refernece, but it didnt work :-(    I was also not able to find a solution here in this forum.
    Can somebody help pls?
    LabVIEW 2011
    Solved!
    Go to Solution.

    Serdj,
    I am not sure if this is your problem, but have you tried type defining the cluster?
    Look here http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/creating_type_defs/
    regards,
    aCe
    Beginner? Try LabVIEW Basics
    Sharing bits of code? Try Snippets or LAVA Code Capture Tool
    Have you tried Quick Drop?, Visit QD Community.

  • Extract cluster element names and values automatically

    Dear Labview forum,
    I would like to extract cluster element names and values automatically
    without prior knowledge of the cluster element size or contents.
    I am able to extract the names but have some trouble with the values.  (see attached VI)
    I wish to write each the cluster element name and value in a string, and then write the string to a new line in a file.
    Regards,
    Jamie
    Using Labview version 8.0
    Attachments:
    extract cluster element names and values automatically.vi ‏14 KB

    This can become arbitrarily complex, because a cluster can contain many types of data, even other clusters, arrays, typedefs, etc. So getting a "value" of an element is not as easy as you might think. There is a reason you get a variant.
    If all cluster elements are simple numerics you can use "variant to data" with the correct type. The attached shows a few possibilities. Modify as needed.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    extract_cluster_element_names_and_values_automaticallyMOD.vi ‏23 KB

  • Use initialization file key names/values as cluster name/values

    I am trying to assign my initialization key name and values to a clusters names/values repestively.  For example, I read in the ini file key names (dir, user, year) and would like those to be the cluster labels and then read in the associated values and assign them to the cluster.
    For example, if my ini file is:
    [Sample]
    dir=c:
    user=jnoel
    year=1971
    I would like the cluster element names to be dir,user, and year with the values for each being c:, jnoel, and 1971 respectively.  I tried using the property node for label:text but Labview states the labels are not allowed to be changed in runtime.  I would think there would be some way to do this (and if not there should be!). 
    Any help would be greatly appreicated.

    MikeS81 wrote:
    Ben wrote:
    Hide the cluster names and show the captions.
    Captions can be written at run time.
    Ben
    Sorry,
    that´s what i´ve meant.
    Mike
    No it is me that should say "Sorry". Before my coffee had kicked in I had not realized that the description = caption.
    I was sorta wondering why you hadn not suggested captions, "doh!"
    Well between the two of us we got it right.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • How to change the screen element of a single field in a table control

    Hi Gurus,
    I want to change the screen element of a single field (or the whole row) in a table control according to a condition.
    I have 2 columns in the table control. One is an input column and one output only. When user enters values into the input column, they need to be compared against the values in the other column, and if there is a discrepancy, the row where the discrepancy is needs to be highlighted.
    I have tried the following code which highlights the whole column ...
    CONTROLS: TC_ZVOYG_BINS TYPE TABLEVIEW USING SCREEN 0500.
    DATA: wa_tc_zvoyg_col LIKE LINE OF TC_ZVOYG_BINS-cols.
      LOOP AT G_TC_ZVOYG_BINS_ITAB
               INTO G_TC_ZVOYG_BINS_WA.
        if G_TC_ZVOYG_BINS_WA-zdelivery_bin ne G_TC_ZVOYG_BINS_WA-zactual_bin.
          loop at screen.
            IF screen-name = 'ZVOYG_BINS-ZACTUAL_BIN'.
              wa_tc_zvoyg_col-screen-intensified = 1.
              MODIFY tc_zvoyg_bins-cols FROM wa_tc_zvoyg_col TRANSPORTING
              screen-intensified WHERE screen-name = screen-name.
            endif.
          endloop.
        endif.
      endloop.
    And also the following code which makes no change ...
      LOOP AT G_TC_ZVOYG_BINS_ITAB
               INTO G_TC_ZVOYG_BINS_WA.
        if G_TC_ZVOYG_BINS_WA-zdelivery_bin ne G_TC_ZVOYG_BINS_WA-zactual_bin.
          loop at screen.
            IF screen-name = 'ZVOYG_BINS-ZACTUAL_BIN'.
              screen-intensified = '1'.
              modify screen.
            endif.
          endloop.
        endif.
      endloop.
    Thanks in advance.

    Hi,
    The modification of a screen element attribute (LOOP AT SCREEN...MODIFY SCREEN) must always be done in the PBO (for a dynpro, it will be in a PBO module, i.e. declared by MODULE ... OUTPUT)
    About the loop at the internal table, it is done automatically by the system, also during the PBO, you'll find something like LOOP [AT itab] ... WITH CONTROL ...  in the PBO part of the screen flow logic (note: you may have to complete with a supplementary READ TABLE if you don't use AT itab). So you don't need an additional loop.
    Best regards
    Sandra

  • How to call pl/sql function from element values

    EBS 11.5.10.2
    XMLP 5.6.3
    Hello,
    I noticed that the output of the rdf-to-data template conversion process makes use of an undocumented feature of data templates, and I would like to get input from experts as to which situations this feature is usable.
    The closest thing I can find in the documentation is a sample in the user guide. There is a "General Ledger Journals Data Template Example" that has a <dataStructure> section that contains <element> nodes which are NOT children of a <group> node. I can't find any explanation of this in the user guide.
    I've noticed from converted templates that in these un-grouped elements you can make calls to PL/SQL functions in the "value" attribute, like this:
    <dataStructure>
      <group name="G_LINES" source="Q_MAIN">
        <element name="Line_Num"           value="Line_Num"/>
      </group>
      <element name="C_CALCULATED_VALUE" dataType="number" value="XX_CUSTOMPROCS.SOME_FUNCTION"/>
    </dataStructure>Has anyone had any success being able to call PL/SQL functions from grouped elements? Whenever I try, it doesn't seem to work.
    When I try something like this:
    <dataStructure>
      <group name="G_LINES" source="Q_MAIN">
        <element name="Line_Num"           value="Line_Num"/>
        <element name="some_calculation"   value="XX_CUSTOMPROCS.SOME_FUNCTION"/>
        <element name="some_calculation_b" value="XX_CUSTOMPROCS.SOME_FUNCTION_B(:Line_Num)"/>
      </group>
      <element name="C_CALCULATED_VALUE" dataType="number" value="XX_CUSTOMPROCS.SOME_FUNCTION"/>
    </dataStructure>The <SOME_CALCULATION/> and <SOME_CALCULATION_B/> nodes come out empty in the output data xml file, but <C_CALCULATED_VALUE> would have a value as desired.

    ah - perfect. That makes sense. Thank you for the response!
    But what about when we need to pass parameters to those functions whos values are the results of aggregate element values?
    This happens a lot in the converted data templates, where pl/sql package functions are meant to replace formula columns from the original Oracle Report. Take this example from the conversion of ARXAGMW.rdf (Aging Report, 7 Buckets):
    (note the function call in the value of "Set_Percent_Inv_Inv" is using aggregate results from subgroups)
      <group name="G_INV_INV" dataType="varchar2" source="Q_Invoice">
        <element name="Total_Inv_Inv_Amt" function="sum" dataType="number" value="G_Invoice.C_Amt_Due_Rem_Inv"/>
        <element name="Total_Inv_Inv_B0" function="sum" dataType="number" value="G_Invoice.C_Inv_B0"/>
        <element name="Total_Inv_Inv_B1" function="sum" dataType="number" value="G_Invoice.C_Inv_B1"/>
        <element name="Total_Inv_Inv_B2" function="sum" dataType="number" value="G_Invoice.C_Inv_B2"/>
        <element name="Total_Inv_Inv_B3" function="sum" dataType="number" value="G_Invoice.C_Inv_B3"/>
        <element name="Total_Inv_Inv_B4" function="sum" dataType="number" value="G_Invoice.C_Inv_B4"/>
        <element name="Total_Inv_Inv_B5" function="sum" dataType="number" value="G_Invoice.C_Inv_B5"/>
        <element name="Total_Inv_Inv_B6" function="sum" dataType="number" value="G_Invoice.C_Inv_B6"/>
        <element name="Set_Percent_Inv_Inv"  dataType="number"  value="XX_CUSTOMPROCS.XXC_ARXAGMW.set_percent_inv_invformula(:Total_Inv_Inv_Amt, :Total_Inv_Inv_B0, :Total_Inv_Inv_B1, :Total_Inv_Inv_B2, :Total_Inv_Inv_B3, :Total_Inv_Inv_B4, :Total_Inv_Inv_B5, :Total_Inv_Inv_B6)"/>
        <element name="Sum_Percent_B0_Inv" dataType="number" value="XX_CUSTOMPROCS.XXC_ARXAGMW.Sum_Percent_B0_Inv_p"/>
        <element name="Sum_Percent_B1_Inv" dataType="number" value="XX_CUSTOMPROCS.XXC_ARXAGMW.Sum_Percent_B1_Inv_p"/>
        <element name="Sum_Percent_B2_Inv" dataType="number" value="XX_CUSTOMPROCS.XXC_ARXAGMW.Sum_Percent_B2_Inv_p"/>
        <element name="Sum_Percent_B3_Inv" dataType="number" value="XX_CUSTOMPROCS.XXC_ARXAGMW.Sum_Percent_B3_Inv_p"/>
        <element name="Sum_Percent_B4_Inv" dataType="number" value="XX_CUSTOMPROCS.XXC_ARXAGMW.Sum_Percent_B4_Inv_p"/>
        <element name="Sum_Percent_B5_Inv" dataType="number" value="XX_CUSTOMPROCS.XXC_ARXAGMW.Sum_Percent_B5_Inv_p"/>
        <element name="Sum_Percent_B6_Inv" dataType="number" value="XX_CUSTOMPROCS.XXC_ARXAGMW.Sum_Percent_B6_Inv_p"/>
        <group name="G_Cust_Inv" dataType="varchar2" source="Q_Invoice">
          <group name="G_Site_Inv" dataType="varchar2" source="Q_Invoice">
            <group name="G_1" dataType="varchar2" source="Q_Invoice">
              <group name="G_Invoice" dataType="varchar2" source="Q_Invoice">
                <element name="C_Amt_Due_Rem_Inv" dataType="number" value="C_Amt_Due_Rem_Inv"/>
                <element name="C_Inv_B0" dataType="number" value="C_Inv_B0"/>
                <element name="C_Inv_B1" dataType="number" value="C_Inv_B1"/>
                <element name="C_Inv_B2" dataType="number" value="C_Inv_B2"/>
                <element name="C_Inv_B3" dataType="number" value="C_Inv_B3"/>
                <element name="C_Inv_B4" dataType="number" value="C_Inv_B4"/>
                <element name="C_Inv_B5" dataType="number" value="C_Inv_B5"/>
                <element name="C_Inv_B6" dataType="number" value="C_Inv_B6"/>
              </group>
            </group>
          </group>
        </group>
      </group>
      ...All of these groups and sub-groups are based on one single query, so I am not sure how I would move the function call into the query without changing the results of the function.
    In the example above, elements Sum_Percent_B0_Inv through Sum_Percent_B6_Inv grab the results of the calculation done in set_percent_inv_invformula. Here is the essence of that function:
      sum_percent_b0_inv := ROUND ((total_inv_inv_b0 / total_inv_inv_amt) * 100, 2);
      sum_percent_b1_inv := ROUND ((total_inv_inv_b1 / total_inv_inv_amt) * 100, 2);
      sum_percent_b2_inv := ROUND ((total_inv_inv_b2 / total_inv_inv_amt) * 100, 2);
      sum_percent_b3_inv := ROUND ((total_inv_inv_b3 / total_inv_inv_amt) * 100, 2);
      sum_percent_b4_inv := ROUND ((total_inv_inv_b4 / total_inv_inv_amt) * 100, 2);
      sum_percent_b5_inv := ROUND ((total_inv_inv_b5 / total_inv_inv_amt) * 100, 2);
      sum_percent_b6_inv := ROUND ((total_inv_inv_b6 / total_inv_inv_amt) * 100, 2);The only solution I can think of is to have separate queries, one for each subgroup, that do the "sum" in sql; but that seems terribly inefficient.

  • How can I get the element value with namespace?

    I tried to get a element value in xml has namespace but i can't.
    I removed the namespace, i can get a element value.
    How can i get a element value with namespace?
    --1. Error ----------- xml ------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    *<TaxInvoice xmlns="urn:kr:or:kec:standard:Tax:ReusableAggregateBusinessInformation:1:0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:kr:or:kec:standard:Tax:ReusableAggregateBusinessInformation:1:0 http://www.kec.or.kr/standard/Tax/TaxInvoiceSchemaModule_1.0.xsd">*
    <ExchangedDocument>
    <IssueDateTime>20110810133213</IssueDateTime>
    <ReferencedDocument>
    <ID>318701-0002</ID>
    </ReferencedDocument>
    </ExchangedDocument>
    <TaxInvoiceDocument>
    <IssueID>201106294100</IssueID>
    <TypeCode>0101</TypeCode>
    <IssueDateTime>20110810</IssueDateTime>
    <PurposeCode>02</PurposeCode>
    </TaxInvoiceDocument>
    <TaxInvoiceTradeLineItem>
    <SequenceNumeric>1</SequenceNumeric>
    <InvoiceAmount>200000000</InvoiceAmount>
    <TotalTax>
    <CalculatedAmount>20000000</CalculatedAmount>
    </TotalTax>
    </TaxInvoiceTradeLineItem>
    </TaxInvoice>
    --2. sucess ----------- xml ---------remove namespace---------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <TaxInvoice>
    <ExchangedDocument>
    <IssueDateTime>20110810133213</IssueDateTime>
    <ReferencedDocument>
    <ID>318701-0002</ID>
    </ReferencedDocument>
    </ExchangedDocument>
    <TaxInvoiceDocument>
    <IssueID>201106294100</IssueID>
    <TypeCode>0101</TypeCode>
    <IssueDateTime>20110810</IssueDateTime>
    <PurposeCode>02</PurposeCode>
    </TaxInvoiceDocument>
    <TaxInvoiceTradeLineItem>
    <SequenceNumeric>1</SequenceNumeric>
    <InvoiceAmount>200000000</InvoiceAmount>
    <TotalTax>
    <CalculatedAmount>20000000</CalculatedAmount>
    </TotalTax>
    </TaxInvoiceTradeLineItem>
    </TaxInvoice>
    ---------- program ------------
    procedure insert_table
    l_clob clob,
    wellformed out boolean,
    error out varchar2
    is
    l_parser dbms_xmlparser.Parser;
    xmldoc xmldom.domdocument;
    l_doc dbms_xmldom.DOMDocument;
    l_nl dbms_xmldom.DOMNodeList;
    l_n dbms_xmldom.DOMNode;
    l_root DBMS_XMLDOM.domelement;
    l_node DBMS_XMLDOM.domnode;
    l_node2 DBMS_XMLDOM.domnode;
    l_text DBMS_XMLDOM.DOMTEXT;
    buf VARCHAR2(30000);
    xmlparseerror exception;
    TYPE tab_type is Table of xml_upload%ROWTYPE;
    t_tab tab_type := tab_type();
    pragma exception_init(xmlparseerror, -20100);
    l_node_name varchar2(300);
    begin
    l_parser := dbms_xmlparser.newParser;
    l_doc := DBMS_XMLDOM.newdomdocument;
    dbms_xmlparser.parseClob(l_parser, l_clob);
    l_doc := dbms_xmlparser.getDocument(l_parser);
    l_n := dbms_xmldom.makeNode(l_doc);
    l_nl := dbms_xslprocessor.selectNodes(l_n, '/TaxInvoice/TaxInvoiceDocument');
    FOR cur_tax In 0..dbms_xmldom.getLength(l_nl) - 1 LOOP
    l_n := dbms_xmldom.item(l_nl, cur_tax);
    t_tab.extend;
    t_tab(t_tab.last).ed_id := '5000000';
    dbms_xslprocessor.valueOf(l_n, 'IssueID/text()', t_tab(t_tab.last).tid_issue_id);
    dbms_xslprocessor.valueOf(l_n, 'TypeCode/text()', t_tab(t_tab.last).tid_type_code);
    END LOOP;
    FORALL i IN t_tab.first .. t_tab.last
    INSERT INTO xml_upload VALUES t_tab(i);
    COMMIT;
    dbms_xmldom.freeDocument(l_doc);
    wellformed := true;
    exception
    when xmlparseerror then
    --xmlparser.freeparser(l_parser);
    wellformed := false;
    error := sqlerrm;
    end insert_table;

    l_nl := dbms_xslprocessor.selectNodes(l_n, '/TaxInvoice/TaxInvoiceDocument');try to change as follow
    l_nl := dbms_xslprocessor.selectnodes(l_n,'/TaxInvoice/TaxInvoiceDocument','xmlns="urn:kr:or:kec:standard:Tax:ReusableAggregateBusinessInformation:1:0"');Edited by: AlexAnd on Aug 17, 2011 12:36 AM

  • Change the Condition base value in a Condition type.

    Hi Experts,
    I have a problem because I need to change the condition base value for a condition type. This condition base is calculated as a result of other condition types in the list of pricing Elements. I would need to change the base in order to solve the problem.
    Thank you and best regards.

    Hi Alberto
    if i get it correctly , this is your scenario
    condition 1--- price x
    condition 1--- price Y
    condition 1--- price z
    now you want a fourth conddition with base value total of the above 3
    if so , you maybe define all the above 3 as statistical ,
    in another row , create a total of the above 3,
    assign a sub total this ,
    create new conditon type and in its alt base value , give the formalue for the sub total
    for eg 5 for sub toal 1, 6 for sub total 2
    and then you would get the right base value
    Hope this helps
    Thanks
    Akasha

  • How to change the screen element to be ineditable in Dynpro POV

    Hi Experts,  any one has experience on how to change the screen element to be ineditable in Dynpro POV?

    Write this piece of code in the PROCESS ON VALUE-REQUEST..
    PROCESS ON VALUE-REQUEST.
    FIELD MARA-MATNR MODULE matnr_mod.
    MODULE matnr_mod input.
    LOOP at Screen.
    if screen-name=<field_name>.
      screen-input = 0.
      modify screen.
    endif.
    ENDLOOP.
    ENDMODULE.
    Thanks
    Venkat.O

  • Directing workflow transition based on form element value

    Question 1
    =======
    How can workflow change values in a form element?
    Example: We have an expense aproval form.
    If the form transits from state ManagerA to state Reject, I want the form element Rejected by: to be automaticaly set to value ManageA.
    How ho achieve this?
    Question 2:
    ========
    How can a workflow read a form element and based on the element value automatically transit to other state?
    Example: An expense aproval form is in state ManagerA.
    If a user set the form element Rejected by manually to the value ManagerA, I want the form to be automatically transited from state ManagerA to state Rejected.
    How ho achieve this?

    Originally Posted by dangross
    Answer to question 2 is: Add a transition of type "Transition on Entry Data Value" and configure it accordingly.
    Dangross, thanks for the reply. Yeah, that Transition on Entry Data Value will do the job.

  • Pass Container Element Value Dynamically

    Hi Experts,
    We are facing an issue with Workflows. Whenever I restart a WF that has already ended up in Error, I need to pass it Certain Container Element Values Dynamically as it restarts the same WF again with the same Container values and it again ends up in Error. Is it possible that I can change these values during Runtime.
    I have searched few SAPNotes also but could not find some Solution. Is anyone has worked on this Scenario before please respond.
    Is this Possible.. Because this is the only way how we can allow that background Process to work.
    Regards,
    Kanika

    hi,
    >In SWIA select a work item that will prompts you to next window.
    >In the next window select technical details -> that will opens other window
    This works fine.
    >in that window select edit -> change
    that will display some containers like
    Logically delete
    change container
    deadline monitoring
    This is not happening... Unable to fins anything known as "Edit/Change"..
    Hope i could attach screen-shots...to know where im missing this link
    regards,
    kanika

  • Broken cluster elements

    Sometimes when I load my rather large Main VI it comes up "broken arrow" even after saving it after correcting the errors. I usually have to go 3 or 4 subvi's and relink broken cluster elements. The elements are there, and there may be a dozen broken wires to or from the cluster, but once I reselect the first element all the others relink and it's fine. Its always the same clusters in the same vi's. If I save it and reload, sometimes it comes back OK but sometimes it comes back broken and I have to relink the cluster elements. This is very strange. Has anyone else seen this?
    Paul
    7.1.1/XP
    PaulG.
    "I enjoy talking to you. Your mind appeals to me. It resembles my own mind except that you happen to be insane." -- George Orwell

    I don't have any good reasons why your cluster elements would become broken, but I do have a suggestion.  The rule that I follow is that if I am going to be using a cluster in more than two places I will go ahead and create a type def. for it.  This would make it easier for you to add to the cluster in one place and have it update everywhere, and it should help with these linking errors.  If your cluster is a constant, a quick trick is to change it to a control, create a type def. for it.  Once you have replace the cluster control with the type def., change it back to a constant. 
    Hope this helps!
    Andy F.
    National Instruments

  • Change to Cluster

    Select the Controls or Constants and Select Change to Cluster to make it a cluster of selected elements.

     Duplicate of http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Create-cluster-out-of-selection/idi-p/2849900

Maybe you are looking for