I found a funny behaviour in NAV 5 and also in 2009:
When the first record is being inserted in a table - all other (already running) clients will not see the record even when closing and opening the table. They need to restart the client to see the records.
This might be OK for a normal client, but what about an Application Server?
Additionally the first record inserted in a table will not fire the global OnInsert trigger.
I remember somehow that I have seen this on earlier versions as well. The question is:
I have validated this behavior in 2009 SP1 as well.
It is not sufficient to just clear the table and then insert a record.
Follow this to replicate the issue:
Start a Navision Client and open server database.
Create a table
Open a second client
Set a brakpoint in CU 1 in the GetGlobalTableTriggerMask function
switch on the debugger
run the table and enter a record (the debugger will not stop)
Go back to Client one and run the table - it will be empty
Close Client one and reopen it, run the table again and the data will be there
To me it seems as if the client would check if the tabledata object is there when opening the client. No data means no tabledata object for that table.