ISA B2B Generic SAP R/3 Extensions

Hi All,
I am just going through the ISA tutorials as described in the ISA Extension Guide.
Unfortunately there seems to be many problems with the Extensions Demo 5 which
could have partly been solved but right now it stucks at Extension Demo5 Approach 3.
I think this is more a general issue realted to how to use the generic SAP R/3
extensions.
The idea of this tutorial is to set the deliver block in R/3 for an order, so that the users
chose a delivery block ID depending on which the corresponding delivery block is then set on R/3 site.
Inside backendobject-config.xml is the following entry:
<config isa:extends="../config[@id='r3pidefault']">
      <businessObject type="EXTENSION_DOCUMENT_CREATE" name="EXTENSION_DOCUMENT_CREATE">
                                <params>
                                        <param name="fields" value="LIFSK,2"/>
                                </params>
      </businessObject>
      <businessObject type="EXTENSION_DOCUMENT_READ" name="EXTENSION_DOCUMENT_READ" >
                                <params>
                                        <param name="fields" value="LIFSK,2"/>
                                </params>
      </businessObject>
</config>
The structure VBAK contains the field LIFSK with the data element LIFSK which is
linked to the DLV_BLOCK field containing the actual delivery value of the sales
document (order).
I followed the instructions and created the append structure BAPE_VBAK that contains
component LIFSK of component type LIFSK.
Class Z_OrderR3 extends OrderR3 overwrites updateInBackend(SalesDocumentData posd, ...) method like:
//fetch the delivery id from the R/3 version of the document
if (isExistsInR3()){
    // DeliveryBlock.EXT_KEY_DELIVBLOCK_HEADER == LIFSK
    posd.getHeaderData().addExtensionData(DeliveryBlock.EXT_KEY_DELIVBLOCK_HEADER,
    getDocumentR3Status().getHeader().getExtensionData(DeliveryBlock.EXT_KEY_DELIVBLOCK_HEADER));
this code is never executed because isExistsInR3() returns false. If the if-statement is
deleted a null pointer exception is thrown by getDocumentR3Status(). I also tried this
code snipset in saveInBackend() which behaves alike.
So why does isExistsInR3() return fales? It should exist at that point of time. Shouldn't
it?
And what does "LIFSK,2" in backendobject-config.xml mean? Why is there ",2"?
Another thing is that reading the delivery block out of the R/3 also does not work.
If the user clicks on an order number within the ISA web-shop the method
Z_OrderR3.setDeliveryBlockText(SalesDocumentData ordr, ...) is called. There is this
code:
    HeaderData header = ordr.getHeaderData();
    //DeliveryBlock.EXT_KEY_DELIVBLOCK_HEADER == LIFSK
    (String) header.getExtensionData(DeliveryBlock.EXT_KEY_DELIVBLOCK_HEADER);
which returns null.
Any clue what is going wrong here? Could this be a bug or did I lose sight on sth?
We are using Web-As 6.20 and ISA 4.0 SP11.
Help is highly appreciated.
Best Regards and Thanks in Advance,
Martin Muellenberg

Hi Martin,
although I cannot determine the exact reason for your problems I can give some coding help on the items below, because from what I have seen the below code will never work...
First I see that you are extending the r3pidefault configuration, is this the configuration you are using, if not adjust to the appropriate one. If this is ok, then good work, I had a lot of problems one searching for this one...
in backend-object-config.xml you should have structures like:
<businessObject type="EXTENSION_DOCUMENT_CREATE" name="EXTENSION_DOCUMENT_CREATE">
         <params>
                <param name="structure" value="BAPE_VBAK"/>
                <param name="fields" value="LIFSK,2"/>
         </params>
</businessObject>
where bape_vbak is the name of the structure in R/3 or CRM you wish to extend
you could also make a BAPE_VBAP for extensions at item level but I guess you will not be needing it here.
The LFISK ,2 means that an extensionfield exists in your R/3 structure BAPE_VBAK at that it has length 2. The fields of the extension structures always get passed on as strings and the same order and length should be maintained on the java and R/3 side. (in your case only 1 field so no problem).
Normally now for both your extended methods (there are 4 in total you extend only create and read) this field should be available and you can just access them on the appropriate header by :
String LFISK = (String)  <some header>.getExtensionData("LFISK");
<some header>.addExtensionData("LFISK", some string);
I hope this helps a little bit, I know the application is a little hard at first to get into,
if you keep having problems, post a copy of your extension structure as well so we can make a comparison.
Regards,
Allan

Similar Messages

  • Regarding the Customer Setup for ISA B2B using SAP J2EE 6.4 and NWDS

    Hi
    Does someone knows how we can setup a customer project using
    SAP J2EE 6.4 and NWDS.
    I've tried to setup the project but facing a weird problem..
    I've ISAWAC640SP11 and ant buildtool to build the application.
    I didn't get any "sda_build.xml" in this patch (ISAWAC640SP11).
    i've used "sda_build.xml" of ISAWAC40SP11.
    I've build the application using build tool but when i try to deploy it
    on SAP J2EE 6.4 using SDM i get a weird message stating
    <b>"com.sap.sdm.util.sduread.IllFormattedSduFileException: The archive must be deployed with a 6.20 SDM, which has a SDM-SDA compatible version 1 or greater."</b>
    Does anyone knows from where can i get the sda_build.xml file compatible with
    ISAWAC640SP11 ??
    Also can some one suggest me to setup a customer project for extension and
    modification of ISA B2B 640 on NWDS and SAP J2EE 6.4....
    Thanks & Regards
    Sandeep Solanki

    Hi,
    I am Rajesh..and it seems that you and I are facing the same problem. Well, I am really finding it hard to find material like PDF's files on Build Tool. and ISA Development and Extension Guide. 
    I would really appreaitate if you could send me some material. Well, My project is very simple and I have been given the task to first submit a simple demo of B2C on R/3 system. ( Not CRM ). I have also installed the NWDS and everything including the ISA WAC Java components. I am having real hard time in modifying them....
    Can you please shed light on it...You can also email to me at [email protected]
    Thanks in Advance for your kind consideration.
    Rajesh.

  • Problem while extending and modifying the ISA B2B app on SAP J2EE 6.4

    We are facing some problem with extending and modifying the ISA B2B 4.0 application.
    First Let me clarify you the whole scenario.
    Previously we had ISA B2B 4.0 SP03 deployed on SAP J2EE 6.20 Engine.
    We had used eclipse 3.0 to extend and modify the application as NWDS does not support SAP J2EE 6.20.
    We had used ant buildtool to build the modified application which comes along with the ISA Software Archive.
    We had successfully done all the modifications and application was running fine...
    Now we have upgraded the overall J2EE infrastructure and using J2EE 6.4 Engine which supports NWDS.
    We have successfully deployed the ISA B2B  application which comes along with the Support Package.
    We are using Support Package ISAWAC40SP11P_7-20000529.SAR E-Selling 640. The application is working fine after all
    the configuration done in XCM and SAP CRM 4.0 system.
    Now for modification and extension i have created another b2b enterprise archive with name "b2b_client.ear" using ant buildtool.
    I've done the modification and extension .. added some Z classes and JSP pages. Now when i try to deploy the application using
    SDM 6.40, I got an error message stating
    <b>"com.sap.sdm.util.sduread.IllFormattedSduFileException: The archive must be deployed with a 6.20 SDM, which has a SDM-SDA compatible version 1 or greater."</b>
    I think this error is due to the incompatible sda_build.xml used in the build process but we have used the same xml file bundled with the above mentioned ".sar" file..
    Please help or suggest someone who can help me out from this...
    Thanks & Regards.
    Sandeep Solanki

    Hi Alkis.
    First, you need to specify the fully qualified class name of your based-RequestProcessor class in the config.xml file like
    <controller  contentType="text/html;charset=UTF-8"  locale="true"  nocache="true"
      processorClass="com.mycompany.struts.framework.MyRequestProcessor"/>
    If you review the source code of the ActionServlet and RequestProcessor classes, you can see that overwritten methods (by you) are executed every time the client makes a request to the struts based application.
    I hope you can run your approach. And it will be excellent you can shared how you will do it.
    Kindest regards.

  • ISA b2b extension

    Hello all,
    Can anybody show me how to proceed to modify/extend the  ISA b2b application in the objective to integrate the payment by card functionality as in the case the b2c application ?.
    Thanks in advance.

    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)

  • Relogin Error connecting to ISA B2B Shop iView for SAP CRM 4.0

    Hi
    I am trying to access ISA B2B Shop iView (for SAP CRM 4.0) from EP 6.0 SP14. I am getting the below mentioned error
    ERROR : "The session is invalid." "Please re-login."
    Please find the portal version details:
    Area                   Version
    J2EE Engine            6.40 PatchLevel 98256.313
    Portal                 6.0.14.0.0
    Please help me in solving this issue
    Regards
    Sudhir

    Hi,
    I have the same error, could you help me ?
    Thanks and regards.
    Manuel .-

  • Calling New Function Module from JAVA ISA b2b

    I need to call a new function module which accepts some parameters as input and
    returns some result parameters back as output.
    These returned value needs to be displayed on the JSP pages of ISA B2B applications.
    Can someone please guide me and provide code snippet on how to do this?
    Thanks in advance.
    Points will be awarded for all relevant and helpful answers.

    Stride,
    I did this on CRM ISA 4.0...  I used the dev and extension guide as a basis - I think the ISA 5.0 guide has the examples and tutorials in a separate document that can also be downloaded from service.sap.com.
    Here’s some info on how to do it although I can't guarantee this is the full solution or that it will work the same for ISA 5.0, and I will probably forget a lot of stuff as its been a few years since I did it!  I also can’t guarantee it is the correct way to do it – but it worked!  Basically, we built a link into the order overview page to display url’s to order tracking websites using an RFC on the backend CRM system.  Hope it helps anyway.
    1. Create RFC enabled function module in backend.
    2. Edit file backendobject-config.xml in folder project_root\b2b_z\WEB-INF\xcm\customer\modification:-
    [code] <backendobject
         xmlns:isa="com.sapmarkets.isa.core.config"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:xml="http://www.w3.org/XML/1998/namespace">
         <configs>
              <!-- customer changes in backendobject-config should be done here by extending/overwriting the base configuration-->
              <xi:include
                   href="$
    Template for backend object in customer projects
    Concrete implementation of a backend object
    This implemenation demonstrates how a backend object
    is used to communicate with the CRM system
    @see com.ao.isa.backend.boi.Z_AOFuncBackend#getOrderDeliveryTrackingData(java.lang.String)
    Interface used to communicate with a backend object
    The purpose of this interface is to hide backend implementation details
    from the business objects
    Returns a vector of Z_OrderDeliverTracking objects containing data to link
    to external delivery tracking websites
    @param orderNo The sales order document number
    @return A vector of order tracking objects
    @return
    @return
    @return
    @return
    @return
    @param string
    @param string
    @param string
    @param string
    @param string
    /modification/backendobject-config.xml#xpointer(backendobject/configs/*)"/>
              <!-- This is an example customer extension. A new Backend Object is registered in the framework using XCM extension mechanism. -->
              <!-- If you write customer extensions you should register your backend objects in the same way. -->
              <!-- Please make sure that you use the correct base configuration (e.g. crmdefault for CRM or r3default, r3pidefault for R/3) -->
              <config
                   isa:extends="../config[@id='crmdefault']">
                   <businessObject
                        type="Z_AO_Custom"
                        name="Z_AO_Custom"
                        className="com.ao.isa.backend.crm.Z_AOFuncCRM"
                        connectionFactoryName="JCO"
                        defaultConnectionName="ISAStateless"/>
              </config>
         </configs>
    </backendobject>
    [/code]
    File com.ao.isa.backend.crm.Z_AOFuncCRM.java looks like this :-
    [code] package com.ao.isa.backend.crm;
    //jco imports
    import java.util.Vector;
    import com.ao.isa.backend.boi.Z_AOFuncBackend;
    import com.ao.isa.businessobject.order.Z_OrderDeliveryTrackingItem;
    import com.sap.mw.jco.JCO;
    import com.sap.mw.jco.JCO.ParameterList;
    import com.sapmarkets.isa.core.eai.BackendException;
    import com.sapmarkets.isa.core.eai.sp.jco.BackendBusinessObjectBaseSAP;
    import com.sapmarkets.isa.core.logging.IsaLocation;
    public class Z_AOFuncCRM
         extends BackendBusinessObjectBaseSAP
         implements Z_AOFuncBackend
         // initialize logging
         private static IsaLocation log =
              IsaLocation.getInstance(Z_AOFuncCRM.class.getName());
         /* (non-Javadoc)
         public Vector getOrderDeliveryTrackingData(String orderNo)
              Vector urlData = new Vector();
              try
                   // get Java representation of function module
                   JCO.Function func =
                        getDefaultJCoConnection().getJCoFunction(
                             "Z_BAPI_CRM_ORDER_TRACKING_URLS");
                   // provide export parameters
                   ParameterList params = func.getImportParameterList();
                   params.setValue(orderNo, "ORDER_NO");
                   func.setExportParameterList(params);
                   // execute function
                   getDefaultJCoConnection().execute(func);
                   // get result table
                   JCO.Table table =
                        func.getTableParameterList().getTable("TRACKING_DATA");
                   int numRows = table.getNumRows();
                   for (int i = 0; i < numRows; i++)
                        // get row
                        table.setRow(i);
                        // create a new Z_orderdeliverytracking object
                        Z_OrderDeliveryTrackingItem trackItem =
                             new Z_OrderDeliveryTrackingItem(
                                  table.getString(0),
                                  table.getString(1),
                                  table.getString(2),
                                  table.getString(3),
                                  table.getString(4));
                        urlData.addElement(trackItem);
                        trackItem = new Z_OrderDeliveryTrackingItem();
                   return urlData;
              catch (BackendException bex)
                   // The following key has to be added to WEB-INF/classes/ISAResources.properties
                   // in order to see the exception correctly
                   log.config("ao.b2b.order.error.getOrderTrackingURLs", bex);
              return null;
    [/code]
    And file com.ao.isa.backend.boi.Z_AOFuncBackend.java looks like this:-
    [code] package com.ao.isa.backend.boi;
    //package java.ao.com.ao.isa.backend.boi;
    import java.util.Vector;
    import com.sapmarkets.isa.core.eai.sp.jco.JCoConnectionEventListener;
    public interface Z_AOFuncBackend
         public Vector getOrderDeliveryTrackingData(String orderNo);
    [/code]
    Whilst file com.ao.isa.businessobject.order.Z_OrderDeliveryTrackingItem.java looks like this:-
    [code]
    package com.ao.isa.businessobject.order;
    // Referenced classes of package com.sapmarkets.isa.businessobject.order:
    //            PaymentType
    public class Z_OrderDeliveryTrackingItem // extends SalesDocument implements OrderData
         private String deliveryDocNo;
         private String goodsIssuedDate;
         private String consignmentNo;
         private String status;
         private String url;
         public Z_OrderDeliveryTrackingItem()
         public Z_OrderDeliveryTrackingItem(
              String delDocNo,
              String GIDate,
              String consNo,
              String status,
              String url)
              this.setDeliveryDocNo(delDocNo);
              this.setGoodsIssuedDate(GIDate);
              this.setConsignmentNo(consNo);
              this.setStatus(status);
              this.setUrl(url);
         public String getConsignmentNo()
              return consignmentNo;
         public String getDeliveryDocNo()
              return deliveryDocNo;
         public String getGoodsIssuedDate()
              return goodsIssuedDate;
         public String getStatus()
              return status;
         public String getUrl()
              return url;
         public void setConsignmentNo(String string)
              consignmentNo = string;
         public void setDeliveryDocNo(String string)
              deliveryDocNo = string;
         public void setGoodsIssuedDate(String string)
              goodsIssuedDate = string;
         public void setStatus(String string)
              status = string;
         public void setUrl(String string)
              url = string;
    [/code]
    3. Edit file bom-config.xml in folder project_root\b2b_z\WEB-INF\xcm\customer\modification :-
    [code] <BusinessObjectManagers
         xmlns:isa="com.sapmarkets.isa.core.config"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:xml="http://www.w3.org/XML/1998/namespace">
         <!-- customer changes in bom-config should be done here by extending/overwriting the base configuration-->
         <xi:include
              href="$/modification/bom-config.xml#xpointer(BusinessObjectManagers/*)"/>
         <!-- This is an example Business Object Manager. It can act as template for customer written Business Object Managers -->
         <BusinessObjectManager
              name="Z_AO-BOM"
              className="com.ao.isa.businessobject.Z_AOBusinessObjectManager"
              />
    </BusinessObjectManagers>
    [/code]
    File com.ao.isa.businessobject.Z_AOBusinessObjectManager.java looks like this:-
    [code] package com.ao.isa.businessobject;
    // Internet Sales imports
    import com.sapmarkets.isa.core.businessobject.management.BOManager;
    import com.sapmarkets.isa.core.businessobject.management.DefaultBusinessObjectManager;
    import com.sapmarkets.isa.core.businessobject.BackendAware;
    Template for a custom BusinessObjectManager in customer projects
    public class Z_AOBusinessObjectManager
         extends DefaultBusinessObjectManager
         implements BOManager, BackendAware {
         // key used for the backend object in customer version of backendobject-config.xml
         public static final String CUSTOM_BOM = "Z_AO-BOM";
         // reference to backend object
         private Z_AOFunc mCustomBasket;
    constructor
         public Z_AOBusinessObjectManager() {
    Method is called by the framework before the session is invalidated.
    The implemenation of this method should free any allocated resources
         public void release() {
    Returns custom business object
         public Z_AOFunc getCustomBasket() {
              if (mCustomBasket == null) {
                   mCustomBasket = new Z_AOFunc();
                   assignBackendObjectManager(mCustomBasket);
              return mCustomBasket;
    [/code]
    And uses file com.ao.isa.businessobject.Z_AOFunc.java which looks like this:-
    [code]
    package com.ao.isa.businessobject;
    // Internet Sales imports
    import com.sapmarkets.isa.core.businessobject.BOBase;
    import com.sapmarkets.isa.core.businessobject.BackendAware;
    import com.sapmarkets.isa.core.eai.BackendObjectManager;
    import com.sapmarkets.isa.core.eai.BackendException;
    import com.sapmarkets.isa.core.logging.IsaLocation;
    // custom imports
    import com.ao.isa.backend.boi.Z_AOFuncBackend;
    import java.util.Vector;
    Template for business object in customer projects
    public class Z_AOFunc extends BOBase implements BackendAware
         // initialize logging
         private static IsaLocation log =
              IsaLocation.getInstance(Z_AOFunc.class.getName());
         private BackendObjectManager bem;
         private Z_AOFuncBackend backendAOBasket;
    Returns a reference to the backend object. The backend object
    is instantiated by the framework.
    @return a reference to the backend object
         private Z_AOFuncBackend getCustomBasketBackend()
              if (backendAOBasket == null)
                   //create new backend object
                   try
                        backendAOBasket =
                             (Z_AOFuncBackend) bem.createBackendBusinessObject(
                                  "Z_AO_Custom");
                        // the backend object is registered in customer version
                        // of backendobject-config.xml using the 'Z_AO_Custom' type
                   catch (BackendException bex)
                        // The following key has to be added to WEB-INF/classes/ISAResources.properties
                        // in order to see the exception correctly
                        log.config("ao.b2b.order.error.getOrderTrackingURLs", bex);
              return backendAOBasket;
    This method is needed when a business object has a corresponding
    backend object.
         public void setBackendObjectManager(BackendObjectManager bem)
              this.bem = bem;
    Returns a vector of url links for tracking
    @return vector of urls
         public Vector getOrderDeliveryTrackingData(String orderNo)
              // the call is delegated to the CRM aware backend object
              return getCustomBasketBackend().getOrderDeliveryTrackingData(orderNo);
    [/code]
    4. Edit file config.xml in folder project_root\b2b_z\WEB-INF to add custom actions (the section below is just the custom stuff added at the end of the file – the Z_orderTracking is the relevant one) :-
    [code] <!-- Begin of custom AO action definitions -->
         <action path="/b2b/Z_orderTracking" type="com.ao.isa.order.actions.Z_OrderTrackingAction">
              <forward name="success" path="/b2b/order/Z_orderTracking.jsp"/>
         </action>
         <action path="/catalog/Z_displaySVGPage" type="com.ao.isa.catalog.actions.Z_SVGPageAction">
              <forward name="success" path="/catalog/Z_SVG_fs.jsp"/>
         </action> [/code]
    Which points at Java file com.ao.isa.order.actions.Z_OrderTrackingAction.java which looks like this :-
    [code] package com.ao.isa.order.actions;
    // internet sales imports
    import com.sapmarkets.isa.core.BaseAction;
    import com.sapmarkets.isa.core.UserSessionData;
    // struts imports
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionForm;
    // servlet imports
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.ServletException;
    // Internet Sales imports
    import com.ao.isa.businessobject.Z_AOBusinessObjectManager;
    import java.util.Vector;
    This action acts as a template for customer extensions
    public class Z_OrderTrackingAction extends BaseAction
    This method is called by the ISA Framework when the
    action is executed
         public ActionForward doPerform(
              ActionMapping mapping,
              ActionForm form,
              HttpServletRequest request,
              HttpServletResponse response)
              throws ServletException
              // get user session data object
              UserSessionData userSessionData =
                   UserSessionData.getUserSessionData(request.getSession());
              // gettting custom BOM
              Z_AOBusinessObjectManager myBOM =
                   (Z_AOBusinessObjectManager) userSessionData.getBOM(
                        Z_AOBusinessObjectManager.CUSTOM_BOM);
              // get the order number being processed
              String orderDocNumber = request.getParameter("orderNo");
              // pass the order number back to the page
              request.setAttribute("orderNo", orderDocNumber);
              if (orderDocNumber != null)
                   // Get a vector of delivery tracking objects from lower layers (Business Object layer =>
                   // Business Logic Service Layer)
                   Vector trackingTable =
                        myBOM.getCustomBasket().getOrderDeliveryTrackingData(
                             orderDocNumber);
                   String error = "";
                   if (trackingTable != null)
                        if (trackingTable.size() == 0)
                             error = "true";
                        else
                             error = "false";
                   else
                        error = "true";
                   request.setAttribute("errorMessage", error);
                   request.setAttribute("trackingTable", trackingTable);
              return mapping.findForward("success");
    [/code]
    5. I added the call to the function module for page orderstatusdetail.jsp in folder project_root\b2b_z\b2b\order to display a custom page Z_orderTracking.jsp in the same folder.  To do this I added a link into the HTML to call a JavaScript function that passed the current order number to the /b2b/Z_orderTracking.do actionhandler mapped in the config.xml file.
    So, in summary!  Create an RFC; define business managers for it in the XML files; create a new Strut action and supporting Java class; create all the Java class’ for the managers.
    I hope this makes some sense!
    Gareth.

  • Problem in deployment of ISA B2B after building the app using ant buildtool

    Hi
    I've a problem with building ISA B2B App after modification.
    I've ISAWAC640SP11 and ant buildtool to build the application.
    I've setup a customer project in NWDS.
    I've build the application using build tool but when i try to deploy it
    on SAP J2EE 6.4 using SDM i get a weird message stating
    <b>"com.sap.sdm.util.sduread.IllFormattedSduFileException: The archive must be deployed with a 6.20 SDM, which has a SDM-SDA compatible version 1 or greater."</b>
    Does anyone know what is the exact proecess to build the application in
    SAP J2EE 6.4.
    Do we have to use the ant build tool or we can directly build the app using NWDS
    default build process ?
    Also can some one suggest me to setup a customer project for extension and
    modification of ISA B2B 640 on NWDS and SAP J2EE 6.4....
    Thanks & Regards
    Sandeep Solanki

    Guys please help  !!!
    atleast gimme some idea or suggestions.. !!!
    Regards
    Sandeep

  • How to add custom text on ISA B2B Order

    Hi,
    On Order page of ISA B2B I have created a custom text field  "Shipping Attention".When I try to add this text in the header like
    header.addExtensionData("Z123","Value") in Z_BasketRefreshAction which extends MaintainBasketDispatcherAction, it is not reflecting in the "Shipping Attn"(created in the text tab in CRM)  field in CRM system.
    The flow:
    /b2b/maintainbasket --> Z_BasketRefreshAction --> /b2b/basketrefresh --> MaintainBasketRefreshAction --> b2b/updatedocumentview
    Please let me know if I missing something...
    Thanks in Advance.
    Regards,
    Muthu

    Hello,
    You have covered the first two layers of the request - response cycle cake - the View (JSP) and the Control (Java) layers. The icing is done in the backend BAdI and using the right function module. I am assuming the CRM backend.
    A typical request-response in the application goes like this. I will give example for the header extensions.
    Added the custom variable in the HTML layer (JSP page)
    Traversed through the Dispatcher, Parser and get the input value from the JSP page variable and added it to the Business Object (Header) using addExtensionData.
    The java application layer actually makes an "Update Header" call during the update cycle - like when you click that "Update" button.
    In the SAP E-Commerce design, during this "update" cycles, the application flows through specific BAdI call sequence. It calls what I call the Header BAdI CRM_ISA_BASKET_HEAD when the header information is updated. You have to extend this BAdI and implement at least two methods.
    It has two methods - which are called during this request - response cycle. First method CHANGEHEAD_SET_DATA is called during the request cycle - that is from ISA to CRM (when update is clicked). This is where your extension data has to be transferred from the Java layer to the backend layer (model). You will essentially read from the table IT_EXTENSION and call SAVE_TEXT function module. Since your requirement is to update text, this is the FM to be called. Many other cases use the FM mentioned by Mike. This is where the data from the web layer is persisted in the backend model.
    And the other method GETHEAD_GET_DATA is called during the response cycle. In this method, you will essentially read from the model - in your case READ_TEXT and set it back in the extension layer CT_EXTENSION
    The update header call from the Java layer will now receive the data back from the model and will automagically transfer the values from the backend (ABAP layer) back to the Java layer to be accessible by you in the JSP using getExtensionData call.
    What you have to do are the steps .5 and 6 in order to complete the request-response cycle.
    Easwar Ram
    http://www.parxlns.com

  • Login page error in the ISA b2b 5.0 application.

    Hi all
    i deployed the CRM ISA b2b 5.0 application successfully in the j2ee engine and after that i have done the XCM configuration also successfully and i tested thru run test for both JCO and IPC components all are successful.
    now when i tried with the b2b application with the following URL it is giving some different error.it is not related to application it seems the different error related to some browser or i am not sure.
    URL : http://hsdnt24s15:50400/b2b/b2b/init.do when i press enter here
    then it showing the following error but the error it seems not related to application side, it is different error.after pressing the enter with the above URL then URL itself is changing in the browser as like the following URL
    browser URL : https://hsdnt24s15:${https.port.core.isa.sap.com}/b2b/user/secureSwitch.do
    Error Details:
    The page cannot be displayed
    The page you are looking for might have been removed or had its name changed.
    Please try the following:
    Open the hsdnt24s15:${https.port.core.isa.sap.com} home page, and then look for links to the information you want.
    If you typed the page address in the Address bar, make sure that it is spelled correctly.
    If you still cannot open the page, click the Internet Explorer
    Search button to look for similar sites.
    Internet Explorer 
    Please can you help me what is the solution to my problem.
    i will reward the maximun points.
    Regards
    Sunil

    Hi Mike
    i have some other problem now , can i you help me on this.
    i have the logon problem in the CRM ISA b2b 5.0 application when i have accessed thru the following URL.
    <b>http://hsdnt24s15.hclt.corp.hcl.in:50400/b2b/b2b/init.do</b>
    <u>it is giving the error as follows.</u>
    <b>Error while executing SAP E-Commerce Application with UME system; try again to log on. If the problem persists, call our hotline</b>.
    before that we have made the XCM configuration for CRM ISA b2b 5.0
    Can you guide was there any problem in the XCM configuration?
    Please help how to resolve this issue for logon problem in ISA b2b 5.0?
    Regards
    Sunil

  • R/3 ISA B2B:  Catalog Views

    Hello experts in the group,
    I need to create catalog views for R/3 ISA B2B application. I have to use cross division 00 to handle multiple sales areas and I want to address these divisions using catalog views. I already have one of the four product catalogs that we would need, in place.
    I have tried to use followed SAP Notes:
    696095: ISA R/3 4.0: Collective note on Catalog Views
    695978: How to create function modules for ISA R/3
    677319: Coding sample assignment of customers to views
    677320: Coding sample catalog item assignments to views
    610393: Example for using catalog exit after read
    and
    Note 837119, that was referenced by SAP Help but I could not find.
    Problem is, despite spending all that time and effort, I am not able to make much headway here. I would really appreciate if someone could help me out here and tell me how to create a catalog view. I needs to reference this catalog view to a few layout areas and items in the product catalog, and then assign it to a webshop where a customer (who has access to the web shop) can see only these products that are contained in the view.
    Thanks in Advance,
    Biren Bugati

    Hi Biren,
    I simply went to t.code SRMO (Search Server Relation Monitor) and went to <i>Index Category (index)</i> tab. There I searched for all indexes and painstakingly deleted each one, one by one by clicking "Delete Category." I'm not sure if this is the right way to do it, but it worked in the end. After deleting all indexes when I executed ISA_CAT_REPLICATION tcode, instead of error code 2007, I saw a green indicator light, and "No documents in deletion pending status" text.
    The TrexAdmin tool that I am using is Python based and delivered with TREX itself. Its in /sap/usr/trex<instance_number>/python_support/TrexAdmin.py
    You can find more info about how to launch and use this tool here:
    http://help.sap.com/saphelp_erp2004/helpdata/en/3f/d4ae0fc46e1d1ee10000000a114cbd/frameset.htm
    Hope this helps.
    By the way, I didn't know about ISA_CAT_REPL_DELETE and TREXADMIN tcodes. Do you have a list of all ISA-relevant tcodes?

  • CRM ISA b2b Vs ECC ISA b2b - IPC and BADI

    Experts,
    1. In CRM ISA b2b - We use CRM_COND_COM_BADI to implement the userexit logics and to populate custom attributes. What is the equivalent BADI or procedure in ERP scenario assuming I am using IPC in both the scenarios.
    2.   in CRM ISA b2b scenario, we have item and header BADI's like crm_isa_basket_head...What is thew equivalent BADI/Procedure in ERP ISA b2b scenario.
    Thanks,
    Bala

    Hello Bala,
    Regarding your first question, AFAIK, the userexit logic of pricing should be developed in IPC pricing routines and uploaded to the SAP system with appropriate userexit assignment.
    About the second question, I am not very clear on what is the requirement? Do you want to modify certain data before a document is actually created/simulated in the SAP system? In this case, there are some enhancement points in the FM SD_SALESDOCUMENT_CREATE. This is what I used to modify/add/delete some data before the basket data is simulated or created as a quotation/order in the SAP ECC system.
    Pradeep

  • Setting up ISA B2B in ECC 6.0

    Hi,
    I need to setup ISA B2B in my ECC 6.0 system...however I'm not sure where to begin:(
    I read that a seperate IPC component is not reqd...since IPC is now part of SAP_AP 7.00..
    Pls. help.
    Thanks,
    Saba.

    Hello,
    I think the following information maybe of help to you .                                                                               
    Please find more information on installation below:                                       
    Please read the Installation Guide for SAP E-Commerce for mySAP ERP                       
    first. You can find the most recent version of the Master Guide,                          
    Installation Guide, and Configuration in the SAP Service Marketplace at                   
    http://service.sap.com/instguides   > mySAP Business Suite Solutions   >                  
    mySAP ERP   > mySAP ERP 2005   > Installation. Read these guides                          
    carefully before you start the installation.                                                                               
    Master Guide: XECO  Chapter 5.1.4, page 131                                                                               
    You access the current Online Documentation from http://help.sap.com/                     
      > Documentation   > mySAP ERP   > mySAP ERP Central Component under                     
    Release ERP Central Component 6.0 SR1 choose language (English)   > SAP                   
    ERP Central Component   > Logistics   > Sales and Distribution (SD)   >                   
    Sales (SD-SLS)   > ERP E-Commerce.                                                                               
    regards
    Mark

  • Order Template in R/3 ISA B2B scenario

    Hi,
    Does anybody know where the Order templates in R/3 ISA 5.0  B2B(with memory catalog) scenario get saved .???
    Somewhere in the isa b2b config guide i read that it gets stored in SAP Web AS Java 7.00 server.If this is true, could you tell me how to access those templates (like from which table and database)?
    Answers will be rewarded with points.
    Thanks
    Ravi

    It gets stored in the database to which your web shop is pointing to.
    Check the shop admin or the xcm config.
    It has some jdbc parameters which would point to the data base which the
    isa application is pointing to.
    This should be a pointer.
    As regards the tables i don't know if there is any document which talks about it.
    (If you do come across any please do share the info for the better of the community)
    Try going thru the source code to identify the tables.
    But yes the order template information is stored in the database (also called by some as java database)

  • Flash Player Installer downloads from the Adobe distribution site as a generic file without an extension and the file won't open.

    Hi, everyone.
    When I download Flash Player Installer from the Adobe distribution site Adobe Flash Player Distribution | Adobe the file downloads to my hard drive as a generic file with no extension, and Windows can't determine which program to use in order to open/play the file. I am using Windows 7 Professional 64 bit.
    Is there something wrong with the downloaded file? Or am I missing required software?
    Thank you for your time,
    -Brandon

    Yes, I've never had a problem before. I've even downloaded the Flash Player Install files from the Adobe distribution site on multiple occasions in the past without issue. The only thing I could think of is that perhaps the ".exe" extension was left off to avoid triggering security measures on a computer or private network that would prevent the download.
    Anyway, it worked after I added the ".exe" extension to the filename, so I have no complaints!

  • Error Message in ISA B2B.

    Hi Gurus,
    I need a help to make the following. I have changed the message type "Product is not in the entered catalog/variant " from Warning to Error. But now I need for this message to have the same behaviour as message "The Product is blocked for ordering" (when the status of the product is set to blocked), because I need - in the shopping basket - not to display the pricing whenever the message comes out.
    I have realized that the Blocked error message doesn't calculate the pricing, therfore I want to have the same behaviour for both the Messages.
    can you help?
    thanks a ton

    Hi Lakshman,
    I mean some data check before order save - for example, I need to display an error message if for given delivery type total quantity of products exceed maximum possible value for this product & this delivery type.
    But what is really important - it is how to check ISA B2B Webshop Order data only after I press "Save" button (only once - before save), not every time when I'm pressing ENTER, for example.
    Could you give me some advice what ISA* Badi method do I need to use?
    Thanks.

Maybe you are looking for

  • Hide the BSP code for the user

    HI we have a requirement, where we need to mask or hide the source code on the BSP pages, or atleast some URLS/hyperlinks within the code. when a  user views the source code, he must not see it in full or atleast hide the URLS within the code. we hav

  • Program buttons with url

    I'm new to flash 8. I got everything the way I need it except I can't figure out how to program the bttons to open a website after clicking on it. Any help would be appreciated. Thanks, JM [email protected]

  • Bought new battery for Mac Book Pro and it won't charge/hold charge...HELP!

    My MBP has been running solely on power adapter for months, I finally bought a replacement battery for my MBP 15" and installed it to charge yesterday. The light on my adapter never turned green. And when I went to unplug it, it immediately powered d

  • JSTL 1.0 problems

    Hi, Been having problems getting the JSTL 1.0 up and running. Well, the example .war works fine but when I try to use the taglib in my own app I get aThis absolute uri (http://java.sun.com/jstl/core) cannot be resolved in either web.xml or the jar fi

  • My iMessages isn't working

    My iMessages isn't working