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

Similar Messages

  • ISA B2b basket extension data for items not showing in ordersimulation

    When adding extension data to the items of the shopping basket this works fine until continuing to the Order Simulation. Here all extension data on item level is lost (header level is fine).
    When proceeding to create an order template however it works fine.
    Data was added using:
    item.addExtensionData("FIELD", "VALUE")
    Any help is appreciated.
    Thanks,
    Jurjen

    hi Jurjen,
    In ISA 5.0 b2b from the order.jsp ->order simulation and basket updates go through com.sap.isa.isacore.action.order.MaintainBasketDispatcherAction. In the basketPerform() -> updateBasket() method, existing basket items are removed and created from scratch using the input/hidden field in order.jsp. Unfortunately, item level extension data is not assigned back to the newly created basket items. An alternative solution would be inherit MaintainBasketDispatcherAction and overide parseRequestItems() method. Here in the parseRequestItems() should keep a copy of itemExtension & then assign it back after super.parseRequestItems() method is called.
    Regards
    Tharaka (attune)

  • Problem in displaying extension data at item level in JSP!!!

    Hi Experts,
    I am facing a problem when i try to display extension data in JSP. This is how i have coded in CRM system and in JSP:
    After searching an order in the webshop let say order no 1, and i ll select this order no .1. Now the BADI CRM_ISA_BASKET_ITEMS is triggered and in the method getitems_getdata, i have written a code with hard coded values like this:
    method IF_EX_CRM_ISA_BASKET_ITEMS~GETITEMS_GET_DATA..
    data:wa_extension like line of ct_extension.
    wa_extension-ref_guid = '498AB6EC7B623152E1000000AC1383C5'.(ref guid is item guid of the order 1)
    wa_extension-name = 'Z_CustomItemExtData'.
    wa_extension-value = 'he is a good boy'(hardcoded value) .
    append wa_extension to ct_extension.
    endmethod.
    And in JSP i have written code like this to display:
    <%--  code for extension data --%>                       
    <tr>
    <td class="identifier">Ext data</td>
    <td class="value" ><%= JspUtil.encodeHtml(orderitem.getExtensionData("Z_CustomItemExtData")) %></td>
    </tr>
    But i am not getting the value in the JSP which i have hard coded in the BADI method. Is there any thing wrong in the above code? Please help me in this as i am very much new to ABAP.
    Thanks a lot in Advance!!
    Regards,
    lakshman.

    hi,
    did you hardcode the ref-guid too? This could be the problem.
    Regards
    Michael

  • 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

  • Report on delivery data in item level for list of po

    Dear all
             How to take Report on delivery data in item level for list of po
    regards
    M.Chandra mohan

    You can check any of the standard reports like ME2M with the selection variant as "PO where GR exists"

  • Confirm Goods / Service display delivery date on item level

    Hello all,
    in transaction Confirm Goods / Service user can see creation date of the purchase order. Is it possible to somehow display required delivery date on item level. Field "Required on" which is visible in Basic data of the item.
    Would like to have as minimum modification as possible, maybe through customizing (of course if possible) :o))
    TIA
    Gordan

    Hello all,
    in transaction Confirm Goods / Service user can see creation date of the purchase order. Is it possible to somehow display required delivery date on item level. Field "Required on" which is visible in Basic data of the item.
    Would like to have as minimum modification as possible, maybe through customizing (of course if possible) :o))
    TIA
    Gordan

  • Document level Data and Item level data

    Hi,
    Can anyone please explain the difference between Document level data and Item level data for sales order.
    Thanks
    shalini

    Item is the lowest level detail of the order. For ex it would be a particular material. Document would be the overall "top" level. Usually refered to as header level. It relates to everything in the document. 
    pts appreciated

  • VA42 user exit to update contract start and end dates at Item level

    Hi  Experts,
                      I need to update contract start and end dates at Item level in 'VA42' transaction, for this i am using user-exit 'USEREXIT_FIELD_MODIFICATION' in the include 'MV45AFZZ'. i am able  to display the data into item level through my coding but the data is not getting updated into 'VEDA'
    Note: No need to change contract start date and end date in header level. Only at item level i want to change dates.
    Thanks,
    Sateesh.

    Thanks For your reply Vikram,
          i tried with 'USEREXIT_MOVE_FIELD_TO_VBAP' user-exit earlier it self its not working. Can you suggest me any another way how we can achieve this functionality. modification of Contract start date and end date in only item level. 
    'USEREXIT_MOVE_FIELD_TO_VBAP':
    FORM USEREXIT_MOVE_FIELD_TO_VBAP.
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(3) Form USEREXIT_MOVE_FIELD_TO_VBAP, Start                                                                                                           A
    *$*$-Start: (3)---------------------------------------------------------------------------------$*$*
    ENHANCEMENT 1  ZSD_CONT_DATE.    "active version
    DATA : lv_var TYPE CHAR10.
      lv_var = '0040000219'.
      if sy-tcode = 'VA42'.
    IF VBAK-VBELN EQ lv_var.
    VEDA-VBEGDAT = '20140502'.
      XVEDA-UPDKZ = 'X'.
    VEDA-VENDDAT = '20140602'.
      XVEDA-UPDKZ = 'X'.
    ENDIF.
    ENDIF.
    ENDENHANCEMENT.

  • What is Header level data and item level data? Please elaborate.

    What is Header level data and item level data? Please elaborate.
    Details:
    EKKO is Purchasing Document Header; what is purchasing Document Header? who,what and where can i look for this data.
    EKPO is Purchasing Document Item; what is Purchasing document item means?
    what is item level data means?
    When you take the Senario of SRM and ECC; where the purchase data is maintained primarily in SRM or ECC?
    Thanks in advance. I will assign the points only to the valuable information.
    York.

    Hi York,
       You are right in stating EKKO as header and EKPO as line item data. They are maintained in ECC.
    Now for the details about the data:
    In SAP every transaction is referred to as a document. In this case you are talking about a purchase document. Now what does purchaing document contain? I will contain information like: Who is the vendor? When was the transaction done? what was bought? What is the quantity of each item bought?
      Whatever is applicable across the document is called header data... and what is applicable for each item is called line item data. In this case
    1. Header data would be the vendor, date of transaction, purchaing organization ... etc.
    2. Line item data would be the item details, the quantity of the item, the unit price of each item ...etc.
    Hope this helps.
    Best regards,
    Kazmi

  • Changing ship to address at line item level in CRM order

    Hi All,
    Is it posible to change the ship to address at line item level in CRM order either at the time of order creation or order change. if yes please let me know if we need to do any settings for this.
    Thanks in advance.
    JM

    I agree with the previous comment, Please go to the Partner Determination procedure attached to the Transaction and in the partner functions associated with the that procedure, find Ship-to-Party and there will be a check box to "make it changeable" once determined. Check that and save it.. You should be all set
    Thanks
    Raj

  • PO Delivery date at Item level is getting modified by Delivery date in PR

    Hi Experts,
    I am using BAPI_PO_CREATE1 for creating Purchase Order. I am passing delivery date (item level) in parameter
    POSCHEDULE of the  Bapi but the on creation of the PO it does not take the value that I passed in delivery date field
    ,however it takes the delivery date from Purchase requisition (the preceding document).
    Please let me know how can I fix this issue, It should take the date that I passed in the Bapi.
    Thanks & Regards,
    Sushant Singh

    Hi,
    In the X-Structure 'POSCHEDULEX' set 'X' in 'PO_ITEMX'.                  
    Please check in your system the following data:                          
    Check that the X-fields in structure POSCHEDULEx are set Correctly and  that the key fields item number and schedule number are equal in  PoSchedule and PoScheduleX.                                                                               
    Example:                                                                 
    POSCHEDULE                                                               
    PO_ITEM  00010                                                           
    SCHED_LINE  001                                                          
    DEL_DATCAT_EXT                                                           
    DELIVERY_DATE 10/13/2010                                                
    QUANTITY  2                                                              
    DELIV_TIME                                                               
    STAT_DATE  10/13/2010                                                                               
    Structure POSCHEDULEX                                                    
    PO_ITEM  00010                                                           
    SCHED_LINE  001                                                          
    PO_ITEMX  X                                                              
    SCHED_LINEX  X                                                           
    DEL_DATCAT_EXT                                                           
    DELIVERY_DATE X                                                          
    QUANTITY  X                                                              
    DELIV_TIME                                                               
    STAT_DATE  X                                                                               
    Please also make sure that all line items of PO should have at least one delivery schedule.                           
    Regards,
    Mauro

  • Manage Ship-to party Purchase order date at item level

    Hello Experts:
    I have a requirement in which the business wants to maintain "Purchase order date" field for "Ship-to party"
    in "Order Data" tab at the Item level. So different items in the same order can have a different
    date for that field.
    I have check marked the "Business Item" option in Item Category maintenance that
    allows to manipuate the data at the item level.
    I still see the field is greyed out. The field in questions is BSTDK_E.
    Pls. help
    Thanks,
    RR

    Hi
    Please check two things here.
    Business Item field is checked for this item category in VOV7.
    In VOV8 for this order type check in field Variant whether they have assigned some variant or not?
    Check this and update.
    Thank$

  • KNA1 is a header level data or item level data ?

    How should we treat KNA1 ?
    As a header data table or
    Item Data table ?

    Hi,
    KNA1 is master data table stores information about customers.it will update thru XD01/XD02 tcodes or FD01/FD02..etc.
    Master data will be used to create transactional data.
    Once we created master data means,normally we dont change.like employees creation,vendor creation..etc
    When it comes transactional data we have concept of header and item level.
    suppose sales order is transactional data.conatins VBAK as header level, VBAP as item level data.
    Header data contains main information to all the items like shipto party sales order creation date ,who created sales order,sales order type..etc.
    Item level contains what material,order qty..etc.
    we can call Transactional data as frequently changing data.Like when ever customer needs some item from company means we create sales order for that item.so we call transactional data as daily basis change data.
    Please reward if useful.
    Thanks
    Sivaparvathi
    Message was edited by:
            Siva Parvathi

  • Display Header data to item level in me21n

    Dear Friends ,
    I have the  requirement that Incoterm field in me21n at header level while creating purchase order needs to get reflected at item level too. Currently it is blank (at item level).
    Is it the development or Customisation?
    Can anybody please explain me how to go abt it?

    If you enter an Incoterm on header level, this is valid for all items that do not explicitly have an Incoterm.
    If you then enter an Incoterm on item level, this overwrites the Incoterm entered on header level.
    So it's not clear why this requirement has come up.
    http://help.sap.com/saphelp_srm50/helpdata/en/0c/b91b3f7f9e3642e10000000a114084/content.htm

  • Copying header sales data to item level

    Hi,
    I am adding WBS Number at account assignment field of Sales header, but the same is not transferred to item level.
    I want to know, what setting is required for the same?
    Regards
    Suman

    you have to do that on item level
    you can assign sales order items or customer quotation items to a WBS element (billing element)
    if you do, revenue and cost controlling takes place wholly within the project
    the quotation/order does not bear either costs or revenues
    the billing element referenced in the sales order item is the highest element in a billing hierarchy
    the billing hierarchy includes all objects (WBS elements, orders networks, network activities) hierarchically subordinate to the billing element

Maybe you are looking for

  • A PC buying guide for NLE (mainly Intel)

    For AMD setups, disregard the mentions of sockets and the like but the general recommendations still hold. When you need a new PC for editing purposes, you basically have three choices: 1. Buy an off the shelf system from companies like HP or Dell. 2

  • No data in Active sessions pie-chart and availability is 0%

    Hi All, Does anyone know why my Enterprise Manager cosole in Oracle 10g installed on windows xp professional is not showing any data? Availabilty is always 0% for the instance ORCL and the active sessions pie-chart is always showing 0.01 since May 17

  • How do I stop ID from assigning a paragraph style to the TABLES?

    In-Design is adding "H1" paragraph style to EVERY table is inserted, so the table headers formatting is affected by that H1 style. I guess it chooses H1 because it's the FIRST style I created (and then modified the "basic paragraph" to modify the res

  • VERY STRANGE Interactive Report Filter Error

    I have a very interesting problem happening with an interactive report in my APEX application. The report runs just fine and has been in use for about 6 months. Just recently, the users have begun to run into problems when using the filter capability

  • Just want to play an Ipod on my work Mac

    If anyone knows, please tell me how I can just play my personal Ipod from my Imac at work. I DON'T WANT TO SYNC IT. I don't want to purchase some other Apple BS! I just basically want to use my work Imac as an Ipod dock (that is; an expensive & overr