Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.

For information on migrating to InterSystems IRIS, see Why Migrate to InterSystems IRIS?


Work with packages programmatically (compile, export, delete, and so on); configure mappings.

Background Information

A package is the initial part of a full class name. Packages group related classes so that you can more easily avoid name conflicts; there are other benefits as well. For more information, see “Packages” in Using Caché Objects.

You typically create, compile, and export packages in Studio; see Using Studio.

You can define package mappings so that you can access code in a non-default location; see “Configuring Namespaces” in the chapter “Configuring Caché” in the Caché System Administration Guide. Typically you do this within the Management Portal.

Available Tools

Provides the following methods that you can use with packages:

  • CompilePackage()

  • DeletePackage()

  • Export()

  • ExportJavaPackage()

  • ExportPackage()

  • ExportPackageToStream()

  • ExportToStream()

  • GetPackageList()

Availability: All namespaces.

Represents the package information used by the class compiler. This class provides the following methods:

  • Exists()

  • LockItem()

Availability: All namespaces.

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

The class also provides the List() and ListPackages() class queries.

The class documentation includes examples and details.

Availability: %SYS namespace.

%Installer.Manifest class and other classes in the %Installer package

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

Availability: All namespaces.


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().