cancel
Showing results for 
Search instead for 
Did you mean: 

750 to 1200 line items per order

Former Member
0 Kudos

Hi

Does any body have the experience of creating order with 750-1200 line items per order, in such scenario how the performance of the e-commerce was handled, was any custom development made to achieve.

please let us know

thanks

vignesh

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

we do see hundreds of items per order, not sure if quite 750, but still a few hundred at a time (and very occasionally perhaps 1000 lines). This is a completely valid and realistic scenario for B2B ordering as many of these type of customers do repeat orders of existing templates + then add new items on top of that depending on their end customer demands.

For example a B2B shop with some tens of thousands of products it is clear that user would want to order hundreds of items in their weekly/fortnightly/monthly order (for example wholesale to restaurants, catering companies, etc) and it would be very strange to not design a B2B E-Commerce solution to handle such orders.

There are various performance related challenges here of which most can be overcome with some effort, however out of the box E-Commerce does not deal well with anything outside the "tens" of items and you won't get "consumer web" performance (measured in single digit seconds) out of the shop with larger baskets as the bottleneck is not the shop but CRM/ECC order creation process.

Basically from an end user perspective you have two time consuming steps:

1. Add to basket

2. Submit of order (and actually display of basket will probably be fairly time consuming as well).

For add to basket, you can reduce the performance issues with some AJAX style implementation to allow for items to be added to basket in the background allowing for customer to continue browsing the shop.

For Submit of order the simplest solution from top of my head (Disclaimer: thinking as I write so please treat this idea with the appropriate level of caution) would be to make this an asynchronous process from the users perspective meaning that the user won't be stuck waiting for order creation and might instead get a message after posting the order that he will receive an e-mail as order confirmation once the order has been created in CRM/ECC.

Obviously this approach would require both custom development as well as reduce the usability of E-Commerce, however this would be a cheap solution for a big performance gain (all other ways I can think of would cost way more to implement).

So 750 to 1200 line items per order. Will you ever get the performance to be in the single digit seconds range? I doubt it, will you get it to sub-1 minute? Perhaps, but with some significant changes to the standard E-Commerce process.

Cheerios,

Kalle

Former Member
0 Kudos

Hi,

I think Kalle is absolutely right, there are some crazy but valid business requirements like that sometimes. We also handled such situation and I also agree with him regarding doing it the asynchronous way, which is more user friendly.

Former Member
0 Kudos

I'd like to see this solution in action though, simply because you have to watch out for other things (apart from the user expirience): memory consumption on the server side and memory consumption inside the browser.

Unless the user happens to use a modern browser it might very well crash with such a large amount of html and JS inside the buffer. Also, we had ecommerce crash multiple times with OutOfMemoryErrors on our servers, it is somehow prone to memory leaks.

Your best bet in order to achieve this on the web: Build the most lightweight application possible. Which may very well mean get rid of most ecommerce features.

Former Member
0 Kudos

Yes there are memory leaks in the app and app does go down sometimes. Can't really comment on building a custom web app solution. Depends on discussion with the client

Have a nice day!!

Answers (6)

Answers (6)

Former Member
0 Kudos

Stefan, as stated, this was not well thought through solution (but with some work would be possible to achieve).

Regarding memory leaks. We have spent quite a bit of time looking in-depth at the shop code over the years and have so far seen very little evidence of actual memory leaks.

MASSIVE memory consumption, yes, definitely, but no actual leaks

If you have a suitable OS and JVM running that will allow you to crank up your JVM memory settings then you will most likely see that the memory usage will plateau...it might just be at a much higher level than you would have reasonably expected.

To give you an example. One of our customers was running a very large catalog (900 000 items) and the shop used 22 GB of memory when running. One of the main reasons in their case, with such a big catalog, was how the web shop chooses to create web cat items and cache them. Deep in the standard shop code you can find that there are lots and lots of ArrayLists initiated and they are all given a >0 default length, which consumes memory even when empty. In this particular case this became such a big issue that we sent SAP the proof that if they would initiate the ArrayLists with 0 length the memory consumption would drop significantly for each WebCatItem instance.

We estimated at the time after some in-place replacements of the CatalogAttributeValue, class out of the pcatAPI.jar where we set it by default to null instead of size of 10 that we would have saved about 40% of memory consumption. We even prepared the test case and sent it all to SAP, but don't think we ever got it implemented in standard code.

Another suggestion was that SAP would implement a LRU cache for catalog caching for larger catalogs....again would help with memory usage challenges.

With another customer we had 1 Million+ hits per business day (8 h period) and I can't remember us ever having to chase up memory leaks in the standard shop code...they might exist, but perhaps the usage scenarios I've been involved in have just not brought most of them to daylight.

Purely out of interest...if you have found memory leaks in the shop it would be interesting to hear where you found them.

Cheers

Kalle

Former Member
0 Kudos

If there is really a business case for 750-1200 line items per order, then, E-Commerce is a very wrong channel to capture these types of orders.

If you are trying to E-commerce to upload either daily retail or warehouse orders into SAP system, you must look into other solutions.

E-Commerce is meant for "simpler" internet based orders.

Former Member
0 Kudos

Maybe you can try it and post the results here, it'll be good for us to know. Make sure you try it on a sandbox or dev server. You can modify the order.jsp to have a loop (1000 times ) to add the items, with some hard coded product id.

Rajiv Mangam

Former Member
0 Kudos

As a web shopper I would never bother ordering this amount of item (retail). If I was a contact person for a business I would hate my job if I had to manually create orders on a website for 1200 line items.

Maybe you need to look at the requirements more, or suggest that maybe EDI, file import or a web service interface might be a better solution.

Former Member
0 Kudos

>

> Hi

>

> Does any body have the experience of creating order with 750-1200 line items per order, in such scenario how the performance of the e-commerce was handled, was any custom development made to achieve.

> vignesh

I don't think you can handle this kind of order in the small shopping basket iframe.

Edit: Where does this business requirement come from? Do you want to handle large deliveries via ecommerce? You could also combine orders in the ERP backend.

Former Member
0 Kudos

Hi

As far as SAP standard is concern it might have a bit of performance issue. Also, the performance will depend on following things:

1. The availability check against each line item.

2. The pricing check at each line item

3. If any custom enhancement is done on the E-Commerce order page (shopping basket), it will have a impact on the performance issue.

4. The partner determination (Delivery to or ship to party) at each line item.

5. Etc

So by and large it will have a performance issue in case of 750 to 1200 line items.

Hope this will be useful.

(I doubt if anyone would have created such a large order from E-Commerce portal)

Regards