%SYS
Table Class Reference

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

More...

Inheritance diagram for Table:
Collaboration diagram for Table:

Public Member Functions

_.Library.String GetIOTable (_.Library.Integer index)
 Gets the name of an I/O table<br>
More...
 
_.Library.String GetInternalTable (_.Library.Integer index)
 Gets the name of an Internal table<br>
More...
 

Static Public Member Functions

_.Library.String DisplayToLogical (_.Library.String ext)
 Converts an external character set name to its internal name<br>
More...
 
_.Library.String LogicalToDisplay (_.Library.String int)
 Converts an internal character set name to its preferred external name<br>
More...
 

Public Attributes

 Accent
   More...
 
 CSP
   More...
 
 Collation
   More...
 
 DSMDDP
   More...
 
 DTMDCP
   More...
 
 File
   More...
 
 IRISTerminal
   More...
 
 Identifier
   More...
 
 Lowercase
   More...
 
 Magtape
   More...
 
 OtherTerminal
   More...
 
 PatternMatch
   More...
 
 Printer
   More...
 
 Process
   More...
 
 State
 True if translation is ON. More...
 
 SystemCall
   More...
 
 TCPIP
   More...
 
 Titlecase
   More...
 
 Uppercase
   More...
 
 XYAction
   More...
 

Detailed Description

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

I/O tables

  • Process
  • InterSystems IRIS Terminal
  • Other terminal
  • File
  • Magtape
  • TCP/IP
  • DSM-DDP
  • DTM-DCP
  • System call
  • Printer

Internal tables

  • Pattern match
  • Identifier
  • Uppercase
  • Lowercase
  • Titlecase
  • Accent
  • Collation
  • $X/$Y action

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<br>

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

To get the loaded System defaults, instantiate an object with<br>

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

To get the loaded Process settings, instantiate an object with<br>

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 <class>SYS.NLS.Locale</class>.
For current device NLS properties see <class>SYS.NLS.Device</class>.
For date, time and number format properties see <class>SYS.NLS.Format</class>.

Member Function Documentation

◆ DisplayToLogical()

_.Library.String DisplayToLogical ( _.Library.String  ext)
static

Converts an external character set name to its internal name<br>

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'

◆ GetIOTable()

_.Library.String GetIOTable ( _.Library.Integer  index)

Gets the name of an I/O table<br>

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

◆ GetInternalTable()

_.Library.String GetInternalTable ( _.Library.Integer  index)

Gets the name of an Internal table<br>

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

◆ LogicalToDisplay()

_.Library.String LogicalToDisplay ( _.Library.String  int)
static

Converts an internal character set name to its preferred external name<br>

Parameter:

  • int - Internal charset name (eg: "Latin2")

Returns:

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

Member Data Documentation

◆ Accent

Accent

 

 

◆ CSP

CSP

 

 

◆ Collation

Collation

 

 

◆ DSMDDP

DSMDDP

 

 

◆ DTMDCP

DTMDCP

 

 

◆ File

File

 

 

◆ IRISTerminal

IRISTerminal

 

 

◆ Identifier

Identifier

 

 

◆ Lowercase

Lowercase

 

 

◆ Magtape

Magtape

 

 

◆ OtherTerminal

OtherTerminal

 

 

◆ PatternMatch

PatternMatch

 

 

◆ Printer

Printer

 

 

◆ Process

Process

 

 

◆ State

State

True if translation is ON.

 

◆ SystemCall

SystemCall

 

 

◆ TCPIP

TCPIP

 

 

◆ Titlecase

Titlecase

 

 

◆ Uppercase

Uppercase

 

 

◆ XYAction

XYAction