Changes in extension data not always sent to CRM Backend

Hi,
In a CRM 5.0 ISA b2b scenario we run into a problem:
<b>Short description:</b>
Changes in extension data on basket item level are only sent to the backend if there are additional changes to that item (for example a change in quantity).
<b>Long description:</b>
We have added an extension field on basket item level and use the standard extension mechanism to exchange this data to the CRM backend. In order to do this we have done the following:
- On the Java side we implemented MaintainBasketDispatcherAction and ShowBasketAction. The overridden methods are parseRequest() (from MaintainBasketDispatcherAction) and isaPerform() (from ShowBasketAction).
- In the backend we implemented the BADI CRM_ISA_BASKET_ITEMS and implemented the methods CHANGEITEMS_SET_DATA, CLEAR, GETITEMS_GET_DATA and SAVE.
We experience a problem when creating an order: When the only thing that changes in an item is our custom field, this is not noticed by the webshop as a change in the item. Therefore the method CHANGEITEMS_SET_DATA isn't called and the extension data isn't updated. If we change another field of an item, for example the quantity, the change is picked up and the method CHANGEITEMS_SET_DATA is being called.
It seems that somewhere an optimization is taking place where the Webshop decides that unchanged lines should not be sent to the backend. I can't find a way to tell the webshop that the lines are modified (i.e. are dirty).
Has anyone experienced similar behaviour or does anyone know of a solution?
Thanks in advance.
Wilco Menge
Java snippet:
parseRequest():
ItemList itemList = preOrderSalesDocument.getItems();
String extensionData = "";
if (itemList!=null && itemList.size()>0)
     for (int i=0;i<itemList.size();i++)
          if (itemList.get(i)!=null);
               extensionData = parser.getParameter("z_extension_data").getValue().getString();
               itemList.get(i).addExtensionData("ZEXTENSION", extensionData);

Hi Pranay,
I need to add a new field to the ISA item sales order in B2B webshop.
I'm trying to use the extension field in the ISA basket item.
I have added a new field in the WEB sales order at item level.
My collegues have changed and implemented the addExtensionData method of  the ItemSalesDoc JAVA  class.
Moreover I have implemented CRM_ISA_BASKET_ITEMS (BAdI CHANGEITEMS_BEFORE_ORDER) in the backend system.
In the BAdI CHANGEITEMS_BEFORE_ORDER  I have copied the extensions data values to the CT_SALES table. Specifically, I have tried to update and change the SUBMISSION field.
It seems that this new value is stored until the GET method (GETITEMS_GET_DATA) is called.
Indeed, when the system calls the GETITEMS_GET_DATA method, I read the CT_SALES buffer  using the ‘CRM_ORDER_READ’  function.
But the new value is no more stored in buffer.
So if I fill the new field in the ISA item sales order, and I click the ‘update’ button, the new value is no more valued in the screen.
Furthermore, it could be important to know that I'm working in CRM 3.0 release.
Do you know why? May you help me?
Many Thanks
Best Regards.
Daniela

Similar Messages

  • ISA-Ecommerce : Passing extension data at item level to CRM backend?

    Hi Experts,
    I want to pass the extension filed data which is present at item level to the CRM back end system. In DEMO1 example provided, they have demonstrated about header data to pass.
    HeaderData headerdata = isaBOM.getBasket().getHeaderData();(header data BOM instance)
    ItemListData itemsdata = isaBOM.getBasket().getItemListData();(Item data BOM instance)
    String extHDshipmethods = (String)p_request.getParameter("zhext_shippmethods");(request from http for header data)
    String extIDshipmethods = (String)p_request.getParameter("ziext_shippmethods");(request from http for item data)
    headerdata.addExtensionData("ZHEXTENSIONSHIPMETHODS", extHDshipmethods);(adding extension to header data)
    itemsdata.add("ZIEXTENSIONSHIPMETHODS", extIDshipmethods);(adding extensoin to item data but gettin error)
    In the above last line i am getting an error saying that add(itemlistdata) cannot be used as a string. Generally for header data, in the extension guide it is mentioned that we use "headerdata.addExtensionData("",)" but for items data what should be used??
    Thanks a lot in Advance!
    regards,
    lakshman.
    Edited by: lakshman reddy G on Jan 21, 2009 2:24 PM

    Hello LRG,
    In the Java and JSP layer
    In the ZMaintainDispatcher, override the Item level method
    public void customerExitParseRequestItem
    This method is called for each item to parse
    the custom variables. Hint: Since the items are processed in a loop in the JSP, it is
    customary to name the page level variables suffixed with the Item index like myData1[itmIndx]
    public void customerExitParseRequestItem(
       RequestParser parser,
       UserSessionData userSessionData,
       ItemSalesDoc itemSalesDoc,
       int itmIndx  {
       String zItemExtData1 = "";
    // Item level data1[itmIndx] - value is set for item itmIndx
    // see the method parameters
       zItemExtData1 = parser.getParameter("zItemExtData1" +
    itemIdx).getValue().getString();                    
       itemSalesDoc.addExtensionData("zItemExtData1", zItemExtData1 );                    
    This will parse and add item level extensions to the items object.
    In the ABAP layer
    Implement CRM_ISA_BASKET_ITEMS and code in the methods  changeitems_set_data and getitems_get_data
    In the request cycle, you will read the value from the extension table and persist that in the
    transaction - say in a EEWB field. In the method changeitems_set_data
          READ TABLE lt_extension INTO ls_extension WITH KEY
                   name = 'zItemExtData1'.
          IF sy-subrc EQ 0 AND NOT ls_extension-value IS INITIAL.
            ZEEWBDATA1 = ls_extension-value.
          ENDIF.
    In the response cycle, code the getitems_get_data
    *     Populate Extension data Data1 - Assuming that you read it from EEWB field ZEEWBDATA1
          CLEAR ls_extension.
          ls_extension-ref_guid = ls_guid.
          ls_extension-name     = 'zItemExtData1'.
          ls_extension-value    = lv_leewbdata1.
          APPEND ls_extension TO ct_extension.
    In principle, the idea is same as what is shown in the extension guide for the header.
    Please note: Depending upon several user interaction requirements, you may have to
    use different methods in the Item BAdI as well as other methods in the MaintainDispatcher class.
    Easwar Ram
    http://www.parxlns.com

  • Org unit data not being sent on Leaver records ?

    Hi
    We are holding org unit data on the org assignment in UKP, but is not getting sent in IDOC to GE5
    What could be the reason?
    Little urgent
    Please help
    Warm Regards
    Geeta

    Timecard data will goto HXT tables only in case you have the OTL Rules Evaluation preference set to Yes for the user.
    OTL to BEE Process transfers time to Batch Element Entry, and then to Oracle Human Resources or Oracle Payroll.
    For employees with the OTL Rules Evaluation preference set to Yes, this process
    does not transfer time directly to BEE. It transfers to the professional forms
    Timecard window, where you can review the batch, make corrections, and enter
    exceptions. Then use the OTLR processes to transfer to BEE.

  • Extension data not showing in order.jsp & order_change.jsp

    Hi Experts,
    My requirement is to display the gross weight of the order in Order.jsp,Order_change.jsp. I have implemented the BADI CRM_ISA_BASKET_HEAD and method GETHEAD_GET_DATA to get the gross weight.
    In the BADI I am using CRM_ORDER_READ to get the value gross weight of the order.
    Here is the code to get the extension data in Order.jsp
    <input class="textInput" 
                type="text"
                name="ZGRWT"
                value="<%= JspUtil.encodeHtml(ui.header.getExtensionData("ZGRWT")) %>"/>
    Not sure after doing this both order.jsp & order_change.jsp simply not displying any thing in the page.
    To get the extension data should I write any custom action? Not sure about the issue.

    Hello sirivaram!
    I think you should use custom action.
    You can do it like this:
    1) create custom action class extended BaseAction
    2) in this class you should pass values from ExtensionData to request.
    3) use request attributes instead extensionData() on the jsp page
    4) do not forget register your action before standart ShowBasketAction in config.xml
    My last message Re: Display String Variable on ISA JSP page, that gets value from Z java class. can help you with points 2 and 3.
    For point 4 you have to replace this code in file config.xml:
    <action path="/b2b/showbasket" type="com.sap.isa.isacore.action.order.ShowBasketAction">
    <forward name="showbasket" path="/b2b/order.jsp"/>
    </action>
    with this code:
    <action path="/b2b/showbasket" type="foo.bar.Z_ShowBasketAction">
    <forward name="success" path="/b2b/z_showbasket.do"/>
    </action>
    <action path="/b2b/z_showbasket" type="ru.sng.isa.isacore.action.order.Z_ExtShowBasketAction">
    <forward name="showbasket" path="/b2b/order.jsp"/>
    </action>
    About your issue - I suppose that ui.header can't have to access to ExtensionData or ui.header.getExtensionData("ZGRWT") return null. Anyway you will be able to debug your application and check value of ExtensionData only if you will take your own action.
    Hope this helps.
    Regards, Lev

  • CHANGES MADE IN ECC NOT GETTING REPLICATED TO CRM - CUSTOMER

    Hi All
    We are currently working on CRM 4.0 connected to ECC 4.6C. 
    All the middleware connectivity have been configured and we have a process of creating customers (BP) in CRM which inturn flows to R/3.  We dont create customers in R/3 system.  Now when i make any changes to the customer in R/3 system i dont find a queue getting generated in SMQ1 in R/3 system and also the changes not getting reflected in CRM system.  But any changes made to CRM is flowing to backend R/3 system.
    Settings like groupings, number ranges, PIDE etc are configured.
    Please let me know how to sove this issue.
    Cheers
    Ramesh

    The issue lies in the following customizing in your R/3 system:
    1) Go to tx SM30 in the R/3 system.
    2) Open the view CRMRFCPAR.
    3) For CUSTOMER_MAIN and CUSTOMER_REL objects you need to uncheck the 'Discard' checkbox  Save.
    This will make sure that the delta changes for your Customer Master flow
    to the CRM system.
    Check out these notes as they maybe of assistance
    914437
    504169
    504265

  • SCSM/SCO - Create Change Request Published Data Not Set

    In System Center 2012 - Orchestrator, created a runbook that creates a change request using the Create Change with Template object.  When the runbook runs, the change request is created in Service Manager however the objects published data is empty.
    I have search online on this error but I have not been able to find the cause of the problem.  
    Does anyone know why the published data is not being set?
     

    NOTE: I tried to include screen shots, however I am unable to until my account can be verified, sorry.
    My test runbook contains two objects, Create Change with Template and Append Line.  
    Create Change with Template is configured with:
    My Service Manager connection
    Class is set to Change Request
    My specific template name
    Fields includes ID which is set to CR{0}
    NOTE: The SM Change Request template is a duplicate of the Minor Change Request with a few modifications including updates to the Title and activity, which includes a Runbook Automation Activity.
    The Append Line object writes the ID, GUID and Title to a text file.
    When I run the runbook, the Change Request is created in SCSM, yet the ID, GUID and Title are empty, see output file below:
       ID =
       GUID =
       Title =
    I am expecting the GUID to be set so I can create a relationship between the change request and another object in my production runbook.
    As soon as my account is verified, I will reply with screen shots.
    Thank you for your help.

  • Changes Made in PS5 not Always Recognized in LR3

    I use LR 3.0, PS5 on a Mac Pro 2.66 16GB Ram running OS X10.6.4
    Lately I noticed that when I process an image from LR using Photoshop, sometimes when I close and save and go back to LR, some of the changes I applied to the PSD file are not showing in LR. But if I export the file the changes are there. Or if I open the file again and choose "Edit a copy with LR adjustments" the changes are there and if I save that second copy, the changes show even in LR. It is as if LR fails to update the image preview after I work on the file in PS.
    Please note:
    • I have been editing files from LR to PS for years now. It is anormal part of my worflow and I naver had such problem.
    • This strange beahvior does not happen with every file.
    • My file naming is very consistent and does not include spaces or strange characters. An example of my file names is: "20100723_egg_001.CR2"
    I was able to recreate the problem by doing the following:
    I imported a file from Canon 1Ds MKIII
    - applied basic LR settings
    - open in PS5 from LR (command -E)
    - it opens in a 16bit PSD file in Profoto RGB
    - I applied curves adjustment layer
    - I applied hue/saturation adjustment layer
    - I hit save (command-S) and watched the thumbnail get updated in LR. So far so good.
    - Then I changed the mask in the Hue/Saturation layer to black (to undo the effect)
    - Hit save again. No update happening in LR.
    - Created a new layer and painted a blue line across.
    - Hit save again. No update happening in LR.
    - Close the file in PS.
    - Thumbnail in LR is stuck to the look in the first save I did.
    BUT
    - If I open the file from LR to PS5 again, the changes and layers are all there.
    OR
    - If I export the file, it exports correctly with the latest updates and changes I did in PS5.
    Does anybody know what might be going wrong?
    Thank you,
    Francesco Tonelli

    FYI I did clear the cache and did not solve the problem.
    The ACR cache, which you can clear from the preferences in Lightroom is not the same cache that Dorin is talking about. He is talking about the previews that are stored in a filefolder right along your catalog file. If you delete that, Lightroom will be forced to rebuild previews for all your images.
    However, I noticed that you were using psd. There have been some reports of strange behavior in LR 3 with psd files. I would try setting the preference in Lightroom for external edit in photoshop to tiff (the default now). This gives you better compatibility anyway.

  • Changing The Validity Dates In Org Model in CRM- User Level

    Hi
    How can we restrict the Validity Dates in Organisation Structure at User Level.
    I need that the user should be given some specific dates<b> ( Valid till or assigned till )</b> while assigning in the org. And it should be visible always in the Org Model.
    We tried using Delimited Date Function, but the User gets ellapsed if the Validity is expired.With the business point of view, <b>the requirement is that all user should be listed in Org model with respect to any dates.this would mean that if a user is terminated we would want to change the Valid till date in the Org</b>

    Hi Amrita,
    Business partner number and Object ID is automatically determines by system when creating a org unit.
    I dont find any configuration to create org unit with your own BP number and object ID. You have option to make repairs to the existing org unit.
    Please find the below path to repair the org unit
    IMG -> CRM -> Master Data -> Business partner -> Integration Business partner -Org management -> Create Business partner initially
    Select the org unit and execute to get all the org units.
    You can select the org units with errors /warnings and click on start repair to get automatic assignment of BP.
    Hope it helps
    Reward points if it helps
    Regards,
    Madhu

  • Changing m4a extension to mp3 and Vice Versa not working why?

    I was bored but any idea why ITUNES or Winamp won't open a file if I change the extension to m4a to mp3 or vice versa since both programs open both files, isn't the extension only telling which program to run?

    isn't the extension only telling which program to run?
    No. The extension tells the OS what the file type is.
    Changing the extension will not actually change the file but the OS will think it is a different type and it will not work.
    Putting a Ferrari logo on your Yugo will not make it a Ferrari.

  • KM Subscription not always sending email notifications

    Experts,
    We are running EP 7.0 SP18.  We noticed recently that when certain users post forms or documents to folders that have a subscription on it, an email notification is not always sent.  We get email notifications for some users, but not others.  Has anyone else experienced this?  Any ideas ho to fix it?

    Do they have Read Permission for etc -> notification folder?
    Check this Re: Submit for approval is not generating email notifications
    Regards
    BP

  • Find data sent from CRM to XI

    Hi ,
       We are sending some data from CRM to XI system.Is there any way or transaction code by which we can check that on particular date what data has been sent by CRM system to XI.
    its an argent requirement so if any one have any idea , it would be a great help for us.
    No need to mention that points will be awarded.
    regards
    Pankaj Giri

    please go to the tcode SXMB_MONI and check the message

  • Data value changes not always reflected in .jsp code

    For example, I can change the data value of an output text field, run the project and find that the new value is not always what shows up. I get the old value instead. I have to then go into the .jsp code and modify the value= property to get the new text to display. The new value, however, was being displayed in the designer window. I can also change a form name or some other component ID and the .jsp code may still contain references to the old name as well as the new name. This causes runtime exceptions. I am new to Java programming . Anyone know what I am doing wrong? I am using the 30-day eval version of Creator. I have tried the referesh, build only , etc., but still run into problems.

    Hi,
    Could you please list some steps in case there's a bug
    and include the jsp source.
    Also, I suggest you to get the latest updates.
    Choose Tools->Update Center
    John
    JSC QA

  • Change in start date of tax depreciation not for posting in mid of year

    Hi Experts,
    Tax depreciation area is not for posting. The fiscal year is from Jan to Dec. I want to calculate tax depreciation from May 2011 based on Net Book Value of tax depreciation as on 30.04.2011. But once I change the start date of tax depreciation in asset master to 01.05.2011, the system ignores the previous depreciation so I am not getting the NBV of tax depreciation of 30.04.2011.
    Is any setting is required to get this. I can not do changes in posting rules since this tax depreciation is not for posting any thing.
    The fiscal year 2010 is closed and NBV of tax depreciation as on 31.12.2010 of one asset is 80000, If I change the start date of tax depreciation from 1.1.2011 then system correcly take NBV of 31.12.2010 for further depreciation calculation. But if i change the start date of depreciation in between of year the system is calculating depreciation based on NBV of 31.12.2010 but ignores the tax depreciation from 1.1.2011 to 30.04.2011, which I previously run using AFAB.
    Need your assistance to know is it feasible to do this.
    Thanks and Regards,
    Harshad

    Hi Harshad
    The behaviour of the system is very much correct, it is designed to behave that way...
    One, you should not have changed the dep start date....
    two, NBV in SAP is always taken to be NBV @ the start of the year....
    The best wayout I can suggest here is, if you are on EhP4 and EA-FIN active
    a. Change the Dep Key in the asset... You can maintain Time Dependant Dep Terms in asset master i.e. Dep Key X from Jan-Apr and Dep Key Y from MAy onwards
    b. This will however, calculate dep based on NBV at the start of the year, but based on new useful life
    c. Considering your eg: The system is posting more depreciation i.e. 5333 instead of 5155.... So, calculate this amount outside the system and post a Manual Write up ABZU inorder to reduce the Dep and increase the NBV
    Even if you are on not on EhP4, you can follow the same approach as above.... i.e.
    a. Change the Dep Key in asset master.... This will throw up new dep figure, on the basis of New Useful life and NBV at the start of the year
    b. Post a write up from ABZU....
    No need to do Asset to asset transfer in my opinion
    Only diff between EhP4 and Non EhP4 is that the differential depreciation would be lesser if you are on EhP4... i.e. instead of 5333 now, system may throw up depreciation amount of 5666.. So, you may need to post write up of 5666-5155
    br, Ajay M

  • Your workout data could not be sent...an Internet connection not available

    (Also posted on the nikeplus forum: http://forums.nike.com/message.jspa?messageID=238734#238734)
    I am trying to sync my workout data for the first time on iTunes....so far unsuccessfully.
    I have just one workout in my latest workouts folder.
    When trying to sync the iPod I get the following message:
    "Your workout data could not be sent to nikeplus.com because an Internet connection is not available.
    Make sure your network connection is active and try again."
    There is also no button labeled "Visit nikeplus.com." below the "Automatically send workout data to nikeplus.com" checkbox in the Nike + iPod tab.
    I am running the latest version of iTunes (8.0.2.20) on Windows XP and the latest firmware for my 1st gen iPod Nano (1.3.1). I am using just the basic Nike+ sport kit.
    There is definitely no problem with my Internet connection. I can connect to the iTunes store. I have disabled my firewall to see if that was getting in the way. Nothing changed. Still the same message.
    Does anyone have a solution for this please?

    I contacted Apple support at 1-800-275-2273 for technical assistance. They sent me to level 2 support - product specialist for Ipod Nano with Nike+. They have not seen this issue before and they will need to contact me back, I should have an answer back by Thursday.

  • In Firefox 4 how can I cause the date on downloaded files to be the current date? (Some are and some are not. In FF3 the dates were ALWAYS the current ones.)

    In Firefox 4 how can I cause the date on downloaded files to be the current date? (Some are and some are not. In FF3 the dates were ALWAYS the current ones.)
    == This happened ==
    Every time Firefox opened
    == I upgraded to Firefox 4 (beta)

    Firefox 3.6.* and earlier set the downloaded file's modification time to the current time. In Firefox 4.0 the behavior has been changed, if a server returns a timestamp telling when the file was last modified (Last-Modified header), it is used instead.
    You can revert to the previous behaviour by using the [https://addons.mozilla.org/en-US/firefox/addon/93121/ Download Timestamp] add-on.

Maybe you are looking for

  • Pages '09 won't open my AWK or DOC files

    I've bought iWork '09 to future proof myself against the day I finally have to abandon a computer running Snow Leopard + Rosetta (I can still run AppleWorks and Word 2001 on my present machine but that won't always be the case). However, now I'm begi

  • Up-to-date contacts on iPhone and MobileMe won't won't update the Mac

    Hi, I just got an iPhone GS and there's a glitch that's driving me mad. (I had an iPod Touch before this so it's not all new.) First of all I had duplicate Calendars and Contacts ("On my Mac" and MobileMe) so deleted those on my mac by following the

  • Time Machine problems behind network switch?

    Just installed a Netgear GS108T gigabit switch and placed my Mac Mini w/backup drives that was being used as a HTPC and Time Machine server behind it, along with the other computers. Neither my Macbook (wireless to router which is also plugged into s

  • Purchase order is not displayed in the t.code ME23N

    Hi All, While seeing t.code -ME23N purchase order display got the error message 'Address doesn't exist 587354 Message no. AM010 I have checked table level -adrc the number 587354 is dsiplayed. If anybody know the reason please revert the same. Thanks

  • The following SQL works in 11g but not in TimesTen

    This is a simple test on hs.sales table in oracle 11g. You can easily do it yourself Created sales table in TimesTen in the image of hs.sales as follows: Command> desc sales; Table HR.SALES: Columns: PROD_ID NUMBER NOT NULL CUST_ID NUMBER NOT NULL TI