Application Development 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: 

Transaction Timeout - what cud be the reason ??

Former Member
0 Kudos

Hi,

In the customer system, the following is the scenario.

A SAP Provided transaction (CV04N) times out in Production, whereas for the same parameters, it runs fine in the test environment.

The number of records in both the systems are the same.

The value of the parameter 'rdisp/max_wprun_time' is also the same in both (600).

Need help on what factors would be resulting in this time out in Production system ? Please suggest as to where/what i should be looking at ?

Regards,

Prashanth.

6 REPLIES 6

Former Member
0 Kudos

Hi Prashanth,

One reason why the transaction takes a longer time to execute in the productive environment is probably because a work-process is not immediately available for the transaction to execute. Why don't you try increasing the value of the profile parameter in the Production System ?

Also , the <i>size</i> of the documents in both the environments might be different, even if you say that the <i>number</i> of records is the same.

Regards,

Anand Mandalika.

0 Kudos

Hi Anand,

I am not too sure. (I will ask the customer if the test and prod env are replicas).

But let me assume that the records are exactly the same.

In which case, why would this happen ?

Cud it be some buffer size or something like that ?

Or some other database settings ?

Prashanth.

0 Kudos

Hi Prashanth,

The OSS doesn't seem to have anything related to the timeout of this particular transaction. So If it's a problem with the buffer size or some other database settings, there would be so many other programs / transactions that would get affected as well. Don't you think so?

I don't have any specialized knowledge about <i>buffer size</i>. Are you referring to some specific parameter?

And, don't you think that in general, parameters like these would be configured much better in the productive system than in the test system, especially because of the huge volumes of data involved?

Regards,

Anand Mandalika.

0 Kudos

Hi Anand,

Actually, this is a document search transaction in PLM. The user is meant to run it giving some search parameters.

But what the user has done is he has just given one search parameter (out of nearly 10-15 params), and gives the "Max no of hits" as 99999999, which is quite a big no.

The transaction as such is not performance optimized, and as a result takes a long time. And to output this many records, the system is facing a run out.

I see that on a select, it is fetching for some tables 23 records at a time. and for some, it is batches of 20. Not sure, where this is configurable. and whether increasing this size would change the performance => because it will mean lesser fetches with the database.

Reg,

Prashanth.

0 Kudos

Hi Prashanth,

The CV04N is a part of the Document Management System in SAP. It is not just limited to searching the documents in PLM - there are so many other areas where it is used.

Without any offense, I don't think this user is really very serious with what he intends to do with this transaction in the production system. What do you say ? As the Transaction text suggests, the purpose of the transaction is to help the user <i>find</i> the documents. If you attempt to do such kind of stress-testing, you don't really have to go to CV04N to get a time-out error. You can even get it with some tables in SE16 when you don't specify any restrictions.

If you had noticed, this particular transaction does not have the option to be run in the background. What it essentially means is that the user of the transaction is expected to know what input would be appropriate, at least by experience!!

And the concept of time-out is actually desirable in this case, because otherwise, for this particular operation a work-process will get blocked indefinitely and thus reduce the resources available for other serious users.

I hope you can see the point that I'm trying to make. Just tell the user that the transaction will time-out if (s)he chooses such unrealistic search criteria.

And lastly, I'm not sure that I understood the solution you are trying to propose - you want to tell the system how many records it should fetch ? Wouldn't it be easier to tell the user ?

Regards,

Anand Mandalika.

0 Kudos

Hi,

I've just been looking into a few things and I think that the best option is to just increase the value of the profile parameter <b>rdisp/max_wprun_time</b>. The main purpose of this parameter is to prevent unintentional ( or is it intentional :-)! )logical errors which would cause a program to run indeterminately. For example: a loop without an exit condition.

Now, it seems to me that this parameter has the utmost utility in a development environment, where a programmer is likely to end up coding an endless loop. In case of the production system, it is safe to assume that there would not be any such endless loops in SAP delivered objects. The only remaining possibility is the custom programs. Obviously that is something the customer's QA has to make sure is avoided.

Finally, I don't see any harm in increasing the value of this parameter. You said that it is currently 600, right? make it 1200. Which means that a program can continue to run in the foreground for 20 minutes. Which means that the user just has to wait for the program to complete. Let us hope that the user will not have the patience to wait for so long and will ultimately end up restricting the selection-criteria.

And don't blame me if the user runs the program and goes for a coffe-break / lunch-break only to find that there's another time-out.

Let us know how it goes,and don't forget to reward points in the meanwhile...

Regards,

Anand Mandalika.