Shopping cart Catch-22

I wanted to purchase Eureka, season 1, but in shopping cart - instead of a buy this button - there is a view button that just returns to the Eureka page.
Get error msg. when I try to remove from cart.
Get error msg. when I try to re-add to cart-says that it is already in cart - no duplicates.
Catch-22
Windows XP Pro

Apple, this is why you need to implement a wish list feature. I'll often stumble across a song that I'm not sure I want to buy yet but may be interested in the future. Now, finding out that the shopping cart is limited makes that an even better idea.
I tried submitting this idea in the iTunes Feedback Form, but no go yet. Anyone else want to submit the idea?

Similar Messages

  • Not able to modify list of approver on when Shopping Cart is on Hold

    Hi All
    We are facing the following situation.
    We are creating a new shopping cart and then putting it on Hold. If we open the shopping cart again ( the SC being on Hold), we are not able to add or change the app rovers in approval flow.  But if we order the Shopping Cart and then open it back and try to add or change the approvers we are able to do this.
    We are using BAdI  BBP_CHNG_AGNT_GET to add or change approver and we are trying to debug this BADi to analyse the issue. But we are not able to catch what's happening when the SC is in Hold status. Is there any other method by which we can check in debugging what's happening in the BBP_CHNG_AGNT_GET with SC on Hold.
    Any information in this regard is much appreciated.
    Best regards
    Indrajit Dutta Choudhury
    Atanu Mondal

    Dear Poster,
    As no response has been provided to the thread in some time I must assume the issue is resolved, if the question is still valid please create a new thread rephrasing the query and providing as much data as possible to promote response from the community.
    Best Regards,
    SDN SRM Moderation Team

  • How to access parameters from an object stored in a shopping-cart vector?

    Hello;
    I am writing some code that will be part of a website that will have the
    ability to allow customers to place items into a shopping cart and then
    purchase them.
    The way that the shopping cart works is that a products page is displayed on the website that has 'add' buttons on it next to each product on the page.
    When the customer clicks the 'add' button next to a particular product to purchase it, the code performs a query of a products database table for the numeric product id linked to the 'add' button they clicked.
    When the product id is found, the query then loads the
    product information for it from the DB table columns into the shopping cart
    Vector as an object in the form of a result set string. This object contains
    the parameters that define the product, i.e. product_id, product_quantity,
    date_ordered, ship_status and so on.
    In the code, when the customer is done shopping and clicks on a button
    labelled 'place order', I want the code to access the shopping cart Vector
    and extract each item object from the cart. I then want the code to be able
    to get from each item object, the parameters that make up each item as
    described above and take the values stored in each of the parameters and
    store them in variables. Finally I want to take those variables and write
    them to an orders DB table in the proper columns via a query.
    I have tried researching information on Vectors to see if I could find out a way to do this but the little information that I located did not give me a clear idea
    of how to go about writing the code, it only seemed to suggest a vague,
    rough idea as to how it might be done. I am relatively new to Java
    programming and so don't have any experience working with Vectors.
    I have enclosed the code below that shows how the items are being stored in the shopping cart Vector. Can anybody tell me how I could go about writing the code that will extract the items from the shopping cart as described above in a servlet? Any assistance you can give me will be greatly appreciated.
    Thank you!
    String productID = request.getParameter("productID");
    String qty = request.getParameter("qty");
    Vector cartlist = new Vector();
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    java.sql.Connection conn = java.sql.DriverManager.getConnection("jdbc:odbc:website", "", "");
    java.sql.Statement st = conn.createStatement();
    String query = "SELECT productID, productName, productCategory,
    productPrice from Products WHERE productID ='" + productID + "'";
    java.sql.ResultSet rs = st.executeQuery(query);
    while(rs.next()){
    cartlist.addElement(rs.getString("productID") + " " +
    rs.getString("productName") + " " +
    rs.getString("productCategory") + " " +
    rs.getString("productPrice") + " " + qty);
    } catch(SQLException sqlex){
    } catch(Exception e){
    }

    //Try Changing your code this way.
    String productID = request.getParameter("productID");
    String qty = request.getParameter("qty");
    Vector cartlist = new Vector();
    try
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         java.sql.Connection conn = java.sql.DriverManager.getConnection("jdbc:odbc:website", "", "");
         java.sql.Statement st = conn.createStatement();
         String query = "SELECT productID, productName, productCategory, productPrice from Products WHERE productID ='" + productID + "'";
         java.sql.ResultSet rs = st.executeQuery(query);
         while(rs.next())
              String productID = rs.getString("productID");
              String productName = rs.getString("productName");
              String productCategory = rs.getString("productCategory");
              String productPrice = rs.getString("productPrice");
              String productID = rs.getString("productID");
              cartlist.addElement(new AddCardElement(productID, productName, productCategory, productPrice, productID, qty));
              //class AddCardElement should be there in your application
    catch(SQLException sqlex)
    catch(Exception e)
    //you have to add a new class AddCardElement like this
    class AddCardElement
        public String m_productID;
         public String m_productName;
         public String m_productCategory;
         public String m_productPrice;
         public String m_productID;
        public GenerateLocationData(String productID, String productName, String productCategory, String productPrice, String productID, String qty)
            m_productID = productID;
              m_productName = productName;
              m_productCategory = productCategory;
              m_productPrice = productPrice;
              m_productID = productID;
    }//-Achyuth B

  • Dump while adding a shopping cart in work area in Carryout Sourcing

    Hi Experts,
    We are getting dump while adding a shopping cart to the work area in Carryout Sourcing.
    We want to replicate the Purchase Requisition from R/3 to SRM. And SC contains the limit item with free text service.
    The dump details are as follows :
    The exception 'CX_BBP_PD_ABORT' was raised, but it was not caught anywhere
    along
    the call hierarchy.
    Since exceptions represent error situations and this error was not
    adequately responded to, the running ABAP program 'SAPLBBP_PDH' has to be
    Error analysis
        An exception occurred which is explained in detail below.
        The exception, which is assigned to class 'CX_BBP_PD_ABORT', was not caught and
        therefore caused a runtime error.
        The reason for the exception is:
        Buffer table not up to date
    How to correct the error
        If the error occures in a non-modified SAP program, you may be able to
        find an interim solution in an SAP Note.
        If you have access to SAP Notes, carry out a search with the following
        keywords:
        "UNCAUGHT_EXCEPTION" "CX_BBP_PD_ABORT"
        "SAPLBBP_PDH" or "LBBP_PDHU08"
        "BBP_PD_ABORT"
    Information on where terminated
        Termination occurred in the ABAP program "SAPLBBP_PDH" - in "BBP_PD_ABORT".
        The main program was "SAPLBBP_SOCO_UI_ITS ".
        In the source code you have the termination point in line 73
        of the (Include) program "LBBP_PDHU08".
      READ TABLE lt_callstack INTO ls_callstack2 INDEX 4.
      CONCATENATE   '/' ls_callstack2-eventtype
                    ls_callstack2-eventname ls_callstack2-progname
                    INTO lv_msgarg3 SEPARATED BY space.
      CALL FUNCTION 'BBP_ALERT_INTERNAL_OT'
        EXPORTING
          msgid   = gc_msgid_bbp_pd
          msgno   = 047
          msgarg1 = lv_msgarg1
          msgarg2 = lv_msgarg2
          msgarg3 = lv_msgarg3.
      MESSAGE ID gc_msgid_bbp_pd TYPE c_msgty_i NUMBER iv_msg_no
              WITH ls_callstack1-eventtype
                   ls_callstack1-eventname
                   ls_callstack1-progname.
      rollback work.
    get the messages from the application log
      TRY.
          CALL FUNCTION 'BBP_PD_LOG_GET_MESSAGES'
            TABLES
            e_messages = lt_messages.
        CATCH cx_bbp_pd_abort.
          REFRESH lt_messages.
      ENDTRY.
      RAISE EXCEPTION TYPE cx_bbp_pd_abort EXPORTING
          worked_on_document = lv_guid
          t100_msgid = gc_msgid_bbp_pd
          t100_msgno = iv_msg_no
          t_appl_log_messages = lt_messages.
    ENDFUNCTION.
    Could you please help me on this, how to rectify the dump ?
    Thank you very much in advance.

    Hello,
    I have seen this dump many times because the ERP version defined in table BBP_BACKEND_DEST was not correct.
    Please, check the following note related to this configuration:    
    1230789 - Dump: BBPSOCO01 at include LBBP_PDH_TEOF0B               
    Kind regards,
    Ricardo

  • Want to copy Delivery address of one line item in shopping cart to all item

    Hi Experts,
                    We are upgrading from SRM 5.0 to SRM 7.0,In SC Creation We want to copy Delivery address of one line item in shopping cart to all line items in Shopping cart by clicking Change All Items button.This is custom button we added this button and we had written code to achieve the functionality but it is not working.This is same like Change All Items button in Account Assigment for copy accont details of one line item to all other line items in SC.
    Web Dynpro Component:/SAPSRM/WDC_UI_DO_SHIPTO
    Web Dynpro View:V_DODC_SHIPTO
    Thanks,
    Aarthi.

    Hi Prasad,
                   Our customer needs that button,they want whenever they are clicking the button delivery address should copy to all line items.
    In my action ONCHANGE_ALL_ITEMS i called this method
    wd_this->mo_dodm_shipto->zchange_all_items( ).
    zchange_all_items( ) is  implemented in class /SAPSRM/CL_CH_WD_DODM_SHIPTO.
    the code i wrote inside zchange_all_items( )
    *Error
      DATA: LX_PDO_ABORT               TYPE REF TO /SAPSRM/CX_PDO_ABORT,  " Class for Fatal error caught by PDO Layer
            LX_PDO_ERROR               TYPE REF TO /SAPSRM/CX_PDO_ERROR.  " Class for PDO General Exception
    Object Instances
      DATA: LO_MSG_CONSUMER            TYPE REF TO /SAPSRM/IF_PDO_MSG_CONSUMER,
            LO_PDO_SHIPTO              TYPE REF TO /SAPSRM/IF_PDO_DO_PARTNER.
    Context-Data
      DATA: lte_cll_shipto              TYPE /sapsrm/if_ch_wd_set_facade=>gt_guid_element,
            loe_cll_shipto              TYPE REF TO /sapsrm/if_ch_wd_set_element.
    Field Symbols
      FIELD-SYMBOLS <lse_cll_shipto>    LIKE LINE OF lte_cll_shipto.
    DATA : lo_pdo_acc TYPE REF TO /sapsrm/if_pdo_do_acct_assgmnt.
      DATA : ls_shipto_cll type /SAPSRM/S_CLL_SHIPTO,
             lt_pdo_partnerdetails      TYPE bbp_pdt_partner,
             ls_pdo_partnerdetails      TYPE bbp_pds_partner,
              LV_GUID          TYPE BBP_GUID,
              lv_item_guid type bbp_guid,
             lv_filled TYPE wdy_boolean.
    *exceptions
      DATA : LX_ABORT                  TYPE REF TO /SAPSRM/CX_PDO_ABORT.
    *Constants
      CONSTANTS : LC_OBJECT_ID         TYPE CRMT_SUBOBJECT_CATEGORY_DB VALUE 'BUS2121001',
                  LC_ADDR_ORIGIN       TYPE /SAPSRM/S_CLL_SHIPTO-ADDR_ORIGIN VALUE 'B'.
      IF LV_FILLED = ABAP_TRUE.
    Downcasting to shipto
        LO_PDO_SHIPTO ?= MO_PDO.
    insert the clipboard into facade and update and submit update
        me->/sapsrm/if_cll_do_mapper~insert_from_clipboard( io_set_facade = mon_cll_set_facade ).
    Add new Accounting entries.
        lte_cll_shipto = mon_cll_set_facade->get_data_elements( ). "get all elements from the context
        LOOP AT  lte_cll_shipto ASSIGNING <lse_cll_shipto>.
          loe_cll_shipto = <lse_cll_shipto>-set_element.
          loe_cll_shipto->get_static_attributes( IMPORTING rv_attributes = ls_shipto_cll ).
    Map ui-structure to pdo-structure
          MOVE-CORRESPONDING ls_shipto_cll TO ls_pdo_partnerdetails.
          IF LS_SHIPTO_CLL-PARTNER_FCT =  mv_part_func.
            LS_PDO_PARTNERDETAILS-PARTNER_FCT = ''.
          ELSE.
            LS_PDO_PARTNERDETAILS-PARTNER_FCT = LS_SHIPTO_CLL-PARTNER_FCT.
          ENDIF.
          IF ls_pdo_partnerdetails-del_ind NE 'X'.
            CALL FUNCTION 'GUID_CREATE'
              IMPORTING
                ev_guid_16 = ls_pdo_partnerdetails-p_guid.
           mv_acc_guid_split = ls_pdo_shipto-guid .
            IF mo_scope = 1.
              ls_pdo_partnerdetails-p_guid = mon_cll_set_facade->get_bo_guid( ).
            ELSE.
              ls_pdo_partnerdetails-p_guid = mo_parent_bo_mapper->items_get_lead_selection( ).
            ENDIF.
            APPEND ls_pdo_partnerdetails TO lt_pdo_partnerdetails.
          ENDIF.
          CLEAR : ls_pdo_partnerdetails, ls_shipto_cll.
        ENDLOOP.
    Add New items to PDO
        IF NOT lt_pdo_partnerdetails[] IS INITIAL.
          TRY.
              LO_PDO_SHIPTO->update_item_partners( EXPORTING it_partner = lt_pdo_partnerdetails
                                                               iv_item_guid       = lv_item_guid
                                                   CHANGING co_message_handler = mo_pdo_message_consumer ).
            CATCH /sapsrm/cx_pdo_abort INTO lx_pdo_abort.
              mo_cll_message_handler->set_abort( io_pdo_abort_exception = lx_pdo_abort ).
            CATCH /sapsrm/cx_pdo_error INTO lx_pdo_error.
              mo_cll_message_handler->add_exception( io_pdo_error_exception = lx_pdo_error ).
          ENDTRY.
    Update PDO with the changed data.
          TRY.
              mo_pdo->submit_update( ).
            CATCH /sapsrm/cx_pdo_abort INTO lx_pdo_abort.
              mo_cll_message_handler->set_abort( io_pdo_abort_exception = lx_pdo_abort ).
            CATCH /sapsrm/cx_pdo_error INTO lx_pdo_error.
              mo_cll_message_handler->add_exception( io_pdo_error_exception = lx_pdo_error ).
          ENDTRY.
    Fire refresh of DO Mappers registered for refresh since the item table has acc related data.
          mo_parent_bo_mapper->fire_event_refresh( iv_perform_updates = abap_false ).
        ENDIF.
      ENDIF.
    Thanks,
    Aarthi.

  • JSP Shopping Cart problem

    Hello,
    I'm writing a JSP page with a shopping cart so the user can add products to it, nfortunately the thing won't work.. I keep getting an NullPointerException.. I'm probably screwing up somewhere.. I would be very thankful if you could help me out..
    this is the code for the Shopping Cart Bean:
    [myCart.java]
    package myCart;
    import java.util.*;
    public class myCart implements java.io.Serializable{
         private Vector items;
    public String[] getItems(){
         String strTemp[] = new String[items.size()];
         items.copyInto(strTemp);
         return strTemp;
    public void setItems(Vector newItems){
         items=newItems;
    public void addItem(String newId){
         items.addElement(newId);
    This is the JSP page that I'm using:
    [myCart.jsp]
    <%@ page import="java.sql.*" %>
    <%@ page import="java.util.*" %>
    <jsp:useBean id="myCart" class="myCart.myCart" scope="session" />
    <%
    Connection con;
    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con = DriverManager.getConnection("jdbc:odbc:produkten");
    Statement stmt = con.createStatement();
         ResultSet rs = stmt.executeQuery("SELECT * FROM tblProdukten WHERE NR= "+request.getParameter("nr")+"");
    while (rs.next()) {
         String merk = rs.getString("MERK");
         long temp = rs.getLong("NR");
         String nr = Long.toString(temp);
    -----> myCart.addItem(nr);
         %>
         <BR>Nr     : <%=nr%>
         <BR>test :     <%=merk%>
         <HR>
    <% } %>
    <%
         con.close();
         catch(ClassNotFoundException cnfex)
              out.println("jdbc odbc driver not found // muzz");
         catch(SQLException sqlex)     
              out.println(sqlex);
    %>
    </TABLE>
    </BODY>
    </HTML>
    I think I probably(??) put the <myCart.addItem> in the wrong part of the code..??
    Greetings,
    Michael

    yes, I see, I forgot to initiate that, I'm still
    learning so please bare with me :)
    I now initiated the <items> vector like this:
    Vector items = new Vector();
    and added this:
    myCart.items.addItem(nr);
    But it still won't work correctly >>
    First error: Your Vector items is not a public variable. Therefore, outside classes will not be able to access it. No problem though, you have a method to take care of that. Instead of what you're doing, simply call
    myCart.addItem(nr)This calls the public method addItem(String) which accesses your private Vector items, and adds a string to the vector.
    Your second error should be taken care of. It is resulting from the fact that instead of calling the method addItem() from teh class instance, youre trying to access the Vector items first, and then trying to call addItem() from that... not only can you not access that variable, as stated above, but there is no method in Vector called addItems(). You could conceivably make items public, but I'd stick with what you've got.

  • Shopping cart!! Retriving values from Hashtable?

    Hi,
    Could you please help me solve this problem?
    I am adding some values to the Hashtable. For every time I add the server is definitely showing
    me that some thing is added to the Hashtable. But when I try to print the values present in
    Hashtable, I do not see any thing on the browser other than "table headers" ? Can any one help
    me?
    Here are the codes
    ShopBean.java
    import java.util.*;
    import java.lang.*;
    public class ShopBean
         private Hashtable hashtable = new Hashtable();
         public ShopBean()
         public void addToCart(String itemid,String name,float price,int quantity)
              String[] items = {itemid,name,Float.toString(price),Integer.toString(quantity)};
              if(hashtable.containsKey(itemid))
                   String[] tmpItem = (String[])hashtable.get(itemid);     
                   int tmpQuantity = Integer.parseInt(tmpItem[3]);
                   quantity += tmpQuantity;
                   tmpItem[3] = Integer.toString(quantity);
              else
                   hashtable.put(itemid,items);
         public Enumeration getEnumeration()
              return hashtable.elements();
    Tibre.java
    public class Tibre extends HttpServlet
         String user,s1,s2,s3,s4,s5,s6,s7,prev,next,flag;
         int i,count=0,i1,i2,i3,i4,records=0,from,to,no,rem,k,c;
         public void doGet(HttpServletRequest req,HttpServletResponse res)
              doPost(req,res);
         public void doPost(HttpServletRequest req,HttpServletResponse res)
              try
                   ServletOutputStream sos = res.getOutputStream();
                   HttpSession ses = req.getSession(true);
                   user=(String)ses.getValue("user");
                   ShopBean cart = new ShopBean();
                   String id = req.getParameter("id");
                   if(id != null)
                        String name = req.getParameter("name");
                        Float price = new Float(req.getParameter("price"));
                        cart.addToCart(id,name,price.floatValue(),1);
                        System.out.println("cart values in tibre.java"+cart);
                   sos.println("<html>");
                   sos.println("<body bgcolor=lightyellow>");
                   sos.println("<p>Welcome to Online shopping "+user+" , Please see the
    gallery of items.</p>");
                   sos.println("<table border='1' cellspacing='1' width='41%'
    cellpadding='2' id='AutoNumber1'>");
                   sos.println("<tr>");
                        sos.println("<td width='21%'>");
                        sos.println("<img border='0' src='images/11.gif' width='120'
    height='150'>   ");
                        sos.println("</td>");
                        sos.println("<td width='79%'>");
                        sos.println("<img border='0' src='images/22.gif' width='120'
    height='150'></td>");
                   sos.println("</tr>");
                   sos.println("<tr>");
                   sos.println("<form method='post'
    action='http://localhost:8080/servlet/Tibre'>");
                        sos.println("<td width='21%'>$300 <input type=submit value='Add
    to Cart' name=tibre1>");
                        sos.println("</td>");
                        sos.println("<input type='hidden' value='100' name='id'>");
                        sos.println("<input type='hidden' value='Tibre' name='name'>");
                        sos.println("<input type='hidden' value='300.89' name='price'>");
                        res.sendRedirect("http://localhost:8080/servlet/Tibre");
                        sos.println("</form>");
                        sos.println("<form method='post'
    action='http://localhost:8080/servlet/Tibre'>");
                        sos.println("<td width='79%'>$800.99 <input type=submit
    value='Add to Cart' name=tibre2>");
                        sos.println("</td>");
                        sos.println("<input type='hidden' value='200' name='id'>");
                        sos.println("<input type='hidden' value='Compaq' name='name'>");
                        sos.println("<input type='hidden' value='800.99' name='price'>");
                        res.sendRedirect("http://localhost:8080/servlet/Tibre");
                        sos.println("</form>");
                   sos.println("</tr>");
                   sos.println("</table>");
                   sos.println("<a href='http://localhost:8080/servlet/ViewCart'>View
    Cart</a>");
                   sos.println("</body>");
                   sos.println("</html>");
              catch(Exception e)
                   e.printStackTrace();
    ViewCart.java // When I click viewcart I should display the contents from the hashtable
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;
    public class ViewCart extends HttpServlet
         public void doGet(HttpServletRequest req,HttpServletResponse res)
              try
                   ServletOutputStream sos = res.getOutputStream();
                   ShopBean cart = new ShopBean();
                   sos.println("<html><head>");
                   sos.println("<title> Shopping Cart Contents</title>");
                   sos.println("</head>");
                   sos.println("<body bgcolor=lightyellow>");
                   sos.println("<table border='1' width='300' cellspacing='0'
    cellpadding='2' align='center'>");
                   sos.println("<caption><b>Shopping cart contents</b></caption>");
    sos.println("<tr><th>description</th><th>Price</th><th>Quantity</th></tr>");
                   Enumeration enum=cart.getEnumeration();
                   String[] tmpItem;
                   while(enum.hasMoreElements())
                        tmpItem=(String[])enum.nextElement();
                        sos.println("<tr>");
                        sos.println("<td>"+tmpItem[1]+"</td>");
                        sos.println("<td align='center'>"+tmpItem[2]+"</td>");
                        sos.println("<td align='center'>"+tmpItem[3]+"</td></tr>");
                   sos.println("</table>");
                   sos.println("</center>");
                   sos.println("<a     href='http://localhost:8080/servlet/Tibre'>Back to
    Catalog</a>");
                   sos.println("</body>");
                   sos.println("</html>");
              catch(Exception e)
                   e.printStackTrace();
    Also please correct me if there are any mistakes in my code.
    Thanks for any help
    Uma

    Few errors,
    1.Your 'addToCart' method in the bean will not work as you are thinking. Try to find out the reason by yourself.
    2.ShopBean cart = new ShopBean(); in your ViewCart servlet gives you a fresh bean with a blank hashtable. Obviously it will not contain any items and hence you are not getting them displayed in the browser. Again you need to find out the error, I can give you a clue, Insert an item in the bean's constructor and test your code.
    3.You need to carry the information between your servlets, session is the best thing to use. So, your bean's scope must be session.
    Try to solve it by yourself, this forum will always be there to guide you.
    Hope this helps.
    Sudha

  • Function module to read Shopping cart

    Folks,
    The answer I am looking for is not BBP_PD_SC_GETDETAIL.
    Here is the situation: During the approval process, the approver needs to be able to change few fields. So, i used the secur_badi to give him a "Change shopping cart" button. But, when he hits the change, all the fields on the shopping cart are available for change. So, this guy could monkey around and change some of the fields he is not suppose to change and I need to catch this in the check badi.
    So, I started using the BADI "BBP_DOC_CHECK_BADI" and used FM 'BBP_PD_SC_GETDETAIL' to get the shopping cart details. But, this gives me only the PRESENT values on the screen ... and I need to compare it with the shopping cart values in the database. Is there any function module that could help me here?
    The idea is to compare field by field and throw an error if he chnages the fields he is not supposed to chnage. (ugly ha!)
    Thanks
    Sri

    Hi Sri,
    You are right, calling BBP_PD_SC_GETDETAIL during the user session will retrieve the data in user session memory, and not the physical one stored in the database.
    So you have 2 solutions:
    - check each field value against physical value in DB: direct SQL access in SRM tables (CRMD_ORDERADM..., BBP_PD...)
    - change the PBO modules "modify_screen" of each SC screen to close wanted fields if sy-tcode = SC aproval TCODE. this would be eased if a BADI was available for SC screens (like BBP_UI_CONTROL_BADI).
    I prefer the 2nd one.
    Rgds
    Christophe

  • Shopping cart only accepting credit cards sometimes

    I replaced a Prostores shopping cart with a BC cart and my client keeps telling me of the significant number of people who are having getting the shopping cart to accept their credit cards.  While there are a certain number of people who mistype, we've been doing this for a number of years and we can tell when there are lots more such complaints than usual.
    I just put in a credit card for someone (on Chrome) and it gave me an error "Go Back."  I entered the same information on Firefox and it was successful.
    If we didn't all have years of experience with this, I would simply dismiss, but I really believe there are problems. 
    Is anyone else having this experience?  Is there anything else I can do to improve the performance?
    Katie

    One thing that we find very helpful is we added a script that emails the admin the results of every transaction, both succesful  and not.  We post in this email the communications that come back from the payment gateway, which normally you never see. This is extremely helpful in quickly catching and diagnosing errors or miscommunications between the site and the gateway that otherwise would be very hard to figure out, or sometimes even know about.
    Another good thing about this is you will know a customer has an unsuccessful transaction the same time they do and if you wish you can contact them to see if you can help. This often saves sales and customers that you may otherwise unknowingly lose.
    The way we have it set up, this can be turned off or on, incase the merchant finds all the emails annoying, but it's a good safety net to have in place if you are having issues like you describe.
    I'm not familiar with the code in the cart that you are using, but there is always a point in the gateway transaction flow where you can add in this sort of "listening" system.  I'd recommend doing something like this.
    Hope this helps.
    Lawrence Cramer - *Adobe Community Professional*
    http://www.Cartweaver.com
    PHP & ColdFusion Shopping Cart for Adobe Dreamweaver
    Stay updated:
    http://www.facebook.com/cartweaver
    http://www.twitter.com/cartweaver
    http://blog.cartweaver.com

  • SAP function to delete shopping cart (set header status I1040)?

    Does anyone know of a SAP function which can delete a shopping cart (set header status I1040)?
    We're running the EBP extended classic scenario with SRM 4.0 and SRM_SERVER 5.00.
    Thanks,
    Brad

    I don't know about the OP's reasons, but I've been looking for a similar solution as well. In my case our users sometimes create shopping carts under e.g. the wrong budget code, and the approvers don't always catch this, resulting in an approved SC that we can't change or delete but equally can't use.
    I'll check out those fcns, thanks for that. From your question it sounds like there's some reason why this shouldn't be done though? Would this be seen as a bad practice? How would you recommend dealing with the above situation?
    Thanks, John.

  • Workflow goes in error when the shopping cart is rejected

    Hi All,
    We have implemented n step approval workflow.
    The issue is when the shopping cart gets rejected, the workflow WS14900032 gets called which sends the mail to approver/initiator/reviewer.
    The catch here is this workflow is going in error only in case of approvers and that too sometimes.
    Can anybody tell me what might be the issue with this.  I have already compared the correct and errored workflow data but do not find anything specific.
    Please help.
    Regards,
    Neha

    Hi,
    What was the error detail in SWI2_DIAG transaction?
    Regards,
    Masa

  • About shopping cart.  Please help!

    How can I add some statements to the following program to check whether the selected item has been tried to add to the shopping cart the second time so that the user can be warned "You can only choose this item once!"?
    Here is the servlet that adds the chosen item to the cart by invoking the add(String) method of the ShoppingCart class.
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import java.util.*;
    public class CatalogServlet extends HttpServlet {
    public void doGet (HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException, NullPointerException
    Connection dbConn=null;
    PreparedStatement p_pt=null;
    ResultSet rs_pt=null;
    PrintWriter out = null;
    try
    //load JDBC-ODBC Bridge driver
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    //establish database connection using ODBC
    dbConn = DriverManager.getConnection("jdbc:odbc:cartlet");
    catch (ClassNotFoundException e) //Class.forName throws
    System.out.println("JDBC-ODBC bridge not found!");
    return;
    catch (SQLException e) //DriverManager.getConnection throws
    System.out.println("SQL exception thrown in init!");
    return;
    try{
    // set content-type header before accessing the Writer
    response.setContentType("text/html");
    // Additions to the shopping cart
    HttpSession clientSession = request.getSession( true );
    ShoppingCart vBasket = (ShoppingCart)clientSession.getValue("thecart");
    if ( vBasket == null ){
    System.out.println("NO CART");
    vBasket = new ShoppingCart();
    clientSession.putValue("thecart", vBasket);
    System.out.println("MADE THE CART");
    out = response.getWriter();
    // then write the data of the response
    out.println("<html>" +
    "<head><title> CD Catalog </title></head>" +
    "<body bgcolor=\"#ffffff\">" +
    "<center>" +
    "<hr> <br> " +
    "<h1>" +
    "<font size=\"+3\" color=\"red\">CD </font>" +
    "<font size=\"+3\" color=\"purple\">Catalog</font>" +
    "</h1>" +
    "</center>" +
    "<br> <hr> <br> ");
    String the_item=null;
    String movieToAdd = request.getParameter("ic");
    if (movieToAdd != null) {
    p_pt = dbConn.prepareStatement("select itemid, item from item_master where itemid=?");
    p_pt.setString(1, movieToAdd);
    rs_pt = p_pt.executeQuery();
    if (rs_pt.next()) {
    the_item=rs_pt.getString("itemid");
    out.println("<p><h3>" + "<font color=\"#ff0000\">"
    + "You just added <i><BR>" + "<IMG SRC=\"http://eric-fyp:9111/emovie/"
    + rs_pt.getString("item") + "\">"
    + "<BR></i> " + "to your shopping cart</font></h3>");
    vBasket.add(the_item);
    System.out.println("ADDED");
    System.out.println("Here are the items");
    Hashtable shoppeditems = vBasket.getItems();
    Enumeration enum = shoppeditems.keys();
    while (enum.hasMoreElements()) {
    System.out.println((String)enum.nextElement());
    out.println("</body></html>");
    out.close();
    catch(SQLException ex)
    out.println("<HTML>");
    out.println("<HEAD><TITLE>Database Error!</TITLE>");
    out.println("</HEAD>");
    out.println("<BODY><H3>Error</H3><h6>" + ex.getMessage() +"</h6>");
    out.println("</BODY>");
    out.println("</HTML>");
    catch (Exception e)
    System.out.println(e.getMessage());
    finally
    if (rs_pt!=null) {
    try{
    rs_pt.close();
    catch (SQLException e) {}
    if (p_pt!=null) {
    try{
    p_pt.close();
    catch (SQLException e) {}
    if (dbConn!=null) {
    try{
    dbConn.close();
    catch (SQLException e) {}
    public String getServletInfo()
    return "CatalogServlet.java";
    Here is the ShoppingCart class
    import java.util.*;
    public class ShoppingCart {
    Hashtable items = null;
    public ShoppingCart() {
    items = new Hashtable();
    public void add(String movieId) {
    Integer sc_value=null;
    int sc_i_value=0;
    if(items.containsKey(movieId)) {
    sc_value = (Integer)items.get(movieId);
    sc_i_value=sc_value.intValue();
    sc_i_value++;
    items.remove(movieId);
    items.put(movieId, new Integer(sc_i_value));
    System.out.println("UPDATED!!");
    else {
    items.put(movieId, new Integer(1));
    public Hashtable getItems() {
    return items;
    Hope anyone can help! Thx!

    After you retrieves the shopping cart items from the database, store the items in a HashSet, so when the user adds a new item, you just need to check whether the HashSet contains that item, if it is already in the set, show the warning. If not exist, insert the item to your database. You can use the response.sendRedirect() method to redirect the user to a warning page.
    HashSet is a very good data structure since it doesn't contain duplicate elements. It is also extremely fast.
    String itemID = 2323; // some item id in your catalog
    HashSet itemset = new HashSet();  // you should add your existing cart items to this HashSet
    // no do the checking
    if(itemset.contains(itemID) {
    response.sendRedirect("warning.jsp"); // forward it to a warning page
    return;   // processing no further
    } else {
    // in here, do the db update, and display the cart to the user

  • Need Help Badly on Shopping Cart Using JSP And Java Servlet

    Hi All,
    This is the 1st time i am trying to create a shopping cart using JSP and Servlet.
    I have read through a few acticles but i still do not get the whole idea of how it works.
    Please guide me as i need help very badly.
    Thanks.
    This is one of the jsp page which displays the category of products user would like to buy : Products.jsp
    <html>
    <head>
    <title>Purchase Order</title>
    </head>
    <body topmargin="30">
    <table border="0" width="100%" id="table1" cellpadding="2">
         <tr>
              <td bgcolor="#990000" width="96">
              <p align="center"><b><font face="Verdana" size="2" color="#FFFFFF">
              Code</font></b></td>
              <td bgcolor="#990000" width="260">
              <p align="center"><b><font face="Verdana" size="2" color="#FFFFFF">
              Description </font></b></td>
              <td bgcolor="#990000" width="130">
              <p align="center"><b><font face="Verdana" size="2" color="#FFFFFF">Brand
              </font></b></td>
              <td bgcolor="#990000" width="146">
              <p align="center"><b><font face="Verdana" size="2" color="#FFFFFF">UOM
              </font></b></td>
              <td bgcolor="#990000" width="57">
              <p align="center"><b><font face="Verdana" size="2" color="#FFFFFF">Unit<br>
              Price </font></b></td>
              <td bgcolor="#990000" width="62">
              <p align="center"><b><font face="Verdana" size="2" color="#FFFFFF">
              Carton<br>
              Price </font></b></td>
              <td bgcolor="#990000" width="36">
              <p align="center"><b><font face="Verdana" size="2" color="#FFFFFF">
              Qty</font></b></td>
              <td bgcolor="#990000" width="65">
              <p align="center"><b><font face="Verdana" size="2" color="#FFFFFF">Add<br>
              To Cart</font></b></td>
         </tr>
    <tr>
    <td align="center" width="96" bgcolor="#CCCCCC">
    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">123</font>
    </td>
    <td align="center" width="260" bgcolor="#CCCCCC">
    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Tom Yam</font>
    </td>
    <td align="center" width="130" bgcolor="#CCCCCC">
    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nissin</font>
    </td>
    <td align="center" width="146" bgcolor="#CCCCCC">
    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">12 x 10's</font>
    </td>
    <td align="center" width="57" bgcolor="#CCCCCC">
    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">$3.85</font>
    </td>
    <td align="center" width="62" bgcolor="#CCCCCC">
    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">$46.2</font>
    </td>
    <td align="center" width="36" bgcolor="#CCCCCC">
    <!--webbot bot="Validation" S-Data-Type="Integer" S-Number-Separators="x" -->
    <p align="center"><input type="Integer" name="Q10005" size="1"></p>
    </td>
    <td align="center" width="65" bgcolor="#CCCCCC">
    <p><input type="checkbox" name="checkbox" value="123"></p>
    </tr>
    <tr>
    </table>
    <table border="0" width="100%" id="table2">
         <tr>
              <td>
              <div align="right">          
                   <input type="hidden" name="hAction" value="AddToCart"/> 
              <input type=submit name="submit" value="Add To Cart"/>                     
    </div>
    </td>
         </tr>
    </table>
    </body>
    </html>
    After user has make his selection by entering the qty and ticking on the check box, he would click the "Add To Cart" button ... and this would call my servlet : AddToAddControlSerlvet.java
    import javax.servlet.http.*;
    import javax.servlet.*;
    import java.io.*;
    import java.util.*;
    import java.util.ArrayList;
    public class AddToCartControlServlet extends HttpServlet
         public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,IOException
              String action = req.getParameter("hAction");
              if (action.equals("AddToCart"))
                   addToCart(req,res);
         public void addToCart(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
              try
                   String url = "";
                   String[] addList = req.getParameterValues("checkbox");
                   HttpSession sess = req.getSession(true);
                   //String sessionID = sess.getId();
                   DBClass dbClass = new DBClass();
                   ArrayList cartList = new ArrayList();
                   for (int i = 0; i < addList.length; i++)
                        String productCode = (String)addList;
                        int qty = Integer.parseInt(req.getParameter("Q"+productCode));
                        Products product = dbClass.getProductDetail(productCode);
                        double totalUnitAmt = qty * product.getUnitPrice();
                        double totalCartonAmt = qty * product.getCartonPrice();
                        Order order = new Order(product.getProductCode(),product.getProductDesc(),product.getBrandName(),product.getUom(),qty,product.getUnitPrice(),product.getCartonPrice(),totalUnitAmt,totalCartonAmt);
                        cartList.add(order);
                   sess.setAttribute("cartList", cartList);
                   url = "/Cart/CartDetails.jsp";
                   ServletContext sc = getServletContext();
                   RequestDispatcher rd = sc.getRequestDispatcher(url);
                   rd.forward(req, res);
              catch (Exception e)
                   System.out.println(e);
    From here, i would get the list of items which user has selected and add to the cartList, then i would direct the user to CartDetails.jsp which displayed the items user has selected.
    From there, user would be able to remove or to continue shopping by selecting other category.
    How i do store all the items user has selected ... everytime he would wan to view his cart ...
    As i would be calling from jsp to servlet .. or jsp to servlet ... and i do not know how i should go about in creating the shopping cart.

    Hi !
    Yon can use a data structure as vector and store the items selected by the user into the vector . Keep the vector in session using session object , so the user can access the entire shopping cart from anywhere in the application .
    Then , you can change the cart accordingly .
    Hope this works.
    Cheers ,
    Pranav

  • How to use customer extension table for schedule line for shopping cart ?

    Dear Experts,
    One of our client wants to have schedule lines in shopping cart item. I am thinking of using customer extension table at item level for shopping cart. Could you please help me on  how I should proceed with the appending the structures so that the end user can fill the shopping cart schedule line details?
    Which fields should I consider in such cases?
    Thanks and regards,
    Ranjan

    Hi.
    I guess you use SRM 7.0. Please go to IMG.
    SRM -> SRM Server -> Cross-Application Basic Settings -> Extensions and Field Control (Personalization) -> Create Table Extensions and Supply with Data
    Regards,
    Masa

  • Creation of User defined field in Shopping Cart

    Hi All,
    We are using SRM 4.0, we have requirement to have MRP controller field on basic data screen of shopping cart(for services as well as material). This field will get transferred to R/3, based on which release strategy will get triggred.
    We have table in which we maintain user & his MRP controller. Requirement is that the MRP controller filled should get filled with the table value (in case of shop on behalf, MRP controller should of respective user on whose behalf the SC is being created).
    I know how to create the field. I want to know the flow/logic to achieve this.
    Please give suggestion to me.
    Thanks & Regards,
    Ajay Pakhale
    Edited by: Ajay Pakhale on Jun 10, 2008 7:19 PM

    Re: BBP_CUF_BADI_2
    Re: Custom screen
    Re: badi for custom field check
    Re: Control Busniess Area Field in Account Assignment..
    Re: CUF display or input

Maybe you are looking for