Modifying a primary key

sabzam
Member Posts: 1,149
I need to create a codunit to modify the Line no. in a table where Line No. forms part of the primary key. I have been using modify but since I am chaning the primary key value it is obviously not finding it thus producing an error. What should I do to go round this problem?
0
Comments
-
You have to use the RENAME function when PK Fields are modified.
If the field to be changed has no table relation, it is also possible to copy the record , change the fields value, insert the new record and delete the old one. That is much faster than the RENAME function, but it always has to be checked with the Developer Toolkit that the fields values are not used by other tables. In your case, for the line no., this should usually not represent a problem.Kai Kowalewski0 -
For which table are you renaming the Line No.? Is it a custom table? Or the regular sales line and purchase line table?
At any rate, I agree with Kowa, deleting and re-inserting is definately faster than renaming, since renaming scans the entire database to change the values that it's referecing to.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 -
Hi Everybody,
I have used the rename function. It works but with a problem. In the table I have got some line numbers which were created using the autosplit key (i.e. records were created in between other records). For some reason these numbers are not being changed. Anyone has got any idea why this is occuring?0 -
Those records can be modified just like any other records, so the problem would be in your code. Show us the code and we'll see if we can help you out.0
-
The problem with modifying the primary key often is that your sorting gets screwed. Make sure you make another record variable and do the rename on that instead of the record variable you do the next on.0
-
Kowa wrote:If the field to be changed has no table relation, it is also possible to copy the record , change the fields value, insert the new record and delete the old one.Torsten
MCP+I, MCSE NT, Navision MCT (2004,2005)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