December 19, 2000 – Service Pack 3 for Caché Objects 3.x

Service Pack 3 for Caché 3.x installations is available for download. The file is available by contacting InterSystems Support at:
617.621.0700 |

Enclosed within the self-extracting file are instructions on how to install the Service Pack 3 as well as some basic notes of what the pack updates. This is a Service Pack, it does not contain major revisions to Caché 3.x but is a collection of patches for various bugs related to our objects and odbc products. The kit updates the Caché Objects Library database and also contains a newer version of the Caché ODBC driver. As with any patches, we advise you to thoroughly test these on a non-Production system before applying it to your live systems. Please be aware that we highly recommend updating to the Caché 3.2.2 or 3.2.3 maintenance releases in addition to applying this patch to get the benefit of all system patches as well. Please note these maintenance releases contain an older patch kit for objects and this kit should be reapplied after installing any maintenance release prior to 3.2.4.

If you have any questions InterSystems Worldwide Response Center at 617.621.0600 or

October 19, 2000 – ^INTEGRIT and the Control Panel’s Integrity Check

A problem was discovered in ^INTEGRIT and the Control Panel’s Integrity Check where all levels of a global were not being examined. This problem affects ISM and Caché on all platforms. No errors are generated when the problem occurs but you will notice output similar to the below:

Global ^TEMP
4 Levels in this global
Level: 1, # ptrs = 41
Level: 2, # ptrs = 7380, # blks = 41, # ptrs/blk = 180, eff = 89%
10:58 PM

As you can see, the ^TEMP global is reported to be 4 levels but only 2 levels are examined. InterSystems recommends that you use our ^DIAG utility to check the integrity of your databases. A patch will be available in Caché 4.0 build 110 and later which will warn within ^INTEGRIT and the Control Panel’s Integrity Check when a situation exists where global levels are not being checked. The patch is LFT861 and is available upon request. If you have any questions InterSystems Worldwide Response Center at 617.621.0600 or

September 6, 2000 – AIX 4.3 bug causes database degradation

A bug in AIX version 4.3 has been found to cause database degradation in Caché databases. Caché uses asynchronous I/O and according to the IBM website products using asynchronous I/O are at risk of this problem. The fix for this problem is identified as APAR IY02407. A full description of the problem and fix can be found on the IBM website by searching for the APAR number.

InterSystems strongly recommends installation of this fix. If you have any questions InterSystems Worldwide Response Center at 617.621.0600 or

August 15, 2000 – Service outage

The Cambridge Mass. building occupied by InterSystems will have a scheduled power outage tonight, August 15 2000, for emergency maintenance. InterSystems’ services such as the WRC Direct support system, email, websites, ftp server, and direct dial phone system are scheduled to be unavailable between the hours of 9:30 PM August 15 and 3:30 AM August 16 EST.

The Worldwide Response Center phone line will be available as usual to handle support issues. The phone number is +617.621.0700. In the event there are problems with this line we have also made arrangements for a backup number which is +617.556.2514. Please ensure that your staff responsible for support during these times is aware of this notice.

July 17, 2000 – Beta 2 Announcement

We are pleased to announce the start of the second phase of the Caché 4.0 Beta program. This Beta version should not be used for the deployment of Caché systems or for the evaluation of the product. An evaluation version of Caché is available in the download section of

July 6, 2000 – How to configure for license server failover


License server failover was introduced in Caché V3.1. It provides a means of maintaining a hot backup for the license server in a multi-server Caché configuration to prevent down time in the event the system hosting the license server fails. Instructions for configuring license server failover is missing from the documentation.


License server failover is useful on multiple server Caché networks using Division or Enterprise licenses. It is not applicable to servers running with Workgroup or Department licenses because these are single server licenses.


To use License Server Failover, each configuration must configure two License Servers and a License Monitor. During startup, the software elects one of these License Servers master and the other assumes backup status. The purpose of the License Monitor, which must run on each configuration in the license domain, is to detect license server failure and initiate failover.

The two License Server instances can be run on any two nodes in the network configuration, but hosts should be chosen that are unlikely to be stopped and restarted frequently. Since the two License Servers must run on different hosts the IP addresses will be different. In addition, each node in the network must configure a License Monitor to run on the local system.

One more thing to remember is that all three IP port numbers used must be different. That is the license server port numbers must be different and on each node, the license monitor port number cannot be the same as either license server port number.

The [Startup] section of a Caché configuration file (cache.cpf) file configured for license server failover (where a license server is configured to run on the system) might look like this:


If this were so, the configuration where the other license server runs would look like this:


Other servers in the license domain could then be configured as follows:


You can configure license servers using the Caché Configuration Manager. Select the advanced settings tab. Expand “License” and “License Server”. Enter the two license server addresses and port numbers in the “Primary” and “Backup” IP address and Port. Enter the local system address and a port number for the License Server Failover Monitor in the “Listener Name/IPAddress” and “Listener Port”.

If you have any questions please contact InterSystems Worldwide Response Center at 617.621.0600 or

June 22, 2000 – Caché backup files greater than 2GB corrupt

InterSystems has identified a critical problem which affects installations running Caché NT versions prior to 2.1.9 build045 and VMS and UNIX versions prior to 3.2 build001. As a result of this problem, a backup will begin to overwrite itself in a cyclical manner when the size of the backup file reaches 2GB. Once this happens it is very difficult to recover the backup. A remedy for this problem is available and is identified as LFT760.

If you have any questions or to request a corrected version contact InterSystems Worldwide Response Center at 617.621.0600 or

June 6, 2000 – WRITE # Behavior in Caché 3.2

The default behavior for “WRITE #” on some terminals has been changed in Caché 3.2 build006 and all later versions. In earlier versions of Caché, “WRITE #” would send a form feed character which is a $C(12). VT-220 terminals and their emulators (such as the Caché terminal and Caché telnet) do not obey the “clear screen and position at top left corner” behavior inherent to a form feed character. Instead they just treat it as a line feed character.

In order to make terminals clear the screen as expected by a “WRITE #”, the default form feed sequence has been changed to $C(27,91,72,27,91,74) instead of $C(12). The default is governed by the form feed sequence for the device type set up for device 0 in the Configuration Manager. In order to change this, look at the Configuration Manager in

Advanced –> Device –> Devices –> 0 –> Sub-Type.

This is the default terminal type for the system. Now look up the terminal type in

Advanced –> Device –> Device Sub-Types.

There is a field in there called Form Feed code. For NT, under C-Caché Terminal this is set to “#,$C(27,91,72,27,91,74)”. Change it to “#,$C(12)” to restore the previous behavior. The default form feed code can also be changed for the current process by using $ZU(22,0,<form feed sequence>). For example, you can add the following line of code to change the default behavior for a process to the old “WRITE #” behavior: S X=$ZU(22,0,$C(12)).

If you have any questions, please contact InterSystems Worldwide Response Center or +617.621.0600.

April 18, 2000 – Printing from Caché on Windows NT 4.0 (Intel and Alpha)

When printing from Caché it has been found that when a process opens a printer and waits 45 seconds or more before sending data to the printer the job will sometimes get a error.

Sample Code:

O PR:”W”
H 45
U PR W “Printing to computer Sally, printer queue QPRINTER”,!


Upgrade to Windows NT Service Pack 6a.

March 24, 2000 – Using Caché Studio to Connect to Caché 2.x.

The latest cstudioupd.exe contains a bug that only affects Caché Studio connections to Caché 2.x systems. In order to allow Caché Studio connections to Caché 2.x systems, do the following.

  1. Stop any %CMTP processes you have running on the Caché 2.x system.
  2. Make sure that Caché Direct is running on the Caché 2.x system.
  3. Run the cstudioupd.exe program and select the Caché 2.x system.
  4. Execute the following code on the Caché 2.x system:
    D ^%MGDIR
    ZL %CMTP
    ZR SuperServer+12
    ZS %CMTP
  5. On the Caché 2.x system, start the %CMTP process using:
    J ServerMaster^%CMTP(port)

This affects CSTUDIOUPD.EXE in releases 3.0 through 3.2.1. It will be fixed in 4.0.

An updated version of CSTUDIOUPD.EXE is available.

If you have any questions contact InterSystems Worldwide Response Center

March 14, 2000 – Caché for VMS Tuning Tip

Caché performance on VMS may be improved by increasing the VMS SYSGEN parameter PRIORITY_OFFSET to a value of 4. This minimizes situations where a process that has exclusive ownership of a block, or other shared resource, is preempted by another process. One large VMS customer has improved user response time by increasing this parameter to 4. Please review VMS SYSGEN help for further information on PRIORITY_OFFSET. This is a VMS internal parameter and may change InterSystems’ Worldwide Response Center is available to help you assess the potential benefit for your configuration.

February 15, 2000 – Outer Join Problem with Crystal Reports

InterSystems has identified a minor incompatibility with SeaGate Software Crystal Reports. In the case of an outer join between three tables it is possible that Crystal will generate the wrong SQL code that is passed to the InterSystems ODBC driver. This problem is independent of the version of Caché or SQL Add-On for Open M. Working with Seagate Software we now have a solution.


If you try to do one outer join from Table A to Table B and a second one from Table A to Table C the generated SQL does not have the correct joins.


  1. Upgrade Crystal Reports to release 7.
  2. Check if the following registry item exists:
    HKEY_CURRENT_USER\Software\Seagate Software\Crystal Reports\ Database Options \OuterJoin\If it does not, download the registry update at and double-click on the downloaded file to install it. This will set up outer join tailoring options.
  3. Modify the string value OpenIngres adding CacheODBC to the value. After editing the string value should look like: “oplodbc, oplodb32,CacheODBC”
  4. Bring Crystal Reports down and up again. For existing reports, you must force the SQL to be regenerated.

If you have any questions or problems please contact InterSystems Worldwide Response Center

February 14, 2000 – Caché 3.2 Expression Problem When +/- ZERO Used Within the Expression

A problem with certain floating point expressions in Caché 3.2 was discovered and corrected within 24 hours and it is now available as a 3.2 binary (executable) replacement. The nature of the problem is attributed to a specific compiler optimization for expressions that add or subtract the constant zero. Expressions including +0, 0+ or -0 may return incorrect results when it evaluates to a floating point value. For example, this might affect applications that use an expression above within Boolean expressions, such as IF (VAL+0)=0. In this example, $TEST might evaluate incorrectly. Although this problem will not affect many applications, it’s consequences are unpredictable to the application and, therefore, worth serious consideration. InterSystems recommends that all applications be scanned, using Explorer’s Routine Find facility, for any expressions containing +0, 0+, or -0.

This problem affects all Caché 3.2 platforms and the correction, JLC196, is available upon request from InterSystems Worldwide Response Center or by downloading the appropriate listed kit(s) below. Releases prior to 3.2 are not susceptible to this problem. The correction will be included in all releases which follow 3.2.

The remedial patch procedure is simply to install 3.2, overlay the binaries from the appropriate kit below, and recompile the application (.INT is adequate). The Worldwide Response Center is available to assist you 24 hours a day.

The files are available by contacting InterSystems Support at:
617.621.0700 |

February 11, 2000 – Objects Alert for DynamicSQLQueries and Unicode arguments and 8-bit Caché

An issue was found that effects all Caché 8-bit systems. The issue was with regard to sending Unicode text as part of the argument list for class methods that DynamicSQL calls on %DynamicSQLQuery. The issue primarily affects calls from VB using the factory or Cachélist control, to pass a query to generate resultsets. It will be fixed as part of the 3.2.1 release.

An adhoc patch is available for 3.2. This patch can be found at:

Here is an example piece of VB code that shows the issue:
Set rs = factory.DynamicSQL(“select * from Table where Name=’” + ruschar + “‘”)

February 2, 2000 – Customers Find Problems on NT in AS/400 Configuration

A Caché 2.1.9 (NT) site experienced several problems as they attempted to run NT in an AS/400 configuration. Interprocess communication and problems updating the Caché.DAT backup bitmap were experienced. InterSystems Worldwide Response Center and IBM investigated these issues, but the site migrated quickly to a standard PC server outside of the AS/400 configuration and are no longer experiencing problems. Until further notice, InterSystems recommends not installing Caché for NT in any AS/400 configuration.

February 2, 2000 – Caché 3.2 Upgrade Problem for Finnish Locale

In order for a Finnish customer to successfully install or upgrade to Caché 3.2, the following procedure is recommended:

  1. Install 3.2
  2. Before allowing any users on, enter Caché and
    S ^%nls(“Rules”,”Unicode”,”Japanese1″)=”22^0^0″
  3. Restart Caché

This problem is addressed in Caché 3.2.1 and higher.