Separating the Carts
One of our clients had this issue where they would like to separate out the iStore carts in Release 11i, in essence, same user should be able to shop from different Specialty Stores but the carts must be unique to the site. In release 11i, this is not the case, there is a single for a single sign-on, does not matter what stores user visited, all the items are checked into one cart.
When this issue was to be addressed, we had two choices. One was to use the Quote.Save method with various parameters that will need to be passed, eg.
Quote shopCart = new Quote();
shopCart.controlRec = new oracle.apps.ibe.shoppingcart.quote.ControlRecord();
shopCart.controlRec.pricing_request_type =
IBEUtil.getStoreProfile(“IBE_PRICE_REQUEST_TYPE”);
shopCart.controlRec.header_pricing_event =
IBEUtil.getStoreProfile(“IBE_INCART_PRICING_EVENT”);
shopCart.controlRec.line_pricing_event =
IBEUtil.getStoreProfile(“IBE_INCARTLINE_PRICING_EVENT”);
shopCart.controlRec.calculate_tax_flag = “N”;
shopCart.controlRec.calculate_freight_charge_flag = “Y”;
shopCart.headerRec = new HeaderRecord();
shopCart.headerRec.currency_code = RequestCtx.getCurrencyCode();
shopCart.headerRec.price_list_id = StoreMinisite.getPriceListID();
shopCart.headerRec.quote_source_code = “iStore Account”;
shopCart.headerRec.quote_name = “IBE_PRMT_SC_UNNAMED”;
java.sql.Timestamp cartDate = null;
boolean addLineDet = false;
commit_flag = false;
Object txnobject = new Object();
try {
TransactionScope.begin(txnobject);
shopCart.save(partyId, acctId, shareeNumber, Quote.USE_PROFILE,
false, true, addLineDet, false, false,
false, false, false, false, false,
false, false, false, false, false,
false, false, false);
cartDate = shopCart.headerRec.last_update_date;
commit_flag = true;
But the big issue we were facing was that this method did not work as is, there had to be some tweaking done and this costed our client the development time.
Instead, we came up with a plan to pass the minisite_id and responsibility_id, when the user logs in. Which means every time the user logs in, iStore is all set to create the cart for a particular minisite_id and responsibility_id combination, thus separating the carts, without much of code change.
This feature is inherent in Release 12. The surprising fact is that aso_quote_headers_all table (the Cart table), has a column for that stores the minisite_id, however it looks like it is not getting used.
There are no comments yet.