Update when values differ

Seems this should be obvious, but my limited experience with OWB has not led me to quick solution. I am migrating data to a newer design. Old table "CHANGES" included some updatable columns where the new values overwrite original values (although available from a different "ORIG" table via foreign key). New design has table "ALL" that includes columns for both original and changed values. Original values will be populated and the column for changed values will be NULL until a change actually occurs.
Example (for a given product_id):
A) ORIG.price=10, CHANGES.price=12 will become
ALL.price=10, ALL.price_ch=12.
B) ORIG.price=10, CHANGES.price=10 will become
ALL.price=10, ALL.price_ch=NULL.
I want to pretty much just map the old CHANGES table to the new ALL table, except for these original/changed values. Referring to previous example, the ALL.price column will be populated with all values from ORIG.price.
ALL.price_ch will only be populated if CHANGES.price != ORIG.price.
I have looked at Match/Merge, Key lookup, Target Filter for Update (with column load attributes), when I thought I had it, it was too complex (or screwed up) and OWB got confused. I know that I could break up the map to first load orig values, then separate map to do each change parameter (different cardinality) and tie together with process flows, but I just assume there must be a simpler way thay you gurus out there do all the time.
Thanks for any feedback,
- Randy

Hi Randy
Thanks for the request and maybe I have an idea for you. Perhaps I am overly simplifying the situation, but here goes.
I think you ought to use an Expression. This is the object that looks like (X+Y). Here is a workflow:
1. Drag an Expression object from the palette onto your workspace
2. Drag mappings from both the ORIG.price and CHANGES.price to the INGRP1 of the Expression
3. Right click on the heading for OUTGRP1 and from the pop up box select Edit. This opens an Expression editor
4. In the Expression editor, click on the tab entitled Output Attributes
5. Click the Add button at the bottom right hand corner of the screen
6. A new output item will be added. Edit this to replace the name OUTPUT1 with a suitable name for your calculated item, then enter the datatype and other pieces of the definition as needed
7. Click OK - this closes the Expresion editor - and you should see that your new item has been added to the OUTGRP1
8. Right click on the heading for the new item, and from the popup box select Attribute Properties
9. In the Attribute Properties dialog box, click in the grey area alongside the new item and then click on the little [...] button. This opens an Expression dialog box
10. In the Expresion dialog box you need to enter the SQL that will define the new item. I would use a DECODE something like this:
DECODE(ORIG_Price, CHANGES_Price, NULL, CHANGES_Price)
This can be read as follows:
IF Original Price = Changed Price
THEN use NULL
ELSE use the Changed Price
11. Click OK to close the Expression editor
12. Close the Attribute Properties dialog box
13. Map this new item to ALL.price_ch and I believe you have a solution.
I hope this helps
Regards
Michael

Similar Messages

  • Program updating the value with succeeding 0

    Hi
    We have got a problem.
    We have developed a program to update the value of the condition type. The upload file will have the SO, line item, condition type and value.
    In the background, the sales order change BAPI is called and the value of the condition type is updated. There is no bug in the program for this functionality with reference to the problem.
    When I upload, the value is getting uploaded correctly. But for some users, the value is updated with an additional 0 at the end. For example if 78 is the value of a condition type, the update happens as 780. The strange behaviour is that if I take that user id and password and upload in my laptop, the value is correctly uploaded without any addtional 0.
    We have checked the user profile of all the problamatic users. They are fine. The xls sheet decimal notation is checked and they are also fine. There is no bug in the program, as it is working fine for many users.
    What else should I be checking to solve this issue. An ABAPer advised to check the GUI level difference. I dont know how to do that but there should not be any such difference in the GUI versions for the users.
    Can somebody put some light on this issue.

    Hi Navaneetha,
    The Excel version is the same for you and the user?
    Can the same be debugged and rectified?
    Regards
    Saurabh

  • Update "when new" option in the EO

    There are 2 projects, one with Bussiness component and the other with JSP's.
    In the EO for an attribute if I set it as updatable "When New" option instead of "Always" or "Never", then it works properly when I test my AM. ie. We can enter a value for his field only at the time of insert. Once we save we can only view the value, we can't update it.
    But the problem is in the other project when we run the Insert JSP we cannot enter any value since there is no text field for this attribute.
    In the Edit JSP also it is like this. Ofcourse in the Edit JSP it should not allow us to update so the text field should be display only & that is coming correctly but how can it come as a display filed in the Insert JSP ?
    In that case there is no difference between setting "Updatable Never" and "Updatable When New".
    Please clarify .
    Thanks.
    null

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by JDev Team ():
    Hi,
    I need to know some more details to know exactly why the field is not appearing.
    1. Is this an attribute that was included in your EO when you first created it, or one that you added later?
    ARCHANA : This attribute was not included later. It was there when I first created it because it is the "Code" which is the primary key.
    2. Is this attribute in the View Object your JSP insert page is based on?
    ARCHANA: Yes, It is there in the View Object.
    3. Is the View Object your JSP insert page is based on made up of one EO, or is it based on more than one EO?
    ARCHANA : The View Object is based on one EO only.
    4. In your JSP, you can try adding the following code to see if the attribute field will get displayed:
    <jsp:useBean id="RowEditor" class="oracle.jbo.html.databeans.EditCurrentRecord" scope="request">
    <%
    RowEditor.initialize(application, session , request, response, out, "theModule.theView");
    RowEditor.setTargetUrl("theView_SubmitInsertForm.jsp");
    RowEditor.createNewRow();
    RowEditor.setReleaseApplicationResources(true);
    RowEditor.setDisplayAttributes("Attr1,Attr2...");
    (enter the names of the attributes you want displayed in the setDisplayAttributes method.
    Laura<HR></BLOCKQUOTE>
    Actually my JSP has exactly the same code as u have sent. I have included "Code" in my setDisplayAttributes() method also. The label for this attribute appears but adjacent to it there is no text control to type the data when I insert data.
    Please explain.
    null

  • 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 field values in a database table using module pool prg?

    hi
    how to update field values in a database table using module pool prg?
    we created a customized table, and we put 2 push buttons in screen painter update and display.
    but update is not working?
    data is enter into screen fields and to internal table, but it is not updated in database table.
    thanks in adv
    vidya

    HI,
    we already used the update statement. but its not working.
    plz check this.
    *& Module Pool       ZCUST_CALL_REC
    PROGRAM  ZCUST_CALL_REC.
    TABLES: ZCUST_CALL_REC,ZREMARKS.
    data:  v_kun_low like ZCUST_CALL_REC-kunnr ,
           v_kun_high like ZCUST_CALL_REC-kunnr,
           v_bud_low like ZCUST_CALL_REC-budat,
           v_bud_high like ZCUST_CALL_REC-budat.
    ranges r_kunnr for ZCUST_CALL_REC-kunnr  .
    ranges r_budat for zcust_call_rec-budat.
    DATA: ITAB TYPE STANDARD TABLE OF ZCUST_CALL_REC WITH HEADER LINE,
          JTAB TYPE STANDARD TABLE OF ZREMARKS WITH HEADER LINE.
    *data:begin of itab occurs 0,
        MANDT LIKE ZCUST_CALL_REC-MANDT,
        kunnr like ZCUST_CALL_REC-kunnr,
        budat like ZCUST_CALL_REC-budat,
        code like ZCUST_CALL_REC-code,
        remarks like ZCUST_CALL_REC-remarks,
        end of itab.
    *data:begin of Jtab occurs 0,
        MANDT LIKE ZCUST_CALL_REC-MANDT,
        kunnr like ZCUST_CALL_REC-kunnr,
        budat like ZCUST_CALL_REC-budat,
        code like ZCUST_CALL_REC-code,
        remarks like ZCUST_CALL_REC-remarks,
        end of Jtab.
    CONTROLS:vcontrol TYPE TABLEVIEW USING SCREEN '9001'.
    CONTROLS:vcontrol1 TYPE TABLEVIEW USING SCREEN '9002'.
    *start-of-selection.
    *&      Module  USER_COMMAND_9000  INPUT
          text
    MODULE USER_COMMAND_9000 INPUT.
    CASE sy-ucomm.
    WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
    SET SCREEN 0.
    LEAVE SCREEN.
    CLEAR sy-ucomm.
    WHEN 'ENQUIRY'.
    perform multiple_selection.
    perform append_CUSTOMER_code.
    PERFORM SELECT_DATA.
    call screen '9001'.
    WHEN 'UPDATE'.
          perform append_CUSTOMER_code.
          PERFORM SELECT_DATA.
          call screen '9002'.
          perform update on commit.
    WHEN 'DELETE'.
          perform append_CUSTOMER_code.
          PERFORM SELECT_DATA.
          call screen '9002'.
    ENDCASE.
    ENDMODULE.                 " USER_COMMAND_9000  INPUT
    *&      Module  STATUS_9000  OUTPUT
          text
    MODULE STATUS_9000 OUTPUT.
      SET PF-STATUS 'ZCUSTOMER'.
    SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_9000  OUTPUT
    *&      Module  USER_COMMAND_9001  INPUT
          text
    MODULE USER_COMMAND_9001 INPUT.
    CASE sy-ucomm.
    WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
    SET SCREEN 0.
    LEAVE SCREEN.
    CLEAR sy-ucomm.
    endcase.
    ENDMODULE.                 " USER_COMMAND_9001  INPUT
    *&      Module  STATUS_9001  OUTPUT
          text
    MODULE STATUS_9001 OUTPUT.
      SET PF-STATUS 'ZCUSTOMER'.
    SET TITLEBAR 'xxx'.
    move itab-MANDT   to zcust_call_rec-MANDT.
    move itab-kunnr   to zcust_call_rec-kunnr.
    move itab-budat   to zcust_call_rec-budat.
    move itab-code    to zcust_call_rec-code.
    move itab-remarks to zcust_call_rec-remarks.
    vcontrol-lines = sy-dbcnt.
    ENDMODULE.                 " STATUS_9001  OUTPUT
    *&      Module  USER_COMMAND_9002  INPUT
          text
    module  USER_COMMAND_9002 input.
    CASE sy-ucomm.
       WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
          SET SCREEN 0.
          LEAVE SCREEN.
          CLEAR sy-ucomm.
       WHEN 'UPDATE'.
             perform move_data.
         UPDATE ZCUST_CALL_REC FROM TABLE ITAB.
            IF SY-SUBRC = 0.
               MESSAGE I000(0) WITH 'RECORDS ARE UPDATED'.
             ELSE.
               MESSAGE E001(0) WITH 'RECORDS ARE NOT UPDATED'.
            ENDIF.
      WHEN 'DELETE'.
             perform move_data.
             DELETE ZCUST_CALL_REC FROM TABLE ITAB.
              IF SY-SUBRC = 0.
               MESSAGE I000(0) WITH 'RECORDS ARE DELETED'.
             ELSE.
               MESSAGE E001(0) WITH 'RECORDS ARE NOT DELETED'.
            ENDIF.
    endcase.
    endmodule.                 " USER_COMMAND_9002  INPUT
    *&      Module  STATUS_9002  OUTPUT
          text
    module STATUS_9002 output.
      SET PF-STATUS 'ZCUSTOMER1'.
    SET TITLEBAR 'xxx'.
    endmodule.                 " STATUS_9002  OUTPUT
    *&      Module  update_table  OUTPUT
          text
    module update_table output.
         move itab-MANDT   to zcust_call_rec-MANDT.
         move itab-kunnr   to zcust_call_rec-kunnr.
         move itab-budat   to zcust_call_rec-budat.
         move itab-code    to zcust_call_rec-code.
         move itab-remarks to zcust_call_rec-remarks.
    vcontrol-lines = sy-dbcnt.
    endmodule.                 " update_table  OUTPUT
    ***Selection Data
    FORM SELECT_DATA.
    SELECT  mandt kunnr budat code remarks  FROM zcust_call_rec INTO
                            table itab
                             WHERE kunnr IN r_kunnr AND BUDAT IN R_BUDAT.
    ENDFORM.
    ****append vendor code
    FORM APPEND_CUSTOMER_CODE.
    clear r_kunnr.
    clear itab.
    clear r_budat.
    refresh r_kunnr.
    refresh itab.
    refresh r_kunnr.
    IF r_kunnr  IS INITIAL
                  AND NOT v_kun_low IS INITIAL
                   AND NOT v_kun_high IS INITIAL.
                        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                                    EXPORTING
                                       input         = v_kun_low
                                    IMPORTING
                                       OUTPUT        = r_kunnr-low.
                       CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                                  EXPORTING
                                      input         = v_kun_high
                                  IMPORTING
                                      OUTPUT        = r_kunnr-high.
                     r_kunnr-option = 'BT'.
                     r_kunnr-sign = 'I'.
                     append r_kunnr.
       PERFORM V_BUDAT.
    ELSEIF r_kunnr  IS INITIAL
                  AND NOT v_kun_low IS INITIAL
                   AND  v_kun_high IS INITIAL.
                        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                                    EXPORTING
                                       input         = v_kun_low
                                    IMPORTING
                                       OUTPUT        = r_kunnr-low.
                    r_kunnr-SIGN = 'I'.
                    r_kunnr-OPTION = 'EQ'.
                    APPEND r_kunnr.
       PERFORM V_BUDAT.
    ELSEIF r_kunnr IS INITIAL
                  AND  v_kun_low IS INITIAL
                   AND NOT v_kun_high IS INITIAL.
                        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                                    EXPORTING
                                       input         = v_kun_low
                                    IMPORTING
                                       OUTPUT        = r_kunnr-low.
                    r_kunnr-SIGN = 'I'.
                    r_kunnr-OPTION = 'EQ'.
                    APPEND r_kunnr.
          PERFORM V_BUDAT.
    ELSEIF r_kunnr IS INITIAL
                  AND  v_kun_low IS INITIAL
                   AND  v_kun_high IS INITIAL.
                        IF SY-SUBRC = 0.
                             MESSAGE I003(0) WITH 'ENTER CUSTOMER NUMBER'.
                              CALL SCREEN '9000'.
                        ENDIF.
    PERFORM V_BUDAT.
    ENDIF.
    ENDFORM.
    FORM V_BUDAT.
    IF  R_BUDAT IS INITIAL
                   AND NOT v_BUD_low IS INITIAL
                   AND NOT v_BUD_high IS INITIAL.
                     r_budat-low = v_bud_low.
                     r_budat-high = v_bud_high.
                     r_budat-option = 'BT'.
                     r_budat-sign = 'I'.
                     append r_budat.
             ELSEIF  R_BUDAT IS INITIAL
                   AND NOT v_BUD_low IS INITIAL
                   AND  v_BUD_high IS INITIAL.
                     r_budat-low = v_bud_low.
                     r_budat-high = v_bud_high.
                     r_budat-option = 'EQ'.
                     r_budat-sign = 'I'.
                     append r_budat.
             ELSEIF  R_BUDAT IS INITIAL
                   AND  v_BUD_low IS INITIAL
                   AND NOT v_BUD_high IS INITIAL.
                     r_budat-HIGH = v_bud_HIGH.
                     r_budat-option = 'EQ'.
                     r_budat-sign = 'I'.
                     append r_budat.
              ELSEIF  R_BUDAT IS INITIAL
                   AND  v_BUD_low IS INITIAL
                   AND  v_BUD_high IS INITIAL.
                   IF SY-SUBRC = 0.
                       MESSAGE I002(0) WITH 'ENTER POSTING DATE'.
                      CALL SCREEN '9000'.
                    r_budat-low = ''.
                    r_budat-option = ''.
                    r_budat-sign = ''.
                    ENDIF.
            ENDIF.
    ENDFORM.
    *&      Form  update
          text
    -->  p1        text
    <--  p2        text
    form update .
    commit work.
    endform.                    " update
    *&      Form  move_data
          text
    -->  p1        text
    <--  p2        text
    form move_data .
       clear itab.
      refresh itab.
           move-corresponding  zcust_call_rec to itab.
           MOVE ZCUST_CALL_REC-MANDT   TO ITAB-MANDT.
           MOVE ZCUST_CALL_REC-KUNNR   TO ITAB-KUNNR.
           MOVE ZCUST_CALL_REC-BUDAT   TO ITAB-BUDAT.
           MOVE ZCUST_CALL_REC-CODE    TO ITAB-CODE.
           MOVE ZCUST_CALL_REC-REMARKS TO ITAB-REMARKS.
         APPEND ITAB.
         delete itab where kunnr is initial.
    endform.                    " move_data
    thanks in adv
    vidya

  • Updating invoice value in po history

    HI gurus,
               I have done vendor invoice through F-43, by using PO document no.... but when I see the PO history, It's not updating invoice values..
    How could I get the values??

    Hello,
    When u post F-43, no PO history gets created.
    To update the assignment field on vendor line items, you need to use 014 (Purchase Order) as the sort key in the vendor master.
    In FBL1N, this will give you the details of purchase order on the invoices.
    Regards,
    Ravi

  • Update custom value in service ticket  page ICWC through BOL

    Hi
    I want to add a new custom field "Product" in service ticket as a dropdown and update this value in the service ticket when save button is entered.
    From GENIL_BOL_BROWSER,I can naviagte from BTOrderHeader
    and with related entities links I can reach BTHEADERITEMSEXT,BTORDERITEMALL,BTADMINI and find the ORDERED_PROD which is the attribute I need to populate.
    how I go about creating context ,Context node and populate this value when service ticket is saved in the database?
    thanks
    John

    You should understand first the CREATE_CONTEXT_NODE Method of the Context Node Class and the ON_BEW_FOCUS Method of the Individual Contect Node Class . If you look into these method they you can make out what is the Current BOL entity each of the Context Node is pointing too .  This will help you to make a decision that
    Option 1 -> Shall I extend a Current Context Node Class to add a New Attribute ORDERED_PROD   
    OR
    Option 2 --> Should create a new Context Node
    Both can be done using the Wizard in BSP_WD_WORKBENCH . Browse to the View , then Context Node . Option 1 , Right Click on 'Context Node' and 'Create' .Option 2 , go to the particular 'Context Node' , 'Attributes'  and 'Create'
    In most case , even if the Context Node doesn't point to the BOL Entity you are looking for i.e BTAdminI  , then in the GET_XXXX and SET_XXXX method of the
    Context Node Class , you can do some manual coding (BOL Programming ) to browse to the right BOl Entity to set/get the Value.
    Let me know if this helps.

  • Powershell update Field Value without changing version number

    I want to update a value in a field in a list for a lot of list items.
    However, this list has major and minor versioning turned on, and an approval process.
    When I update the field's value for all the required list items, I don't want the approval process to start and I don't want the version number to change.
    How can I do this?
    This is my code so far:
    $siteUrl = "http://portal"
    $listName = "list name"
    $field1_Name = "category"
    $web = Get-SPWeb -Identity $siteUrl
    $list = $web.Lists[$listName]
    $items = $list.Items
    ForEach ($item in $items)
        if ($item[$field1_Name].ToString() -eq "testing") 
     $url = [String]::Format("{0}/{1}",$web.Url, $item.File.URl)
         $file = $web.GetFile($url)
     $file.CheckOut()
     write-host $item.name
           $item[$field1_Name] = "testing again"
           $item.Update()
     $file.CheckIn("updated category name", [Microsoft.Sharepoint.SPCheckinType]::MajorCheckIn))
    $web.Dispose()

    Instead of calling $item.Update() call $item.SystemUpdate($false);  That will update the fields without incrementing he version number of the listitem.  Read about it here:
    http://msdn.microsoft.com/EN-US/library/office/ms481195(v=office.14).aspx
    Paul Stork SharePoint Server MVP
    Principal Architect: Blue Chip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.

  • How do I update the value of a hidden field?

    Jsp has hidden field. The value of the hidden field is set.
    <%= RequestCtx.getSessionInfoAsHiddenParam() %>
    <INPUT type ="HIDDEN" name=billtoContactPartyId" Value="<%=billtoContactPartyId %>">
    Based on some logic I've added to the jsp. I want to update the value of the hidden field. This does not work. How do I update the value?
    windowForm.elements['billtoContactPartyId'].value = windowForm.elements['defaultcontactPartyId'].value;

    Hi,
    If you create a function to return wwctx_api.get_user you could
    call this inside an update trigger, you could put in an
    exception to return USER if there is an error, this would then
    work for users connected directly and users using Portal.
    Regards Michael
    e.g.
    CREATE OR REPLACE FUNCTION F_PORTAL_USER RETURN VARCHAR2 IS
         vRet VARCHAR2(50) := wwctx_api.get_user;
    BEGIN
         RETURN(vRet);
    EXCEPTION
         WHEN OTHERS THEN
              RETURN (USER);
    END F_PORTAL_USER;

  • How do we update the value of a textfield in a dialog box by clicking a button/ textbutton ?

    How do we update the value of a textfield in a dialog box by clicking a button/ textbutton ?

    Hi,
    If you create a function to return wwctx_api.get_user you could
    call this inside an update trigger, you could put in an
    exception to return USER if there is an error, this would then
    work for users connected directly and users using Portal.
    Regards Michael
    e.g.
    CREATE OR REPLACE FUNCTION F_PORTAL_USER RETURN VARCHAR2 IS
         vRet VARCHAR2(50) := wwctx_api.get_user;
    BEGIN
         RETURN(vRet);
    EXCEPTION
         WHEN OTHERS THEN
              RETURN (USER);
    END F_PORTAL_USER;

  • KINAK field in Table KONV not getting updated with value W

    Hi,
    I have a PO where I am deleting a line item.
    After I delet line item the field KINAK in table KONV gets updated with value W.
    But I am getting instance where in some cases the field KINAK is not getting updated.
    The result is deleted line item is getting populated in PO output also.
    Regards
    Nandiini

    KINAK is updated only when a Condition is inactive ! So when a item is deleted the condition becomes inactive and gets updated with 'W' which means statistical(not to be counted)
    A     Condition exclusion item
    K     Inactive due to calculation basis/shipping material type
    L     Condition exclusion header or inactive at header level
    M     Inactive due to manual entry
    T     Inactive at header level
    W     The document item is statistical
    X     Inactive via formulae of incorrect
    X     Inactive via formulae of incorrect
    Y     Inactive because of subsequent price

  • All rows in a Set get updated when only one row changes

    I have a complex object, which contains a Set of child objects. If i modify one of the child objects and put the object back in the cache, coherence will issue a sql update for each of the child objects, even though only one changed.
    I'm using hibernate, and when i do this in straight hibernate, that doesn't happen, only one sql update gets issued for the row in question.
    I found this because i have a timestamp column that automatically updates when the row gets updated, but since all the child rows are updating, this timestamp gets updated as well which breaks the biz logic.
    Am i missing something? Clearly it's inefficient to issue updates on all the child rows when just one changes. Is there some way to avoid this?
    Using coherence 3.5.3.
    Thanks.

    This turned out to be an issue with POF serialization of a Date object. It was doing it incorrectly, it would get the day correct, but the HH:MM:SS would be set to the current time. Since the object had been changed, when i persisted the parent, all of the child rows would persist as well since their "modify_date" attribute had been changed. Eg, if the date in the DB was "2010-07-14 03:10:00" when i read the object in, the value would change to "2010-07-14 HH:MM:SS" where HH:MM:SS would be set to the current hours/mins/secs.
    I changed the code to use my own serialization of a Date object (just used the long) and things worked fine after that.
    Is this a known issue with pof serialization?

  • 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

  • Cache update in value mapping replication

    Could anyone let me know when value mapping replication of mass data is done , the updated values in the java runtime cache that we can view in RWB->Cache Monitoring->Mapping Runtime Cache - are they deleted on system restart or are persisted somewhere.Is it only cached in Java memory and after restart we need to re invoke the scenario again to update the same.
    Regards
    Subhro

    Hi,
          You can refer the following post which talks about the same issue.
    Re: Value Mapping Considerations for significantly high input
    Also, go through this link for value mapping replication
    http://help.sap.com/saphelp_nw04s/helpdata/en/2a/9d2891cc976549a9ad9f81e9b8db25/content.htm
    Regards

  • Parent members not being updated when running AGG

    I have a scenario where eventhough the bottom level members change the parent members are not being updated when we run an agg
    For example if the bottom level member was 150 and we run the aggregate the numbers are fine. If the bottom level member was changed to #Missing then the parent members are not updated when we run the agg
    IN the script below we use CALC DIM(COstCenters,SpaceTYpe)
    My concern is the setting SET FRMLBOTTOMUP ON i use, because it looks like it's skipping that block. HOw can work around this issue without affecting the performance too much. For example using SET CREATEONMISSINGBLK ON might help, but will have a performance impact
    Here are the details of the script
    SET MSG SUMMARY;
    SET FRMLBOTTOMUP ON;
    SET CALCPARALLEL 4;
    FIX("Budget","Version1", "FY2011", "RSF","No_Period","M3","M6","M9","M12",@IDESCENDANTS("$1"),@LEVMBRS
    (SpaceType,0),@LEVMBRS(CostCenters,0))
    CALC DIM (ManagedBU,AllocatedBU);
    ENDFIX
    FIX("Budget", "Version1", "FY2011", "RSF","No_Period","M3","M6","M9","M12",AllocatedBU,ManagedBU,
    @LEVMBRS(SpaceType,0),@LEVMBRS(CostCenters,0))
    "$1";
    ENDFIX
    /* Aggregating numbers for the report so it could be viewed n a top cost center level */
    FIX("Budget", "Version1", "FY2011", "RSF","No_Period","M3","M6","M9","M12",@IDESCENDANTS(AllocatedBU),@iDESCENDANTS(ManagedBU),@IDESCENDANTS("$1")
    CALC DIM(COstCenters,SpaceTYpe);
    ENDFIX
    /* Aggregating numbers for the report so it could be viewed in a top regional level*/
    FIX("Budget", "Version1", "FY2011", "RSF","No_Period","M3","M6","M9","M12",@IDESCENDANTS(ManagedBU),@IDESCENDANTS(AllocatedBU),@IDESCENDANTS(SpaceType),CostCenters)
    @IANCESTORS("$1");
    ENDFIX

    yes Aggmissg will work with from bottom up. As for performance, believe it or not, having Aggmssg on is quicker that off. That is because when off, it has to look at the children blocks to determine if there are data values present that need to overwrite the parent value where hen it is on, it does not look it just does it.

Maybe you are looking for

  • How to include variable in the text column in report painter?

    Dear Expert, Would like to seek for your help to include How to include variable in the text column in report painter?Please advice. Thank you. Regards, Karen Edited by: Karen Swee Ping Ho on Jun 17, 2011 2:48 AM

  • Purchased apps not showing in iTunes?

    I got a new laptop yesterday and all my music and movies transfered into itunes when I signed in, but my apps did not. They did not get removed off my iPhone. I can't load any new apps on my iPhone because when I go to the apps tab in iTunes, the onl

  • What is IMIP and how does it work with iCal?  (I don't mean IMAP ! ! )

    My POP email protocol includes a special folder called IMIP. This stores all emails that have "calendar" related material or invitations. However, they don't download to my MAIL application... they just stay on the MAIL SERVER in a folder called IMIP

  • Formatting WD MyBook 1 Terabyte External Hard Drives

    I recently purchased two WD MyBook Personal Edition 1 TB hard drives. These come formatted as MS-DOS FAT32, which is pretty useless for a Mac-only system. They are connected to my Mac Pro via a FW400 daisy chain. When I went to format these drives wi

  • Find date/time when item added item in folder?

    Hey guys, I was wondering if there was any Automator Action out there that allows you filter finder items by date "added" to a folder. Please don't confuse with the date of the actual item. I am talking about if there is anyway to be able to detect a