Inserting the first record in a table

Hello together,

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:

Is this on purpose or a bug?

Hello Thomas,

I checked this in NAV2009 SP1, but couldn’t find this behaviour. In fact system behaved as expected.

I will try this in NAV5.0 and 2009 also and will update here.

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.