The first time a message is added to a domain by $$$Text, $$$SessionLanguage is used:

$$$SessionLanguage is determined by locale of current process, that is by default is the same as locale of Caché instance

Default locale for Caché instance is determined during installation based on OS locale. For example, on English Windows that has Russian in Regional Settings, Caché is installed with locale rusw (ruw8 for 8-bit installation). You can change locale after installation. There is no option to select locale during installation.

You can change current session language with ##class(%MessageDictionary).SetSessionLanguage("ru")

Hi Blaise. There is query ErrorLog in %CSP.UI.System.BackgroundTask class so you can print errors like follows:

USER>do ##class(%ResultSet).RunQuery("%CSP.UI.System.BackgroundTask","ErrorLog",3932)

3932 here is task id.

And print errors to file:

USER>set file="c:\temp\sqlerrors.txt"
USER>open file:"NW":5
USER>use file do ##class(%ResultSet).RunQuery("%CSP.UI.System.BackgroundTask","ErrorLog",3932)
USER>close file

Notice that %CSP.UI.System.BackgroundTask is marked for internal use only.

Hi Dan.

I don't know of ways to have up-to-date Age as dimension.

You can have level property Age, that will be calculated at run-time (checkbox "Get value at runtime").

See for example, HomeD.City level, property Population at Patients cube in SAMPLES namespace.

Also, see "Defining Age Members" section in docs: