LOCKTIMEOUT function bounds

fracche
Member Posts: 2
Hi to all.
I'm experiencing locking issues with a procedure so I tried to use LOCKTIMEOUT(FALSE) to avoid the client error to be shown at the user.
Nevertheless, the message is showing. I would like to understand more about this function: Microsoft Docs says: "When the C/AL code has finished running, the default setting is used again." so I expected it to be called just once for an entire session but, because the message was still showing, I had to put it randomly in other code parts while debugging the procedure (before some FIND('-') or FINDSET).
Does anyone knows how this function is supposed to be used?
NAV version is 2017 CU00. Timeout duration parameter is 30 sec (default value).
Thanks in advance.
Francesco
I'm experiencing locking issues with a procedure so I tried to use LOCKTIMEOUT(FALSE) to avoid the client error to be shown at the user.
Nevertheless, the message is showing. I would like to understand more about this function: Microsoft Docs says: "When the C/AL code has finished running, the default setting is used again." so I expected it to be called just once for an entire session but, because the message was still showing, I had to put it randomly in other code parts while debugging the procedure (before some FIND('-') or FINDSET).
Does anyone knows how this function is supposed to be used?
NAV version is 2017 CU00. Timeout duration parameter is 30 sec (default value).
Thanks in advance.
Francesco
0
Best Answer
-
Hi, I figured it out on my own after some testing: the value is set to FALSE until COMMIT (end of SQL transaction or C/AL code COMMIT instruction) is executed. I had to put it in many places because there was plenty of COMMIT instructions in the original code.
Thanks anyway.0
Answers
-
Microsoft Docs says: "When the C/AL code has finished running, the default setting is used again"
SETFILTER(...) LOCKTIMEOUT(FALSE); FINDSET; // LOCKTIMEOUT applies only to this line FINDSET;
But can't say for sure, personally haven't used the LOCKTIMEOUT yet.
Slawek Guzek
Dynamics NAV, MS SQL Server, Wherescape RED;
PRINCE2 Practitioner - License GR657010572SG
GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-030 -
Hi, I figured it out on my own after some testing: the value is set to FALSE until COMMIT (end of SQL transaction or C/AL code COMMIT instruction) is executed. I had to put it in many places because there was plenty of COMMIT instructions in the original code.
Thanks anyway.0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions