Class Reference
IRIS for UNIX 2024.1.2
InterSystems: The power behind what matters   
Documentation  Search
  [USER] >  [%SYS] >  [NLS] >  [Table]
Private  Storage   

class %SYS.NLS.Table extends %RegisteredObject

NLS tables can be divided into I/O (also called translation) and Internal tables, each type having a set of categories:

I/O tables

Internal tables For each category, a locale defines a set of available tables and selects one of them to be used as the system default. InterSystems distributes a set of read-only locales but users can create their own locales.

A configuration allows a different system default to be selected among the available tables. Configuration defaults are optional and independent of the locale. They persist across system reboots and updates.

At startup, the system defaults are set either from the configured defaults or from the locale defaults. Configuration defaults have precedence if defined; otherwise the locale defaults are used.

When a process starts it inherits all the system defaults. The process setting for I/O tables can still be overriden when opening a device by specifying "K\TableName\" in the OPEN parameters.

This class has properties that represent each of the above categories.

To get the Configured defaults, instantiate an object with

Set obj=##class(%SYS.NLS.Table).%New("Config")

To get the loaded System defaults, instantiate an object with

Set obj=##class(%SYS.NLS.Table).%New("System")

To get the loaded Process settings, instantiate an object with

Set obj=##class(%SYS.NLS.Table).%New("Process")

Changing a property for a Process object immediately changes the corresponding setting in the process, but it is not possible to change the properties of a system object. Changes to a Config object will only affect the next system reboot.

For generic locale properties see %SYS.NLS.Locale.
For current device NLS properties see %SYS.NLS.Device.
For date, time and number format properties see %SYS.NLS.Format.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
22 51


Summary

Properties
Accent CSP Collation DSMDDP DTMDCP
File IRISTerminal Identifier Lowercase Magtape
OtherTerminal PatternMatch Printer Process State
SystemCall TCPIP Titlecase Uppercase XYAction

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
DisplayToLogical GetIOTable GetInternalTable LogicalToDisplay


Properties

• property Accent as %String;
• property CSP as %String;
• property Collation as %String;
• property DSMDDP as %String;
• property DTMDCP as %String;
• property File as %String;
• property IRISTerminal as %String;
• property Identifier as %String;
• property Lowercase as %String;
• property Magtape as %String;
• property OtherTerminal as %String;
• property PatternMatch as %String;
• property Printer as %String;
• property Process as %String;
• property State as %Boolean;
True if translation is ON
• property SystemCall as %String;
• property TCPIP as %String;
• property Titlecase as %String;
• property Uppercase as %String;
• property XYAction as %String;

Methods

• classmethod DisplayToLogical(ext As %String) as %String
Converts an external character set name to its internal name

Parameter:
  • ext - External charset name (eg: "ISO-8859-2"). If it is already an internal name (eg: "UTF8"), it is returned unchanged (except that "Latin1" is returned as "RAW").
Returns:
  • Internal name equivalent to ext (eg: "Latin2")
  • "" if there is no internal equivalent to 'ext'
• method GetIOTable(index As %Integer) as %String
Gets the name of an I/O table

Parameter: index - table index
  1. Process
  2. InterSystems IRIS Terminal
  3. Other terminal
  4. File
  5. Magtape
  6. TCP/IP
  7. DSM-DDP
  8. DTM-DCP
  9. System call
  10. Printer
• method GetInternalTable(index As %Integer) as %String
Gets the name of an Internal table

Parameter: index - table index
  1. Pattern match
  2. Identifier
  3. Uppercase
  4. Lowercase
  5. Titlecase
  6. (reserved)
  7. (reserved)
  8. Accent
  9. Collation
  10. $X/$Y action
• classmethod LogicalToDisplay(int As %String) as %String
Converts an internal character set name to its preferred external name

Parameter:
  • int - Internal charset name (eg: "Latin2")
Returns:
  • Preferred external name (eg: "ISO-8859-2")
  • "" if there is no internal charset 'int'.


Copyright (c) 2025 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.