The Master Terminal system allows for multiple separate Terminal operations to be operated from a single application and database instance. Prior to the implementation of this new feature, however, all date and time fields were only presented in the time zone that the database server was running in.
From release 184.108.40.206, functionality has been added to allow Administrators to set the presentation time zone on a per Terminal basis. If a Terminal has a time zone set that differs from the time zone of the database server, then all dates and times will still be stored in the database relative to the time zone of the database server, but will be presented on Terminal-related forms and reports relative to the time zone for that Terminal.
Configuration of the Terminal time zone is done via the System Admin form, Terminal table, and also via the Terminal Config form. The time zone needs to be selected via a combo box, from the list of time zones supported by the Windows Operating System on the database server.
In addition to selecting the time zone for the Terminal, the Administrator can optionally enter a Time Zone Short ID (up to 10 characters) for the Terminal, which will be displayed in brackets alongside the Terminal Code on Terminal-related forms in the main Master Terminal application.
An example of the System Admin form is shown here:
An example showing a Terminal-related form (in this case Cargo Enquiry) with the configuration settings above is shown here:
From an operational Master Terminal end-user’s perspective, setting a time zone on the Terminal which differs from that of the database server will have little impact on their day-to-day usage, as data entry of dates and times will be in the Terminal time zone, and all the data will be presented back to them relative to the Terminal time zone, and all the conversion between that time zone and the database server time zone will be hidden from them.
Standard (non-Administrator) Users would normally not have access to the Terminal configuration forms, which is why the option to provide them with a visual cue via the short code has been provided.
All Users can also view the time zone of the database server via new information being displayed alongside the Locale information on the Help > About form:
Some of the data presented to Users in the Master Terminal application is not “related” to a Terminal at all (e.g. System Items > System Ops > Audit Details), and in these cases the dates and times will be presented and reported relative to the Master Terminal database server time zone.
For any external systems communicating with Master Terminal (via Web Services, SQL Native Extract or EDI messaging), all dates and times will continue to be communicated relative to the Master Terminal database server time zone, unless there is a specific interface requirement in place (e.g. UTC time zone).
To allow external systems to do their own correct time zone conversions, both the WS_Terminal definition for Web Services and the CM_Terminal definition for SQL Native extract have been enhanced with three new properties, providing the Master Terminal database server time zone ID, and the specific Terminal time zone ID and optional time zone short ID. Note that the time zone IDs returned via these mechanisms are the internal Windows identifier for the time zone, which differs from the display values shown in the System Administration combo box, but is the value required to programmatically access the correct time zone information.