KB0028

How can I Prevent Serenji Routines Being Deleted by a Caché Update?

Applies to: Serenji on Caché

Serenji's support routines are named %Serenj*. Prior to Caché 5.1 the simplest way to make them accessible to all namespaces is to load them into the %SYS namespace. However, a Caché update will delete all %-routines from here apart from those beginning %Z*. You must then reload the Serenji support routines. To avoid having to do this, use the following procedure.

This procedure is also recommended when installing the support routines on Caché 5.1 or later. For more information about this case see KB0138.

The procedure is:

  1. Create a local database that will hold the Serenji support routines. In this example we call it SERENJI.
  2. Create a namespace that uses this database as the default location for its routines. In this example we also call the namespace SERENJI.
  3. Define a routine mapping for the SERENJI namespace, directing it to fetch %Serenj* from the SERENJI database.
  4. Load the OBJ-only Serenji support routines into the SERENJI namespace from either CACHE5.OBJ (Caché 5.0 or later) or CACHE.OBJ (prior to Caché 5.0).
  5. Selectively restore from CACHE.RSA into the SERENJI namespace, choosing %Serenj* routines. Alternatively, load all routines but ignore errors reported on non-%Serenj* routines.
  6. Repeat the previous step, restoring the non-%Serenj* routines into the %SYS namespace.
  7. For each namespace that you want to use Serenji in, define a routine mapping that directs the namespace to fetch %Serenj* from the SERENJI database.
  8. If desired, delete the SERENJI namespace, which only needed to exist in order to load the support routines into the associated SERENJI database. Do not remove the database.

Last reviewed: Feb 3, 2006

Back to Serenji Knowledge Base Articles