Skip to main content

%SYS.NLS.Table

class %SYS.NLS.Table extends %Library.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 Caché 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 Caché 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.

Property Inventory

Method Inventory

Properties

property CSP as %String;
Property methods: CSPDisplayToLogical(), CSPIsValid(), CSPLogicalToDisplay(), CSPLogicalToOdbc(), CSPNormalize()
property CacheTerminal as %String;
Property methods: CacheTerminalDisplayToLogical(), CacheTerminalIsValid(), CacheTerminalLogicalToDisplay(), CacheTerminalLogicalToOdbc(), CacheTerminalNormalize()
property Collation as %String;
Property methods: CollationDisplayToLogical(), CollationIsValid(), CollationLogicalToDisplay(), CollationLogicalToOdbc(), CollationNormalize()
property DSMDDP as %String;
Property methods: DSMDDPDisplayToLogical(), DSMDDPIsValid(), DSMDDPLogicalToDisplay(), DSMDDPLogicalToOdbc(), DSMDDPNormalize()
property DTMDCP as %String;
Property methods: DTMDCPDisplayToLogical(), DTMDCPIsValid(), DTMDCPLogicalToDisplay(), DTMDCPLogicalToOdbc(), DTMDCPNormalize()
property File as %String;
Property methods: FileDisplayToLogical(), FileIsValid(), FileLogicalToDisplay(), FileLogicalToOdbc(), FileNormalize()
property Identifier as %String;
Property methods: IdentifierDisplayToLogical(), IdentifierIsValid(), IdentifierLogicalToDisplay(), IdentifierLogicalToOdbc(), IdentifierNormalize()
property Lowercase as %String;
Property methods: LowercaseDisplayToLogical(), LowercaseIsValid(), LowercaseLogicalToDisplay(), LowercaseLogicalToOdbc(), LowercaseNormalize()
property Magtape as %String;
Property methods: MagtapeDisplayToLogical(), MagtapeIsValid(), MagtapeLogicalToDisplay(), MagtapeLogicalToOdbc(), MagtapeNormalize()
property OtherTerminal as %String;
Property methods: OtherTerminalDisplayToLogical(), OtherTerminalIsValid(), OtherTerminalLogicalToDisplay(), OtherTerminalLogicalToOdbc(), OtherTerminalNormalize()
property PatternMatch as %String;
Property methods: PatternMatchDisplayToLogical(), PatternMatchIsValid(), PatternMatchLogicalToDisplay(), PatternMatchLogicalToOdbc(), PatternMatchNormalize()
property Printer as %String;
Property methods: PrinterDisplayToLogical(), PrinterIsValid(), PrinterLogicalToDisplay(), PrinterLogicalToOdbc(), PrinterNormalize()
property Process as %String;
Property methods: ProcessDisplayToLogical(), ProcessIsValid(), ProcessLogicalToDisplay(), ProcessLogicalToOdbc(), ProcessNormalize()
property State as %Boolean;
True if translation is ON
Property methods: StateDisplayToLogical(), StateIsValid(), StateLogicalToDisplay(), StateNormalize()
property SystemCall as %String;
Property methods: SystemCallDisplayToLogical(), SystemCallIsValid(), SystemCallLogicalToDisplay(), SystemCallLogicalToOdbc(), SystemCallNormalize()
property TCPIP as %String;
Property methods: TCPIPDisplayToLogical(), TCPIPIsValid(), TCPIPLogicalToDisplay(), TCPIPLogicalToOdbc(), TCPIPNormalize()
property Titlecase as %String;
Property methods: TitlecaseDisplayToLogical(), TitlecaseIsValid(), TitlecaseLogicalToDisplay(), TitlecaseLogicalToOdbc(), TitlecaseNormalize()
property Uppercase as %String;
Property methods: UppercaseDisplayToLogical(), UppercaseIsValid(), UppercaseLogicalToDisplay(), UppercaseLogicalToOdbc(), UppercaseNormalize()
property XYAction as %String;
Property methods: XYActionDisplayToLogical(), XYActionIsValid(), XYActionLogicalToDisplay(), XYActionLogicalToOdbc(), XYActionNormalize()

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. Cache 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. Collation
  7. $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'.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab