User values available in ISA B2B shop

Hi!
I'm playing around in our ISA B2B enviroment and I want to show some other data then what is visible.
For exemple
<%= JspUtil.encodeHtml(user.getAddress().getTitle()) %>
<%= JspUtil.encodeHtml(user.getAddress().getName()) %>
This show the users sirname, is it possible to see what user object contains?
I want to show the Companys name instead of the sirname of the user.
regards
rollo

Hi Rollo
you might need to get the Business Partner and from there you can get the required information. You can probably download the official API and check the available methods.
You might need to take under consideration the Backend that you use - CRM or ERP. Depending on that some objects are named as UserBaseCRM and UserBaseR3.
Hope to be of help
Borislav

Similar Messages

  • 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 .-

  • Login problem in ISA b2b Shop

    Hi there!
    We have a problem with our b2b Shop on ISA 4.0 / Support package 11.
    With the SU01 User configured in the xcm, we cannot login: "Error in user administration, call our hotline"
    But it seems that the Systems "knows" that the user and the passwort with which we try to login exists and is right because otherwise it says "Name or password is incorrect (Please repeat logon)".
    The weird thing is that we have another b2b shop (ISA 4.0, SP 11) running on the same system, which works fine (this shop was provided from another company). We have installed our new shop with the same xcm configurations as the old one.
    When we change the configuration in our new shop to SU05_noCustomerLogin it works(!), but we want to logon via SU01. So it's really strange why the old shop works with the SU01 and our new one not.
    Does anyone here have an idea what we should change / configure / patch / ....
    In the logfile (session trace) we found an entry which could be the key:
    Debug bbcom.sapmarkets.isa.use.backend.r3.UserBaseR3
    no customer found for user
    Any help is appreciated, thanks

    Hello Thomas,
    You didn't give a clue about if it is a R/3 or CRM backend. I am assuming it is ISA CRM 4.0, B2B scenario. I also assuming that you are not testing through Portal. Also, how did you create the user? Did you use user admin application?
    Few things you can check in your (customer) application configuration..
    1 b2b XCM setting:
    Click and set the checkbox "Display Advanced Settings" and see what you have set in the following for YOUR shop and compare it with the shop that works. Note: The advanced section runs more than one page. So you have to click that next page icon
    <li>shopdata
    <li>userdata
    <li>usertype
    Also check the "Base Configuration" you have used in the custom configuration is what you wanted. (b2bcrmstandard, b2bWithUME etc).
    Also, when you said:
    With the SU01 User configured in the xcm, we cannot login: "Error in user administration, call our hotline"
      are you referring to the jco component in XCM or the usertype parameter in the application config? The user ID in jco should normally use a service type user.
    2. shopadmin XCM setting:
    <li>usertype
    If you are using CRM scenario, check if the logged on user (SU01) user has an associated Business Partner with a Contact Person role and that Contact Person has at least one Sold-To (maintained through BP releationship).
    If you are using R/3 scenario, check the reference user setup in the XCM as well as the backend system.
    Easwar Ram
    http://www.parxlns.com

  • I am getting old values after changind the data in CRM ISA B2B.

    Hi,
    I am modifying Standard CRM ISA B2B application. Under "My Account" section. there are two options 1) Password change and 2) Address Change.
    I changed "addresschange.jsp" for Look and feel. I also changed Telephone and Fax input filed by braking them into three input field and made Standard telephone and fax field to hidden. Through Java script I am taking value from Standard file and braking them into 3 part and then display in appropriate field also while saving the record I am taking value from three input fields and assigned to standard field before saving the changes.
    When  I click on Submit button after making changes to name, phone or any field I am getting success  message that your record has been updated successfully but when I revisit it I am getting the old values.
    pl. guide me How  I can resolve this issue?
    Thanks.
    Ashish Patel.

    Hi Gareth
    My understanding is that you want to store some extra attribute for items in your CRM catalog and want to display that extra attribute in the list page ei ProductISA.jsp. If this is all you need to do, then good thing is you dont need to make any changes to any business object class.
    Define a custom attribute in CRM catalog and assign its value. You may need to republish the catalog once you've done this.
    On the Java side to access this extra attribute you can use the following code.
    WebCatItem item = (WebCatItem) lstItems.get(nCount);
    String strOrderCD = item.getAttribute("ZORDERCODE");
    getAttribute() method reads the value of any custom parameter you may define in your CRM catalog. In case you want to send some extra data to CRM, you'll need to use the addExtensionData() method and would need to handle this extra info in the corresponding BADI.
    Cheers
    PB

  • 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

  • ISA B2B

    Hi
    any one can u help me where is the standard CRM ISA b2b application is available in the internet for download....
    please help me on this .......
    Regards
    suresh

    Hi,
    You can two approach for the requirement.
    1) Identify the user language setting and then put the conditional statement to display the link.
    2) Other is to add a key in the .xlf file and display the value of the key in the JSP.
    Both of these approach have its own pros and cons.
    For the first approach, it is easy to implement but it'll very difficult if you extend the this link to any other language.
    For second, its lil hectic but extending to different languages will be lot easier and you don't have to recognize the user language setting, it will be by ISA standard code for you.
    Hope this will give you a direction.
    Regards,
    Prashil

  • 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.

  • 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.

  • Error in b2b shop url.

    Hi all
    I am new to sap crm ,i am woring  on E-COMMERCE  when i try to log on  into b2b shop
    by using   url:http://saperp.sap.com:50000/b2b/b2b/init.do  system seeking  the following error
    "ISA Frame work: com.sap.engineservice.servlet_jsp.server,exceptions. webllegalargument exception: [ http://saperp,:${http.port.core.isa.sap.com}/b2b/user/secure switch.do] cannot  be
    converted into a valid URL." even for WEB SHOP also. prior  to that i have done all xcm setting correctly. hence i request  you all expert ,please help me in this regards
    thanking you
    Regards
    teja

    HI RAM
    Thanks very much for your quick respond, i did know that there is a another  forum for ECOMMERCE
    by miskenly i had posted in this forum.I had done the same as you and srinivas said.but i am confused
    whether i have to use  port number or i have to use drollerAUTO.i have mentioned like  this
    https.port.core= 50001
    http.port.core=50000
    does is this correct,when i mentioned like this and try to  logged on by using the fallowing URL:
    http://saperp.sap.com:50000/b2b/b2b/init.do. system converting into ssl url. And netwear page gets opened up and i logged on by using j2ee_admin user name and password system throughs the fallowing error:" log on problem error while executing,SAP E-COMMERCE application with ume system; try again to logon .if the problem persist, call our hotline".so whether i need to mantain all internet roles to user
    or is there any solution for this. please help me .
    thanking you
    regards
    Teja

  • Using E-Commerce (ISA) B2B From CRM5.0 with CRM7

    Hi all,
    We've been running the E-Commerce B2B Java (ISA) from CRM 5.0 for many years. It is heavily customised.
    We do not have the last SP that was released but are quite a bit behind that. This is essentially because upgrading the Java once it is customised is such a lot of work.
    Now we want to upgrade our CRM to CRM 7 (probably EHP 2).
    Is the old ISA (Java B2B from CRM 5.0) supported in CRM7, do the RFC's still exist, do the BAdI's (ISA Basket Head/Item etc) still exist?
    1) Can we just direct our B2B shop to the new CRM 7 server once we're done with the upgrade?
    Unless BAPI's/RFC's have had their signatures modified (or have been removed) I think that this should work.
    2) Will this work but only if we have the latest Java SP?
    Obviously we'd prefer to just point what we have at the new CRM7 machine, and be up and running, since updating the Java means reintegrating all of the modifications that we've made over the last 6 years and that would be a substantial amount of work.
    Thanks for your time and help,
    Patrick.

    Hi Patrick,
    Yes, we had huge customizations on almost all the JSPs you mention above as well as close to 300+ additional java classes and as well as many modified standard SAP java code. All these over many many years of development.
    ISA7.32 is no different from ISA 5.0 technically except that it runs on JDK6. Functionally there are a few extra features like Loyalty Management.
    The biggest hurdle we had was about the changed signature of methods of standard Java classes and some classes even deleted from packages in the newer version. Any custom java classes using these classes/methods had to be adjusted.
    With similar/more enhancements to what you mention above, upgrading the entire codebase to the newer version took us around 60 days of effort including the fresh setup right from the SLD upto the new J2EE engine and doing the code conflict merge.
    The approach we took was to take all JSPs from the 5.0 version and overwrite the 7.32 version (as it would not make much sense to rewrite them) and for the Java/XML files we did a compare and merge approach.
    Regarding the backend RFC calls, most of them remain same in the order/basket area. I had noticed some changes in the contract items piece where there were now additional import/export parameter and some were even not optional forcing us to send some dummy values where necessary.
    However, if you are using the variant configuration functionality in ISA you will be in surprise. The old ISA 5.0 IPC configuration will not work in 7.32. The newer version has something called as a decoupled mode (for performance reasons) and we had some challenges in that area to get the entire IPC working well. However if you use IPC only for the pricing bit, not much to worry as it remains mostly same.
    PS: We were running a B2C scenario and not B2B. B2C is much more complicated.
    Hope this helps.
    Pradeep

  • Login B2B Shop and Replicate Catalog

    Hi Forum,
    I try to login in the b2b shop, url: http:///b2b/b2b/login.do and i get this message:
    +
    Error in user administration, call our hotline +
    I use the user with this roles: sap_all and sap_new. Also it is type service. I dont know where is the problem and also i have a doubt: Do i have to reproduce the catalog i have created in transaction WWM1¿? If yes, How i do?
    Any suggestion?
    Thanks in advance and regards,
    Mon
    Message was edited by:
            Mon
    null

    Hello Mon,
    The catalog replication tool is used for catalog search enhancement, from R/3 to a TREX server, so the transactions and function modules could be found on R/3 only.  Take into account the prerequisites regarding the use of TREX with ISA R/3, given in the following link: http://help.sap.com/SCENARIOS_BUS2005/helpdata/EN/e0/ce976c29ff495398cc15d370101c94/frameset.htm.  There you will find the R/3 transactions needed to do it on R/3.
    Regards and good luck!,
    Carlos

  • 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?

  • How to display total "items" and "amount " in header.jsp in CRM ISA B2B

    Hi,
    I am modifying “header.jsp” in standard CRM ISA B2B application.  Here we have summary of total number of items and total amount but it is coming in to button and for that below code is there in “header.jsp” and it display it as button text.
    if (!ui.homActivated) { %>
    !!" alt="" border="0" height="16" width="20">
    </td>
    <td class="vertical-align-middle" name="miniBasket" value="<isa:translate key="b2b.header.minibasket.default"/>" >
            <form name="basketForm" action="javascript:show_basket();">
         <input class="green" name="miniBasket" type="button" value="<isa:translate key="b2b.header.minibasket.default"/>"/>   
        </form>
    </td>   
    <% } else { %>
    <!-- HOM scenario - minibasket displays collective order -->
    <td  class="vertical-align-middle" align="right">
    !!" alt="" border="0" height="16" width="20">
    </td>
    <td  class="vertical-align-middle" name="miniBasket" value="<isa:translate key="b2b.header.collorder.default"/>">
    <form name="basketForm" action="javascript:show_collective_order();">
        <input class="green" name="miniBasket" type="button" value="<isa:translate key="b2b.header.collorder.default"/>"/>   
    </form>
    </td>
    <% } %>
    Now I want to display total number of items and total amount separately in two different <td> element.
    How I can get total number of items and total amount in “header.jsp” I tried below code but did not get any success.
    Insert below line in “header.jsp” with respective page import statement for class or let me know which class I have to import.
    <%
         HeaderSalesDocument  hdr =
                (HeaderSalesDocument) request.getAttribute(MaintainBasketBaseAction.RK_HEADER);
        ItemList items =
                (ItemList) request.getAttribute(MaintainBasketBaseAction.RK_ITEMS);
    %>
    And then I use
    <td><%= hdr.getNetValue() %></td>
    <td><%= items.size() %></td>
    But it is not printing any thing and header page not display at all.
    Pl. tell me how to get total amount and number of items in header area. Which class or object I have to use here.
    I really appreciated any help from any one.
    Thanks and regards.
    Ashish Patel.

    Hi, I tried another logic. I took value from  Standard button, in which B2B application display total items and amount and I hide this field, to another text element.
    Now I Am breaking that value in words and stored them in array  and then trying to display that array with particular number which contains total item and amount through Java Script on Focus.
    But problem here is, It is not getting updated automatically I have to click on new text files to trigger Onfocus event. How I can achieve effect like as soon as Standard button changes it's value which is now hidden filed my new text box should update automatically.
    Thanks.
    Ashish

  • 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

Maybe you are looking for