patwanirav
24th July 2015, 11:33
Getting below error message while doing concurrent transaction.

Bdberrno : 201 (Record changed after delayed lock)
ExtraInfo : session: "ltsas0107m001";object: "ltsas0107m001"; function: "whwmd.dll1000.update.item.inventory.by.warehouse" sql.exec; company number: 810
query: "select whwmd215.*, whwmd210.iwhs
from whwmd215 for update, whwmd210
where whwmd215._index1 = {:i.warehouse, :i.item}
and whwmd215.cmba refers to whwmd210
as set with 1 rows
hint use index 1 on whwmd215
"
Message : FATAL ERROR: Error 201 (Record changed after delayed lock) on tcibd100810 (retry point suppressed in transaction slave)


Thanks in advance :)

bhushanchanda
24th July 2015, 14:54
Hi,

Use db.retry.point() to handle 201 errors. An attempt to update the record was failed and there is no retry point set and hence you get this error.

201 EROWCHANGED - Row changed by other user
Description:
This error indicates that the record was changed after a delayed lock.
Solution:
Reattempt to change the row.

patwanirav
25th July 2015, 06:06
Hi Bhushan,
I had already set the db.retry.point(), but still it is giving this error message. The strange thing is that when I do the concurrent transaction from ERPLN through different login it is working fine. but when I do the same thing using BDE and SOAP it is failing. Not able to find out why this is happening. Is there any help I can get from anyone ???

bhushanchanda
25th July 2015, 08:27
Hi,

Remove db.retry mode if used in dal.* I guess this is your code -
http://www.baanboard.com/baanboard/showthread.php?p=195032#poststop

It will keep calling retry point.

So, just set retry point, and use DAL without flags.

patwanirav
28th July 2015, 06:18
Hi Bhushan,
I had used the same code suggested by you and it is not working in concurrent transaction. it is giving 201 (Record changed after delayed lock) error.

bhushanchanda
28th July 2015, 09:35
Hi,

If possible, post your complete code. That will help to understand the issue better.

gk1234
26th April 2016, 08:29
Have you already found a solution for this problem. I'm just working on the same problem using BDE and Soap with concurrent transactions? In LN everything is working fine. The error message is exactly the same.