Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BAPI_SALESORDER_CREATEFROMDAT2

Former Member
0 Likes
858

Hi all, Iu2019m working in an important Project and I have a critic issue related with the performance during the creation of a sales order. The program (a z development) that creates the sales order is a very simple development; it only has the call to the BAPI_SALESORDER_CREATEFROMDAT2.

Weu2019re going to generate approximately 130000 sales orders with one item each every month, and the program takes about 20 seconds per sale order. Actually, with our estimation, the process would take more than 722 hours.

We need to generate this orders during a day at least.

Does somebody have a solution for this issue?

Does anyone have experience processing large volumes of data?

Thank you in advance!

1 ACCEPTED SOLUTION
Read only

brad_bohn
Active Contributor
0 Likes
759

Trace the sales order creation and identify where the time lag is. A single order should not take that long. We create orders with ref to contracts that have hundreds of items on them and it doesn't take that long. Your SQL trace will identify the issue. Most likely it's in custom code or in code that had been fixed in an OSS note.

4 REPLIES 4
Read only

brad_bohn
Active Contributor
0 Likes
760

Trace the sales order creation and identify where the time lag is. A single order should not take that long. We create orders with ref to contracts that have hundreds of items on them and it doesn't take that long. Your SQL trace will identify the issue. Most likely it's in custom code or in code that had been fixed in an OSS note.

Read only

Former Member
0 Likes
759

I Found the oss note 1260002, i thing that resolved this problem.

Read only

Clemenss
Active Contributor
0 Likes
759

Hi Joel,

I hope the SAP note already helps.

My experience says you should determine the maximum number of orders to create before calling BAPI_TRANSACTION_COMMIT (or commit work). This takes some experimenting because a lock table overflow can be quite harmful because you it's hard to find out was has been created and what has not.

Create an order similar to one of your mass upload and check in locks overview what and how many locks are set. I remember in mass customer master data change, we ran in to trouble after 20 000 customer changes without commit.

You could consider parallel processing, the easiest way is creating IDOCS. We had sales orders created by IDOCS like 5 per second.

Regards,

Clemens

Read only

Former Member
0 Likes
759

Thanks all,

I will try to implement idoc.

thanks

Joel