Warehouse receipt and shipment?
Alex_Chow
Member Posts: 5,063
Has anyone noticed that when you poste a Receipt and Shipment in warehouse management, the code does not contain any LOCKTABLE function?
We're running into problems where the Receipt and the Shipment are getting interrupted because someone else is posting a transfer order.
Anyone running into this problem? Or does the warehouse shipment and receipt calls the LOCKTABLE function, but it's just not apparent?
We're running into problems where the Receipt and the Shipment are getting interrupted because someone else is posting a transfer order.
Anyone running into this problem? Or does the warehouse shipment and receipt calls the LOCKTABLE function, but it's just not apparent?
Confessions of a Dynamics NAV Consultant = my blog
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book
0
Comments
-
The codeunits call "Sales-Post", "Purch.-Post", "TransferOrder-Post*".
In these codeunits there are some locktables.
I don't have had the problem yet, so I don't know what you might do to solve it (except locking all from the warehouse posting routines).Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
kriki wrote:The codeunits call "Sales-Post", "Purch.-Post", "TransferOrder-Post*".
In these codeunits there are some locktables.
I don't have had the problem yet, so I don't know what you might do to solve it (except locking all from the warehouse posting routines).
Yes, codeunits Sales-Post", "Purch.-Post", "TransferOrder-Post*" have the LOCKTABLE function. However, codeunit Whse.-Post Shipment and Whse.-Post Receipt does not use ANY LOCKTABLE.
This is creating havoc for the users when they post a large shipment or a large receipt in WHM.Confessions of a Dynamics NAV Consultant = my blog
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book0 -
To solve it, you can see here:
http://www.mibuso.com/forum/viewtopic.php?t=10025.
Problem can be that it can lock everything for quite a long time.Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
I believe the problem is caused by the COMMIT and LOCKTABLE function. When another function has the table locked, and you try to commit it, it'll kick out with an error.Confessions of a Dynamics NAV Consultant = my blog
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book0 -
To avoid it you best lock all tables involved from the beginning. But you have to lock them in a certain order I don't remember. :oops: It is written in some document I don't remember. :oops: :oops: :oops:deadlizard wrote:I believe the problem is caused by the COMMIT and LOCKTABLE function. When another function has the table locked, and you try to commit it, it'll kick out with an error.
If someone knows which is the document or the order...
And also:locking all can create performance problems. So you have to search a balance between better performance and more locking.Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
Kriki The following document has this
Tuning Navision for better performance
http://www.mibuso.com/dlinfo.asp?FileID=3560 -
Thanx ara3n
I just correct the URL: http://www.mibuso.com/dlinfo.asp?FileID=356Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
kriki wrote:
To avoid it you best lock all tables involved from the beginning. But you have to lock them in a certain order I don't remember. :oops: It is written in some document I don't remember. :oops: :oops: :oops:deadlizard wrote:I believe the problem is caused by the COMMIT and LOCKTABLE function. When another function has the table locked, and you try to commit it, it'll kick out with an error.
If someone knows which is the document or the order...
And also:locking all can create performance problems. So you have to search a balance between better performance and more locking.
Yeah, but this problem is in the standard Navision coding... :-kConfessions of a Dynamics NAV Consultant = my blog
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book0 -
Yes, but maybe it can be avoided by locking all tables earlier in the process (and keep them locked until the end[=not allowing the COMMIT's to run])deadlizard wrote:Yeah, but this problem is in the standard Navision coding... :-kRegards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
Yes it's possible. I had to write a modification, where A Manifest consisted of multiple warehouse shipment documents. and I had to skip commit in order not to have an inconsistent Manifest order.0
-
kriki wrote:Yes, but maybe it can be avoided by locking all tables earlier in the process (and keep them locked until the end[=not allowing the COMMIT's to run])
Ok, I'm going to try calling LOCKTABLE earlier in the warehouse posting routines. I'm assuming Navision didn't use the LOCKTABLE earlier for a reason.Confessions of a Dynamics NAV Consultant = my blog
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book0 -
Yes, performance. The earlier you lock tables, the earlier you block others for entering data in those tables.deadlizard wrote:Ok, I'm going to try calling LOCKTABLE earlier in the warehouse posting routines. I'm assuming Navision didn't use the LOCKTABLE earlier for a reason.
PS : LOCKTABLE in itself doesn't lock the table. You have to do something like that to have a real lock:recMyTable.LOCKTABLE; IF recMyTable.FIND('-') THEN ;Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0
Categories
- All Categories
- 75 General
- 75 Announcements
- 66.7K Microsoft Dynamics NAV
- 18.8K 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
- 610 NAV Courses, Exams & Certification
- 1.9K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 251 Dynamics CRM
- 103 Dynamics GP
- 6 Dynamics SL
- 1.5K Other
- 991 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 28 Design Patterns (General & Best Practices)
- Architectural Patterns
- 9 Design Patterns
- 4 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1K General Chat
- 1.6K Website
- 77 Testing
- 1.2K Download section
- 23 How Tos section
- 249 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions
