In our code unit 80 properties, there are some tables setup under the permissions. This setup is protecting me from making any modification to that code unit, I got permission error "You do not have permission to write in table…) everytime I am try to modify. I did some testing in my local database and clear out all the tables setup under the permission, it works! I can modify as necessary. Could somebody tell me the purpose of the permission’s setting and the impact if I clear out all the tables? Thanks - Zen. The following are some of the tables that are setup under the permission: TableData Sales Line=imd,TableData Purchase Header=m,TableData Purchase Line=m,TableData Invoice Post. Buffer=imd,TableData Sales Shipment Header=imd,TableData Sales Shipment Line=imd,TableData Sales Invoice Header=imd,TableData Sales Invoice Line=imd,TableData Sales Cr.Memo Header=imd,TableData Sales Cr.Memo Line=imd
quote:
In our code unit 80 properties, there are some tables setup under the permissions. This setup is protecting me from making any modification to that code unit, I got an permission error "You do not have permission to write in table…) everytime I am try to modify. I did some testing in my local database and clear out all the tables setup under the permission, it works! I can modify as necessary. Could somebody tell me the purpose of the permission’s setting and the impact if I clear out all the tables? Thanks - Zen.
Originally posted by Zen Bodhi - 2005 Nov 14 : 18:44:59
Hi, Zen forgive me, but something in your post doesn’t sound right. The effect of the permissions in the codeunit should be otherwise around. The explicit permissions on a codeunit allow users without developper privileges to run the codeunit itself without getting the error message you got. Anna
Thank you for the reply Anna. The permission tables were setup prior to my employment. I am new with Navision and don’t want to mess up the system if I take out all the permissions that eventually will effect the operation. Could you explain what part of the posting that is not sound right to you? Zen
quote:
Thank you for the reply Anna. The permission tables were setup prior to my employment.
Ineed. They are standard Navision.
quote:
I am new with Navision and don’t want to mess up the system if I take out all the permissions that eventually will effect the operation. Could you explain what part of the posting that is not sound right to you? Zen
Originally posted by Zen Bodhi - 2005 Nov 14 : 21:25:11
The codeunit you are talking about is codeunit 80 Sales Post, isn’t it? That codeunit updates all the tables related to sales posting. To write or update most of these tables is forbidden to normal users, so in order to allow users to post sales documents, like shippings, invoices and so on, the codeunit is given permissions on the restricted tables. This way a user, even a super user, is still forbidden to run a table from object designer and tamper with the data in it, but can run a posting batch. The behaviour you described is exactly the opposite to what would be expected. More, you have a developper license or you wouldn’t be able to change codeunit 80. You should also be able to update any table with any means, without need of explicit permission. I’m inclined to think you forgot to tell us something. Did you log on and off with different user profiles between the first try and the second? Anna
Yes, it’s code unit 80 - Sales Post. Your explanation is helping me to know the system better. I was using the same userid, which is super user id. Only after I was clearing out the permission tables that setup in code unit 80, I was using several userid from Customer Service Reps., Manager and up to A/R to see whether or not the changes will create an error. I created and posted some Orders, Return Orders and Credit Memos; everything works fine, I got no warning or error from the system. The lesson that I got by clearing out the permission is that I can interfere some changes directly to the record. Please corret my understanding. Since I need to modify this code unit, is it save enough to take the following actions: 1. Clearing out the permission tables and compile the code unit. 2. Modify the code unit and compile. 3. Put back all the permission tables into the code unit as original. Thanks, Zen Zen
quote:
Since I need to modify this code unit, is it save enough to take the following actions: 1. Clearing out the permission tables and compile the code unit. 2. Modify the code unit and compile. 3. Put back all the permission tables into the code unit as original.
Originally posted by Zen Bodhi - 2005 Nov 14 : 23:53:07
There shouldn’t be any relation between the permissions tables and your ability to modify and compile the codeunit. Permissions only affect the ability to run the codeunit. You said you were getting an error message dealing with permissions. To which table was it related and what were you exactly trying to do? Anna
The problem is that the license you are using includes granule 7200 Application Builder (which lets you design codeunits) but not 7300 Solution Developer (which gives you access to system-restricted tables). Therefore, you will not be able to perform step number 3.
There shouldn’t be any relation between the permissions tables and your ability to modify and compile the codeunit. Permissions only affect the ability to run the codeunit.
[/quote]
Actually, you can’t assign permissions to the codeunit that you don’t have, so as Nelson says, you need the Solution Developer granule to add permissions to protected tables.
You guys are great! Thanks - Zen