Event dead loop in updating column value of a matrix

Hi,
I need to do some auto calculation in a matrix. In my matrix, i have column A and B. If user enter a value in column A and leave the column then my add-on will do some calculation and assign a new value to column B, same thing on column B. In my event filtering, i use
"pVal.FormType == xxx && pVal.ItemUID == "xx" && pVal.ColUID == "U_xx" && pVal.EventType == SAPbouiCOM.BoEventTypes.et_LOST_FOCUS && !pVal.BeforeAction"
to capture the event. But then my add-on enter into a dead loop. It seems when i write a value to column B in column A event it will trigger LOST_FOCUS event in column B and then it trigger same event of column A, and then it enters into a dead loop. In SAP B1 client, i can see the two columns start refreshing endlessly.
Apparently, when assigning a value into a column B during event of column A, it will trigger LOST_FOCUS event of column B. That's the only reason i strongly suspect that.  Is there any one know the solution for my situation?
Thanks,
Lan
P.S. i first get the object of the textbox in the matrix, and use "oEditText.value = new_value" to assign the value.
Edited by: ZHANGLAN on Jul 8, 2010 2:26 AM

Hi
Why didn't you try the Validate event instead of Lost focus. That is pretty easy for such calculations.
"pVal.FormType == xxx && pVal.ItemUID == "xx" && pVal.ColUID == "U_xx" && pVal.EventType == SAPbouiCOM.BoEventTypes.et_Validate && !pVal.BeforeAction"
Thanks
Anoop

Similar Messages

  • Update Column value after current item is Approved and then publish major version using Sharepoint 2013 designer workflow

    Hi,
    We have a requirement to update a column value once the item has been approved.
    Following settings have been made in the publishing articles list:
    Require content approval for submitted items : yes
    Create major and minor (draft) versions
    Who should see draft items in this document library? :Only users who can edit items
    Require documents to be checked out before they can be edited? : yes
    I have createdatu a Sharepoint 2013 workflow to check if Approval sts of current item = 0 i.e. Approved , then check out and update the item and finally checkin the item. Everything works fine till this point except that the minor version of the item is
    checked in. Due to this the updated columns are not published to others.
    Also, I created a Sharepoint 2010 workflow to SET CONTENT APPROVAL = APPROVED and started this workflow from my list workflow above, but the item does not get checked-in and always shows "In Progress" status with comment "The item is currently
    locked for editing. Waiting for item to be checked in or for the lock to be released.".
    Please let me know where I am missing out so that once the item is approved, column value gets updated and current item is still in Approved status.
    Thanks

    Hi,
    According to your post, my understanding is that you want to update Column value after current item is Approved and then publish major version using Sharepoint 2013 designer workflow.
    You will get into this kind of Catch-22 situation trying to set the Content Approval Status in SharePoint Designer workflow:
    - You must check out the document before you can change the Content Approval Status
             - You can't change the Content Approval Status once the document in checked out
    Since you set the Require documents to be checked out before they can be edited=Yes, you will need to check out the document when run the workflow on the item. But you cannot approve a document when it is checked
    out. So the logic in workflow conflicts.
    As a workaround, you can use the Start Another Workflow action to start the normal Approval workflow on the document.  The built-in Approval workflow can work with a document that’s not checked out.
    The designer approval workflow also can work with a document that’s not checked out.
    You can create two workflow using SharePoint Designer 2013.
    First, create a SharePoint 2010 platform workflow.
    Then, create a SharePoint 2013 platform workflow.
    Then when the SharePoint 2013 platform workflow start, it will start the SharePoint 2010 platform workflow to set content approval status, then the SharePoint 2013 platform workflow will update current item value.
    More information:
    SharePoint Designer Workflow Content Approval Issue
    SharePoint 2010 Approval Workflow with Content Approval
    Best Regards,
    Linda Li
    Linda Li
    TechNet Community Support

  • How to get fourthly row (row4) first column value (col1) in matrix

    Hi to all,
    In FMS, how to get fourthly row (row4) first column value (col1) in matrix in document.
    select $[$38.1.4]
    But it display the first row
    Please give me hint.
    Thank you

    Hi Eric,
    FMS may only apply to current row.  There is no way to get any other fixed row.
    Thanks,
    Gordon

  • SSRS - Expression to color column value dynamically in Matrix

    Hi ,
    I have a matrix which looks like :
    The <<Expr>> value can be 1 /0 /"-" .
    The Expr value is being calculated dynamically.
    The data set query I am using has a column called due_days.
    In the color expression of the <<Exp>> box I am using the expression as :
    =IIf(Fields!Due_Days.Value>14  and Fields!Notes_Count.Value>0,"Blue",(Iif(Sum(Fields!Notes_Count.Value)=0 ,"Red","Black")))
    My requirement is if the Due_Days column value is >14 then I need to highlight the value as blue else black and if value is 0 then red. When I use the above query it is just highlighting the color blue for 1st column only. Eg: 4th row . Due days for month
    of Oct and Nov is > 14 but it shows blue only for month of oct.
    How can i resolve the issue?

    In select query i have 5 columns:
    Due days(Which is difference between 2 dates) ,
    Notes count (Which is just a count of notes  entered or not having value 0/1  and value '-' if another column CRD is greater than the matrix month and year.)Eg: below date 11/12/2014 is greater than Oct 2014 hence Oct 2014 should have "-"
    Month Name , Year , Month Nbr (last 6 months which I cross joined with the table to get counts for each month)
    The matrix has year and last 6 month  as column groups
    Color coding should be if notes count is 0 then red  ,if notes count is 1 and due_days> 14 then blue else black . When i try to use expression for color as i mentioned above, it colors only 1st colum.eg:  2nd row
    Nov 2014 is blue but for jan 2014 also it should show blue as due days>14 .
    Is there any way i can do that ??
    Eg: data set returns value as :
    Due Days        CRD                              Month         
    Month_Nbr    Year   Notes _Count
    5             2014-11-28 00:00:00.000    December          12         2014       
    0
    5               2014-11-28 00:00:00.000    February           2         2015        
    0
    5             2014-11-28 00:00:00.000    January              1           2015      
    0
    5            2014-11-28 00:00:00.000    November          11          2014       1
    5            2014-11-28 00:00:00.000    October              10          2014        0
    5            2014-11-28 00:00:00.000    September          9           2014         0
    Matrix is of the form :
                  YEAR
                  MONTH
    CRD        Notes_count

  • How to Set column value in SO matrix , if the column is not visible.

    Hi,
    We are trying to set value in to a column from sales order matrix with the below mentioned code
    ((SAPbouiCOM.EditText)oMat.Columns.Item("U_TWBS_AC_BaseEntry").Cells.Item(pVal.Row).Specific).String
    it will throw an u201CForm Item is not editable u201C  error if the  column ("U_TWBS_AC_BaseEntry")  visible is set to false through form settings.
    how can we solve the issue,can we use any DI object in order to reset the form settings.
    Thanks & Regards

    Hi
    Try and make the column visible then set the value and make it invisible then
    Hope this helps
    Regards
    Vivek

  • How to update column values in a table where that column is referring to different tables

    i have a table Order it has columns
    OrderID, Name, Total
    1            trade   value populated from i.e. tradeorder table
    2            fixed   value is populated from fixedorder table
    3            annual  value populated from another table
    I m thinking of creating function for every order id to call those tables..
    and there are many insertions taking place in order table ,,at the moment its 20 rows ..
    kindly provide your suggestions

    You can group rows in order table and update the set of row from the specific table. For instance
    UPDATE [ORDER] SET [TOTAL]=B.[TOTAL] FROM [ORDER] A INNER JOIN [TRADEORDER] B ON A.ORDERID=B.ORDERID WHERE A.NAME='TRADE'
    UPDATE [ORDER] SET [TOTAL]=B.[TOTAL] FROM [ORDER] A INNER JOIN [FIXEDORDER] B ON A.ORDERID=B.ORDERID WHERE A.NAME='FIXED'
    UPDATE [ORDER] SET [TOTAL]=B.[TOTAL] FROM [ORDER] A INNER JOIN [ANOTHERTABLE] B ON A.ORDERID=B.ORDERID WHERE A.NAME='ANNUAL'
    Regards, RSingh

  • How to update column value dynamically

    Hi All,
    I have created a simple mapping and selected insert/update on target table. In target table there is one column record_type which will hold either 'NEW' (if new record is inserting) or 'UPDATED'(if existing record is updating) value. Please let me know how can I do this using OWB PL/SQL map?
    Thanks
    Bhushan

    Hi Sanjaya,
    Thank you for your reply.
    I like your approch but i think there is need to pass 'UPDATED' when intersect is being used and 'NEW' when minus is being used.
    I have developed an OWB map as mentioned in below steps.
    1. Chose source (TableA) and target (TableB) as source using table operator.
    2. Joined TableA to TableB on col1 using left outer join using joined operator.
    3. In expression operator I have calculated value for TableB.col3 using below logic.
    CASE WHEN TableB.col1 IS NULL THEN 'NEW' ELSE 'UPDATED' END
    4. Mapped columns from expression operator to target table.
    I would like to know you comments on above approch. My OWB map has generated below merge statement.
    MERGE INTO TableB
    USING(SELECT MERGESQL.col1,MERGESQL.col2, CASE WHEN MERGESQL.col3 is null then 'NEW' else 'UPDATED' END col3
    FROM (SELECT TableA.col1, TableA.col2,TableB.col1 AS col3
    FROM TableA
    LEFT OUTER JOIN TableB
    ON (TableA.col1 = TableB.col1)) MERGESQL
    ON (col1 = MERGESQL.col1)
    WHEN NOT MATCHED THEN INSERT(col1,col2,col3) VALUES(MERGESQL.col1,MERGESQL.col2,MERGESQL.col3)
    WHEN MATCHED THEN
    UPDATE SET col2 = MERGESQL.col2,
    col3 = MERGESQL.col3;

  • How to update Column value in a list using powershell.

    Hi All,
    I am trying to copy value of One column to another column in same list. I am using SPSiteDataQuery for this. I am using following power shell script.
    if ((Get-PSSnapin -Name Microsoft.SharePoint.Powershell -ErrorAction SilentlyContinue) -eq $null )
        Add-PSSnapin Microsoft.SharePoint.Powershell
     $CopyFromColumnName1 = "Section-1 Summary" #column copy source 1
     $CopyToColumnName1 = "RichTextBoxControl"  #destination column 1
    $siteCollectionUrl = http://someURL
    $site =new-object Microsoft.SharePoint.SPSite($siteCollectionUrl)
    $query = new-object Microsoft.SharePoint.SPSiteDataQuery
    $query.ViewFields = "<FieldRef Name='Title' /><FieldRef Name='PublishingPageLayout' /><FieldRef Name='FileLeafRef' /><FieldRef Name='RTC' /><FieldRef Name='SummaryOne' />";
    $query.Webs = "<Webs Scope='SiteCollection'>"
    $query.Lists = "<Lists ServerTemplate='850'/>"
    $query.Query = "<Where>
                        <Contains>
                            <FieldRef Name='PublishingPageLayout' />
                            <Value Type='URL'>SomePageLayout</Value>
                        </Contains>
                    </Where>"
    $spListItems = $site.rootweb.GetSiteData($query)
    #Write-Host $spListItems
    foreach($row in $spListItems.Rows)
      $row.RTC = $row.SummaryOne
      write-Host $row.RTC
      $childWeb.Dispose()
    $site.Dispose()
    Here the column RTC is not updating on executing the script. I want to copy data from "SummaryOne" to "RTC" column.
    Please assist me with this issue.
    amol

    Hi Bruno,
    Thanks for reply I use following script and it is working for me.
    if ((Get-PSSnapin
    -Name Microsoft.SharePoint.Powershell
    -ErrorAction SilentlyContinue)
    -eq $null )
    Add-PSSnapin
    Microsoft.SharePoint.Powershell
    #Use the Display Names
    $webApplicationURL
    = Read-Host
    'Provide Site collection/Contnt HUB URL'
    $webApp
    = Get-SPWebApplication
    $webApplicationURL
    $CopyFromColumnName1
    = "colName"
    #column copy source 1
    $CopyToColumnName1
    = "coltoCopyVal" 
    #destination column 1
    if($webApp
    -ne $null)
    foreach($siteCollectionUrl
    in $webApp.Sites)
    $site =new-object
    Microsoft.SharePoint.SPSite($siteCollectionUrl.Url)
    $query =
    new-object Microsoft.SharePoint.SPSiteDataQuery
    $query.ViewFields
    = "<FieldRef Name='Title' /><FieldRef Name='PublishingPageLayout' /><FieldRef Name='FileLeafRef' /><FieldRef Name='RTC' /><FieldRef Name=’Name’ />";
    $query.Webs
    = "<Webs Scope='SiteCollection'>"
    $query.Lists
    = "<Lists ServerTemplate='850'/>"
    $query.Query
    = "<Where>
    <Contains>
           <FieldRef Name='PublishingPageLayout' />
    <Value Type='URL'>PageLayout</Value>
    </Contains>
    </Where>"
    $spListItems
    = $site.rootweb.GetSiteData($query)
    #Write-Host $spListItems
    foreach($row
    in $spListItems.Rows)
    $listId
    = $row["ListId"]
    $webId =
    $row["WebId"]
    $childWeb
    = $site.OpenWeb([GUID]($webId))
    $pagesList
    = $childWeb.Lists[[GUID]($listId)];
    $itemUrl
    = $childWeb.Url
    + "/"
    + $pagesList.RootFolder.Url
    + "/"
    + $row['FileLeafRef'].Split(';#')[2]
    $listItme
    = $pagesList.GetItemById($row.ID)
    $listItme['RTC']
    = $listItme[Name']
    [Microsoft.SharePoint.SPSecurity]::RunWithElevatedPrivileges({
    $listItme.SystemUpdate()
    $childWeb.Dispose()
    $site.Dispose()
    else
    Echo $webApplicationURL
    "does not exist, check the WebApplication name"
    Regards
    Amol
    amol

  • How to fill column value of a matrix with specific color when there is no value in that specific cell?

    Hi All,
    I need to create a 5/5  matrix in SSRS report. The data will be :
    Col_Side   Col_Header   Col_data
    1                  1                1
    1                  1                 1
    1                  2                1
    1                  5                1
    1                  5                1
    1                  5                1
    2                  3                1
    2                  5                1
    3                  1                2
    3                  1                2
    3                  1                2
    4                   2               1
    4                   4               1
    5                   1               1
    5                   1               1
    5                   5               1
    So, the matrix column will be Col_Header and matrix row will be Col_Side and count(Col_data) will be on the data.
    Finally, it will create a 5 by 5 matrix with Count(Col_data) as its data for each combinations. If there is no combination (for ex: in the above data we do not have no combination of (1,3) , (1,4) , (2,1) etc..) then the matrix will be filling that corresponding
    cell with zero.
    Here I need to fill the cells with some colors based on some criteria.
    I need to fill (5,3), (5,4), (5,5) combination with "Red" color.  Like this , I need to give different colors in each of the cells. Here, (5,5) combination will be having 1 in its cell.  (5,4) and (5,3) will be having zero in its corresponding
    cells. I 'm trying to fill all the 3 cells with "Red" color. But, I am able to fill only (5,5) with "Red" color. Since the other 2 cells (5,3) and (5,4), has zero in their cells, it will not fill the cells with "Red" color. 
    How can I fill those two cells (5,3) and (5,4) with red color?
    I know this is very vague. I have no option to give the picture here..
    Please suggest

    Hi Julie,
    According to your description, there is a 5/5 matrix with three fields: Col_Side, Col_Header, Col_data. You drag Col_Side field to Rows, Col_Header to Columns and Col_data to Data, then filling blank cells with zero using expression. Now you want to fill 
    (5,3), (5,4), (5,5) cells with red color using expression, but it has no effect on cells (5,3) and (5,4).
    According to my test, the expression has on effect on cells (5,3) and (5,4) since there is no corresponding data and the cells are blank. As a workaround, we can insert data for cells (5,3) and (5,4) in dataset, then use expression by following steps:
    In the dataset, insert two sets of data (5,3,0), (5,4,0).
    Right-click the cell of data, click Text Box Properties.
    Click Fill in left pane, click (fx) button, then type the expression like below, then click OK.
    =iif(Fields!Col_Side.Value=5 and Fields!Col_Header.Value >=3 ,"red","white" )
    The following screenshot is for your reference:
    If you have any more questions, please feel free to ask.
    Thanks,
    Wendy Fu

  • Update column data to Upper Case in parent and child table

    Hi ,
    I am facing issue while updating column value to upper case in parent table and child table. How can i do that ?
    when updating parent row:
    ORA-02292: integrity constraint (XXXXXXXXXXXXXX_FK) violated - child record found
    When updatng corresponding child row:
    ORA-02291: integrity constraint (XXXXXXXXXXXXXXXX_FK) violated - parent key not found
    how can i update on both the places ?
    Regards,
    AA

    I am facing issue while updating column value to upper case in parent table and child table. How can i do that ?
    Why do you need to do that?
    That is just ONE of several questions you should answer before you start modifying your data.
    1. What is your 4 digit Oracle version? (result of SELECT * FROM V$VERSION)
    2. If both values are the same case what difference does it make what that case is?hen you don't need to alter your original data.
    3. What is the source of the column values you are using now? If you change your data to upper case it will no longer be identical to the source data.
    4. What is your plan for enforcing future values to be stored in UPPER case? Are you going to use a trigger? Have you written and tested such a trigger to see if it will even work the way you expect?
    5. Why aren't you using a surrogate key instead of a 'business' data item? You have just demonstrated one reason why surrogate keys can be useful: their actual value is NOT important.
    You should reexamine your problem and architecture and consider other alternatives.
    One alternative is to add a new 'surrogate key' column to use as the primary key. Just create a new sequence and use a trigger to populate the new column. Your current plans will require a trigger to perform the case conversion so instead of the just use the trigger to provide the value.
    If the change is being done to facilitate searching you could just add a VIRTUAL column UPPER_MY_COLUMN and index that instead. Then you could search on that new virtual column and the data values would still be identical to the original data source.

  • Get OLD&NEW value of an UPDATED column selected dynamically in a Trigger

    Hi All,
    I am writting a trigger which take column name dynamically. And on the basis of that column it should give me old value as well as updated value of a column corresponding to a modified row.
    OOO_SCHEDULE is my table name;
    Note: This is only for test so I am writting only for update not for insert and delete.
    create or replace trigger "OOO_SCHEDULE_AUDIT"
    BEFORE
    insert or update or delete on "OOO_SCHEDULE"
    for each row
    begin
    DECLARE
    v_username varchar2(30);
    AUDIT_EMP_ID varchar2(30);
    AUDIT_EMP_ID_NEW varchar2(30);
    v_Column_name VARCHAR(30);
    v_stmt1 VARCHAR(40);
    v_stmt2 VARCHAR(40);
    CURSOR C1 is
    select COLUMN_NAME from user_tab_columns where table_name='OOO_SCHEDULE';
    BEGIN
    OPEN c1;
    LOOP
    FETCH c1 into v_Column_name;
    EXIT WHEN c1%NOTFOUND;
    v_stmt1:=('OLD.'||v_Column_name);
    v_stmt2:=('NEW.'||v_Column_name);
    AUDIT_EMP_ID:=v_stmt1;
    AUDIT_EMP_ID_NEW:=v_stmt2;
    INSERT INTO TEMPTEST VALUES(v_stmt1);
    INSERT INTO TEMPTEST VALUES(AUDIT_EMP_ID);
    END LOOP;
    CLOSE c1;
    END;
    end;
    Suppose OOO_EMP_NAME is the column name where user made the change.
    If i do like this..
    AUDIT_EMP_ID:=OLD.OOO_EMP_NAME;
    AUDIT_EMP_ID_NEW:=NEW.OOO_EMP_NAME;
    Then it is working fine because I have given column name statically. But I want the column name to be selected dynamically and I am able to do it through cursor. Also I am able to fetch all column names in v_Column_name variable one by one dyanamically for the cursor.
    But by executing these statements
    AUDIT_EMP_ID:=v_stmt1;
    AUDIT_EMP_ID_NEW:=v_stmt2;
    I am getting OLD.OOO_EMP_NAME and NEW.OOO_EMP_NAME rather then old and new values of the updated column.
    Please help me identifying the problem, where I am doing the mistake? What is the correct way to execute these statements? So that I can get old and new values of the column (updated column).
    I have tried it by passing in a procedure also but don't know how to execute this dynamic statement to get the old and new values.
    Thanks,
    Ishrat.

    In the given link, column name has been selected statically. But i want that column name should be selected daynamically throgh loop and then check the
    condition for any update corresponding to that column value. I don't want to write as many if condition as the no. of column name. I just want one if condition for all column namesDon't be lazy. Write all column names into your trigger. Or use a way to create the trigger "dynamically".
    What is the problem that you have with static column names? "I don't want to write many..." is not a problem, but an opinion.

  • Updating a managed metadata column from choice column value

    I am trying loop through
    all lists in a web, and for each list, 
    1. create a managed metadata column->Working
    2.
    Pull value from choice column->Working
    3. Move
    choice column value to managed metadata column->Not Working
    Point number 3 is not working. Please advise
    Here is the code:
    static void Main(string[] args)
    //Pulling the rootweb of the Site
    const string SPLocationListColumn = "CHECK6";
    SPSite site = new SPSite("http://sp2010:8080");
    SPWeb rootweb = site.RootWeb;
    //Setting up the taxonomy terstore, termset and term
    Microsoft.SharePoint.Taxonomy.TaxonomySession taxonomySession = new Microsoft.SharePoint.Taxonomy.TaxonomySession(site);
    TermStore termStore = taxonomySession.TermStores["Managed Metadata Service"];
    Console.WriteLine(termStore.Name);
    Group group = termStore.Groups["KM Metatags"];
    Console.WriteLine(group.Name);
    TermSet termSet = group.TermSets["Document Classification"];
    Guid termsetid = termSet.Id;
    Console.WriteLine(termSet.Name);
    Term term = termSet.Terms["Document subclassification"];
    TermCollection terms = termSet.Terms;
    Console.WriteLine(term.Name);//Looping through all webs of the input website
    SPWebCollection collWebsite = site.AllWebs;
    for (int i = 0; i < collWebsite.Count; i++)
    using (SPWeb oWebsite = collWebsite[i])
    //Looping through all lists in web
    SPListCollection collList = oWebsite.GetListsOfType(SPBaseType.DocumentLibrary); ;
    for (int j = 0; j < collList.Count; j++)
    SPList list = collList[j];//if the list name is Documents, create a new field of MMS type
    if (list.Title == "Documents")
    Console.WriteLine(list.Title);
    TaxonomyField field = list.Fields.CreateNewField("TaxonomyFieldType", SPLocationListColumn) as TaxonomyField;
    field.SspId = termSet.TermStore.Id;
    Console.WriteLine(termSet.TermStore.Id);
    field.TermSetId = termSet.Id;
    Console.WriteLine(termSet.Id);
    field.AnchorId = Guid.Empty;
    try
    {//Add the newly added MMS field to default view
    Console.WriteLine("Entering");
    Console.WriteLine("Entering");
    list.Fields.Add(field);
    Console.WriteLine("Entering");
    Console.WriteLine("Entering1");
    SPView view = list.DefaultView;
    Console.WriteLine("Entering2");
    list.Update();
    SPViewFieldCollection collViewFields = view.ViewFields;
    collViewFields.Add("CHECK6");
    Console.WriteLine("Entering3");
    view.Update();
    Console.WriteLine("Entering4");
    catch (Exception e1)
    Console.WriteLine(e1.Message);
    }//Capture a choice field by name subclass and move it to the newly added MMS field
    for (int f = 1; f < list.ItemCount; f++)
    if (list.Title == "Documents")
    Console.WriteLine(list.Title);
    SPListItem item = list.Items[f];
    if (item.Fields.ContainsField("subclass"))
    SPField field9 = item.Fields["subclass"];
    String subclassvalue = field9.GetFieldValueAsText(item["subclass"]);
    Console.WriteLine(subclassvalue);
    TaxonomyField taxonomyField = item.Fields["CHECK6"] as TaxonomyField;
    TaxonomyFieldValue taxonomyFieldValue = new TaxonomyFieldValue(taxonomyField);
    taxonomyFieldValue.TermGuid = term.Id.ToString();
    taxonomyFieldValue.Label = subclassvalue;
    taxonomyField.Update();
    item.Update();
    list.Update();

    From here:
    http://www.c-sharpcorner.com/uploadfile/anavijai/programmatically-set-value-to-the-taxonomy-field-in-sharepoint-2010/
    taxonomyFieldValue.TermGuid = term.Id.ToString();
    taxonomyFieldValue.Label = term.Name;
    SPListItem item = list.Items.Add();
    # item["Title"] ="Sample";
    item["TaxonomyField"] = taxonomyFieldValue;
    item.Update();
    list.Update();
    it appears you're missing the point where you assign that taxonomyFieldValue to the item's taxonomy field in question.

  • Retrieving column value from multiselect managed metadata column and updating metadat column in list.

    I have Library having metadata column when a document is uploaded i need update another list with metadata column of
    library in list.I have an event reciever to do that,Code is given below
    public override void ItemUpdated(SPItemEventProperties properties)
                base.ItemUpdated(properties);
                    SPList saList = properties.Web.Lists["mylist"];
                    SPListItem item = saList.AddItem();
                    item["Department"] = properties.ListItem["Department"].ToString();
                    EventFiringEnabled = false;
                    item.Update();
                    EventFiringEnabled = true;   
    my elements.xml file is as below
    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <Receivers ListUrl="Documents">
          <Receiver>
            <Name>DocumentItemUpdated</Name>
            <Type> ItemUpdated</Type>
            <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
            <Class>MyDocuments.Documents.Documents</Class>
            <SequenceNumber>10000</SequenceNumber>
          </Receiver>
      </Receivers>
    </Elements>
    but i did not see the the List column getting updated.But when i use the code to update a column of single line of text
    it works fine.But when i do it for multi select metadata column in debug mode i could see its giving null value even though Library had column value.
    Any pointers on how to update Multiselect metadata column programatically on itemeadding event in library to a list will
    be helpful.

    You need to use the TaxonomyFieldValueCollection class. The following code is from SP2010 but should still apply in SP2013. It is an example of updating multivalued taxonomy fields.
    public static void SetListItemMultiMetaDataColumn(Int32 id)
    using (SPSite site = new SPSite("http://basesmc2008"))
    using (SPWeb web = site.OpenWeb())
    TermSet termSet = null;
    TaxonomySession txs = new TaxonomySession(site);
    SPList list = web.Lists["Shared Documents"] as SPList;
    SPListItem item = list.GetItemById(id);
    TaxonomyField field = item.Fields["multimanage"] as TaxonomyField;
    if (field != null)
    termSet = txs.DefaultSiteCollectionTermStore.GetTermSet(field.TermSetId);
    Term term = termSet.GetTerms("sts", false).FirstOrDefault();
    if (field.AllowMultipleValues)
    TaxonomyFieldValueCollection currentCollection = item[field.Id] as TaxonomyFieldValueCollection;
    TaxonomyFieldValue tfv = new TaxonomyFieldValue(field);
    tfv.TermGuid = term.Id.ToString();
    tfv.Label = term.GetPath();
    tfv.WssId = TaxonomyField.GetWssIdsOfTerm(site, txs.DefaultSiteCollectionTermStore.Id, termSet.Id, term.Id, false, 1).First();
    currentCollection.Add(tfv);
    field.SetFieldValue(item, currentCollection);
    item.Update();
    Blog |SharePoint Field Notes Dev Tool |
    SPFastDeploy

  • How to Update some column values in some rows in an advanced table

    Hi Gurus,
    Can any body help on this issue.
    I am having a results table which is showing all the queried parties data queried in a seeded page in OCO module.
    Lets assume the table contains 10 rows with the below columns
    Party Name, Registry ID, Address Country, Match Percentage, Certification Level, Certification Reason, Internal Indicator, Status .
    Certification Level, Certification Reason and Internal Indicator are the dropdowns.
    The user want to update some of these fields values for some rows randomly.
    After doing this if he click on Save button, Only thosed changed rows need to get update using a Custom Procedure.
    But here all the rows irrespective of the change getting updated.
    So  how to capture the modified rows.
    Appreciate any inputs..
    Thanks
    Palepu
    Edited by: Palepu on 9 Aug, 2012 4:25 PM

    Not sure if you got the answer. You need to capture the row which got changed using the below and get the column value using the getAttribute method. This works for single selection row, if it is multi selection then you will have to loop through all selected rows and find the VO attribute value.
    String rowReference = pageContext.getParameter(OAWebBeanConstants.EVENT_SOURCE_ROW_REFERENCE);
    Row currentRow = am.findRowByRef(rowReference);
    String param1= (String)currentRow.getAttribute("VOAttribute");
    Let me know if there are any issues.
    Thanks
    Shree

  • Sir i am using datasocket read ,i am communicating with java but my problem is that bcz im using while loop to see if value has changed my labview consumes all the processors time ,sir i want a event like thing so that while loop is not in continuous loop

    sir i have given lot of effort but i am not able to solve my problem either with notifiers or with occurence fn,probably i do not know how to use these synchronisation tools.

    sir i am using datasocket read ,i am communicating with java but my problem is that bcz im using while loop to see if value has changed my labview consumes all the processors time ,sir i want a event like thing so that while loop is not in continuous loopHi Sam,
    I want to pass along a couple of tips that will get you more and better response on this list.
    1) There is an un-written rule that says more "stars" is better than just one star. Giving a one star rating will probably eliminate that responder from individuals that are willing to anser your question.
    2) If someone gives you an answer that meets your needs, reply to that answer and say that it worked.
    3) If someone suggests that you look at an example, DO IT! LV comes with a wonderful set of examples that demonstate almost all of the core functionality of LV. Familiarity with all of the LV examples will get you through about 80% of the Certified LabVIEW Developer exam.
    4) If you have a question first search the examples for something tha
    t may help you. If you can not find an example that is exactly what you want, find one that is close and post a question along the lines of "I want to do something similar to example X, how can I modify it to do Y".
    5) Some of the greatest LabVIEW minds offer there services and advice for free on this exchange. If you treat them good, they can get you through almost every challenge that can be encountered in LV.
    6) If English is not your native language, post your question in the language you favor. There is probably someone around that can help. "We're big, we're bad, we're international!"
    Trying to help,
    Welcome to the forum!
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

Maybe you are looking for

  • Re: ATI HD 2600 PRO WINDOWS 7 64 BIT BOOTCAMP DRIVER ERROR

    Okay - I *think* I was able to get the modified INF to work properly now - it turns out there were many more instances where changes needed to be made that my original procedure did not address. The updated procedure is below with additional steps ad

  • Using a linked file as navigation for a folio

    So I'm trying to simplify my workflow and hopefully make a template that I can easily modify. I've duplicated the scrollable frame table of contents that Adobe uses for the Inspire magazine. But I want to be able to add, delete and modify the content

  • Update is not reflecting in destination database using streams please help

    We have two database (oracle9) DB1(src) and db2(dest) in windows 2000(prof) platform 1. The insert,Delete are working fine, when ever changes are made to the source it gets reflected in destination, but in case of update statement.only the source get

  • CCP for Mac downloads pkg files only (Windows msi files missing)

    I'm a Mac user and would like to generate a CCP package for a Windows users group to install Adobe Premiere on their desktops but CCP seems to only be downloading pkg files and excluding msi files. Any help or information will be appreciated Thanks N

  • I have deleted my system prefrences

    Please help me, I do not have an installation disk. This computer was built for me. I didn't realize the alias was not on the desktop and deleted it. I seriously need to get my System Preference Panel back and have searched and searched. It's not any