Hi. I’m running Navision GB3.60 on an MSSQL database. There are a number of bespoke tables that are updated externally via MSSQL, as well as within Navision. The UK is now 1 hour ahead of UTC. When I input the time as 14:00:00 it displays ok in Navision as this, but writes 13:00:00 to the database. Therefore a Navision CURRENTDATETIME verses an MSSQL getdate() will produce different results in the database. How do I stop Navision converting to UTC (presuming this is the reason the dates are changing). I couldn’t see anything useful in the properties of the DateTime field, nor in the Navision, Tools, Options. Thanks, Gareth.
Navision will always convert and store UTC in both SQL Server and Navision Server. Whenever Navision formats or evaluates a datetime (e.g. in the UI) it always accepts/displays a local time and converts for to/from storage. You cannot override this behaviour. Same applies to C/ODBC - uses local times. However C/FRONT exposes the value as UTC since CFRONT deals with the raw C/SIDE data type values. But it has conversion functions too. SQL Server itself has no concept of a UTC datetime (not until the next release) so it will just show the stored datetime value. As you say, GETDATE() just returns the current local datetime of the machine. Sorry to confirm what you already assume.
Thanks for the confirmation, Robert. Regards, Gareth.