Skip to main content


Get information about Caché namespaces programmatically; query for list of namespaces.

Background Information

In Caché, any code runs within a namespace. A namespace provides access to data and to code, which is stored (typically) in multiple database files. For an introduction, see “Namespaces and Databases” in the Caché Programming Orientation Guide.

Typically you create and configure namespaces via the Management Portal. See “Configuring Namespaces” in the chapter “Configuring Caché” in the Caché System Administration Guide.

Available Tools

Provides the following class methods:

  • Exists()

  • GetGlobalDest()

  • GetRoutineDest()

This class also provides the following query:

  • List()

Availability: All namespaces.

Includes the following class method:

  • NameSpace()

Availability: All namespaces.

Enables you to modify and obtain information about the [Namespaces] section of the CPF file. (Note that you usually perform this configuration via the Management Portal, as noted above.)

The class also provides the List() class query. The class documentation includes examples and details.

Availability: %SYS namespace.

%Installer.ManifestOpens in a new tab class and other classes in the %Installer package

Enable you to define and use an installation manifest. Among other tasks, you can configure namespaces.

Availability: All namespaces.

Provides the EnableNamespace() method, which you can use to enable a namespace to work with Ensemble. This is useful if you create namespaces programmatically.

Do not use this method to repair a damaged namespace. In the event of a damaged namespace, contact the InterSystems Worldwide Response Center (WRC)Opens in a new tab for assistance.

Ignore all other methods in this class.

Availability: %SYS namespace.


The special variable $SYSTEM is bound to the %SYSTEM package. This means that (for ObjectScript) instead of ##class(%SYSTEM.class).method(), you can use $SYSTEM.class.method().

See Also

FeedbackOpens in a new tab