The purpose of this book is to gather information on Caché system tools and utilities that are too specialized to be of interest to a general audience. They are not documented in other books for one or more of the following reasons:
They would only be used by a small minority of users.
They are not required, and would usually be used only once.
They allow advanced customizations or extensions that require expert knowledge of a Caché system.
They are legacy applications, but can still occasionally be useful on current systems.
The following sections provide a detailed summary of the tools described in this book.
The chapter on “Customizing the Caché System” discusses several ways to customize and extend a standard Caché installation .The following tools are described:
System Classes for National Language Support — describes support for localization, referred to as National Language Support (or NLS), which allows applications to be adapted to various languages and regions without engineering changes.
Using the Caché ^%ZSTART and ^%ZSTOP Routines — describes how to create customized system routines that will be called automatically when certain system events are detected. Routines can be called when Caché starts or stops, when a user performs a login or logout, when a JOB begins or ends, or when an external program begins or completes a CALLIN.
Extending ObjectScript with %ZLang — describes how to use the %ZLANG language extension library to add custom features to ObjectScript. You can declare user-defined commands, functions, and system-wide special variables for your installation of Caché. These custom extensions work exactly like standard ObjectScript features.
Remote System Management
The chapter on “Managing Caché Remotely” discusses routines and utilities for managing Caché from a terminal or an external program. The following tools are described:
Using ^GBLOCKCOPY for Fast Global Copies — describes a routine that performs fast global copies between databases, and can be used to convert databases during an upgrade. It can be run interactively to a terminal, or be set up in a batch to run one or more global copies as background jobs. It contains a built-in monitor and several reports to track the progress of global copies. It can be restarted at the point it left off if there is a system failure.
Using Switches — discusses the available Caché switches, which are per-instance flags that can be used for a variety of purposes. They are especially useful for inhibiting various system processes when doing backups or trying to recover crashed systems.
Controlling Caché from a Windows Client — describes a DLL that allows an external application to function as a Windows client that can control a Caché configuration, start a Caché process with the desired settings, find Caché service name and directories paths for a given configuration name, and get the status of the Caché system.
Character-based Management Routines — describes two useful terminal routines: ^SHADOW allows you to define and manage a shadow system for another Caché instance, and ^LEGACYNETWORK allows you to list, add, edit, and remove COM ports.
Migration and Conversion
The chapter on “Migration and Conversion Utilities” discusses some specialized tools and techniques that can be used when migrating a Caché database to a new system. The following tools are described:
Using cvendian to Convert Between Big-endian and Little-endian Systems — describes a utility to convert the byte order of a Caché database for migration between Big-endian and Little-endian platforms. It also provides an option to report on the byte order of a given database.
Converting FileMan Files into Caché Classes — describes a wizard that reads files created by FileMan (metadata utilities for MUMPS applications) and generates Caché classes that map them.
WebLink Developer Tags for Conversion to CSP — describes a set of WebLink Developer tags that can be useful when migrating applications from Weblink Developer to Caché Server Pages (CSP).