gget79
26th August 2008, 22:47
Hi experts,

I am working with Baan Vc.

I am creating a program that it allows to process the Sales Order by means of the functionality AFS, that is to say, an external application puts data in a temporary table (tuint920) of BaaN and I am using this information to process sale orders. This application works well for me when I use it in single user mode, but the idea is this session that contains the logic with AFS to process with multiple threads the existent information in the temporary table (tuint920), but when I execute it by ba6.2 with 5 threads to improve the yield I get an error 201, this message throws it to me the session tdsls4100m000.

Is there some special consideration that I should have when I send to process in multi threads a session that logical AFS contains toward the session of Sale Orders?

Thank you for your advice.

mark_h
27th August 2008, 02:50
What is the actual error message or what is it saying the 201 error is? Also is there any more information in any of the log files? Are you sure the error comes from tdsls4100m000 and not the session doing the processing?

wiggum
27th August 2008, 11:51
@mark_h:
Error 201 is the expressive ;-) message "Record changed after delayed lock"

@gget79:
I think you got the message because some of the threads were processing the same record. You should ensure that your threads will processing different records by using application locks.

mark_h
27th August 2008, 15:49
@mark_h:
Error 201 is the expressive ;-) message "Record changed after delayed lock"

@gget79:
I think you got the message because some of the threads were processing the same record. You should ensure that your threads will processing different records by using application locks.

Thanks - I never seem to be able to remember error messages.

There is also the possibility of the actual Baan session running in the background causing this error, but like wiggum said make sure it is not your session.

gget79
27th August 2008, 16:19
Hi Mark,

Yes, I am sure that the error message throw me the tdsls4100s000 session, I am reviewing the source code, and only I found something as this:

stpapi.put.field("tdsls4100s000", "tdsls400.sotp", tuint920.sotp)

That is to say is passing such argument to "stpapi.put.field" the table field "tuint920.sotp" directly. Is there any problem with this?

@wiggum I cann't use to application lock because I get a lot time of processing

Thank you for your advice.

mark_h
27th August 2008, 16:56
I can't say for sure - too me nothing is updated in the subsession until you do a stpapi.save or insert. Are you trying to process the same order in different function servers? Sorry but not familiar enough with the tdsls sessions or baan5.