Does anyone have any experience with getting, unfortunately, an older version of Cache to authenticate via SMTP to send email? I have verified that the settings are set up properly on the mailbox as I have successfully sent an email from a LAMP server, which comes from the same IP address.

If you have any thoughts, I would greatly appreciate it.

This is the error I receive

ERROR #6034: SMTP server connection failed during MAIL FROM command: <READ>zSend+105^%Net.SMTP.1.

0 6
0 2,106

With the release of Cache 2016.1, JSON support was re-architected and made part of the core object model with the creation of %Object and %Array classes, which allow you to create dynamic JSON enabled objects and arrays.

On a recent demonstration I was working on, I had the need to create a REST web service that returned a JSON representation of a persistent object. After searching for methods that would allow me to accomplish this, ultimately I found none, until now.

3 20
0 2,394
Murray Oldfield · May 26, 2016 1m read
Windows, Caché and virus scanners

I have seen a customer problem recently where the use of a virus scanner running over Caché databases was causing intermittent application slow downs and bad user response times.

This is a surprisingly common problem, so this short post is just a reminder to exclude key Caché components from your virus scanning.

Generally virus scanning must exclude the CACHE.DAT database files and Caché binaries. If an anti-virus is scanning CACHE.DATs and InterSystems files then system performance will be significantly impacted.

3 2
0 1,273


Assume an architecture where an ECP Database Server is connected to by one or more ECP Application Servers inside a firewall.The application server hosts the web application that web users connect to.

The Web servers are outside the firewall, and, (using the CSP gateway/server mechanism) issue requests over the SuperServer port and into the application server.

I know that the traffic between the Web Server and the ECP application server can be encrypted using HTTPS, and access to the CSPServer on the Application server is username/password secured.

1 2
0 4,224
Evandro Santos · May 25, 2016
Runtime Expressions in XML


I'm facing a problem when I try to use the Runtime Expression below inside the XData Contents:


It compiles correctly, but when I open the page on the browser I get the message "Expression Error" instead of "Testing!".

How could I use the $$$Text macro with Runtime Expressions? Is there a way to make this?

0 5
0 332

NewBie's Corner Session 4 The Plus Sign and Concatenation Operators

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Click on the Caché Cube in your system tray and select Terminal to try out the commands.

Plus Sign (+) operator

Typically, the Plus sign (+) adds two numbers together. This is true in COS (Caché ObjectScript), but COS uses it in other ways as well.

Set the variable X to a value of +12

0 0
0 336


I am trying to create a %Installer script and I noticed from our documentation that %Installer's <CSPAuthentication> will only accept:

Optional; within <Namespace>. Defines one or more CSP applications; the supported authentication flags are 4 (Kerberos), 32 (Password), and 64 (Unauthenticated).

Is "Delegated" authentication supported? What is it's code?

Kind regards,

Amir Samary

0 2
0 352

Hi everyone!

I am trying to choose the best collation for a new application that will be running on a spanish locale (Chile).

I can see there are database collations for Spanish1, Spanish2, Spanish4 and Spanish5. What is the difference between them? I can't find anything on our documentation. Should I simply choose the latest (Spanish5)?

Kind regards,

Amir Samary

0 1
0 299

Hi everyone!

I am helping a partner to develop a new application and one of the things we are facing is that this WEB application will be used on different time zones.

My first recommendation is that all timestamps should be drawn from $ZTimeStamp instead of $Horolog. That would allow the system to be draw the correct sequence of events even when they are generated on different timezones.

1 1
0 590

Good morning, I am using a tableNavigatorBar on a tablepane. I want to execute the onselectrow method of the tablepane each time the tableNavigatorBar is used to proceed to a tablepane record. Has anyone connected these two component in this way before? Thank you for any hints, input and/or comments.

0 4
0 251
Eduard Lebedyuk · May 23, 2016
REST and IO redirection

Problem: I have a REST broker, and if I hit a code block, which does IO redirection, the REST reply becomes broken in one of the following ways:

  • Binary output
  • No output
  • First 4096 characters of the reply are missing

Consider the following REST broker:

4 3
1 926


I ran the Cache ODBC Driver installer as Administrator on my Windows 7 PC this morning. It completed successfully with o indication of any issues. When I check installed programs and features via Win 7 Control Panel, I see it listed as Intersystems ODBC Driver 1.00.000.

However, when I try to configure the driver via Control Panel - Administrative Tools - Data Sources (ODBC), I cannot find it. The only driver listed under the Drivers Tab is SQL Server.

I am not sure how to proceed.

I appreciate any suggestions.



0 5
0 1,405
Alexander Koblov · May 20, 2016 12m read
Collations in Caché

Order is a necessity for everyone, but not everyone understands it in the same way
(Fausto Cercignani)

Disclaimer: This article uses Russian language and Cyrillic alphabet as examples, but is relevant for anyone who uses Caché in a non-English locale.
Please note that this article refers mostly to NLS collations, which are different than SQL collations. SQL collations (such as SQLUPPER, SQLSTRING, EXACT which means no collation, TRUNCATE, etc.) are actual functions that are explicitly applied to some values, and whose results are sometimes explicitly stored in the global subscripts. When stored in subscripts, these values would naturally follow the NLS collation in effect (“SQL and NLS Collations”).

9 7
1 2,411

Hi -

Let's say I want to override the HTML that is generated by provided ZEN Mojo Helper Plugins I use the onloadHandler method of my document page, retrieving elements, and modifying them using jQuery syntax.

For example, I'm using bootstrap, and, I want the <button> element automatically generated with the use of the $navbar layout object, to collapse/expand a different <DIV> on my page, to the default one it produces.

Is this the correct spot and approach to use ?



0 2
0 200

I am pleased to announce the field test of Caché and Ensemble 2016.3 - with many new improvements.

The product team at InterSystems looks forward to your participation in the field test and feedback over the coming months.

Some of the more signification changes in 2016.3 are new RESTful APIs for iKnow and broader APIs for programmatic control of multiple servers (enterprise manager). As always, there are a host of scalability and performance improvements, including improvements to the core database and SQL. And hundreds of smaller improvements and corrections.

6 8
0 864

NewBie's Corner Session 3 More Read and Write commands & Multiple commands

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Click on the Caché Cube in your system tray and select Terminal to try out the commands.

Write command with carriage return and line feed

When the exclamation point "!" is inserted after a Write command, a carriage return and line feed combination is produced. Note in this example, that a comma separates the exclamation point from the variable "X".

0 1
0 345

NewBie's Corner Session 2 Variables Set and Write commands

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Session 2 – Click on the Caché Cube in your system tray and select Terminal to try out the commands.


Like other computer programming languages, Caché uses Variables and the values they represent to control programming. Variables are elements that represent data values. Manipulating and interrogating variables is at the root of programming.

2 0
0 312

Hi All,

I am providing support to an AP about using document criteria on Multiple Templates (Explicit Dispatch).

I am trying to set the criteria value from:


However it is not possible to get the criteria value on %GetJSONContent through pCriteria parameter object.

How can I do this with Multiple Templates on bootstrap plugin?


0 1
0 244

I have a homeTemplate and ExamesTemplate page. When I'm in ExamesTemplate and make a resfresh (F5 browser), the page back to the HomeTemplate. I need the page ExamesTemplate not return HomeTemplate.

I'm using ZenMojo with Bootstrap

Can someone help me?


0 4
0 332
Sergio Fernandes · May 16, 2016
Roman Number Converter

My name is Sergio Fernandes and I'm from Brazil.
I would like to know how can i use MVBasic at Cache Terminal or .csp.
My original problem is to converter Integer Numbers to Roman Numbers and consulting cache documentation I found "Conversion Codes" at http://localhost:57772/csp/docbook/DocBook.UI.Page.cls?KEY=GVRF_basicfea...
My version is Intersystems Ensemble 2013.1.6.950.0
Thanks a lot,

Sérgio Fernandes

0 3
0 326


I'm trying to connect to a Caché server from Atelier; the Caché server is 2015.x.

The address and port I'm trying to connect to is the SQL gateway server; and I get, each time, an "unexpected end of file from server".

Note that unfortunately, for the moment, I connect as _system... And the Caché install has the default privileges.

What am I doing wrong?

1 1
0 411

This is a bit weird. I'm trying to use `DATEDIFF()` to calculate the time since the last message on an interface. For some reason, when no messages are received, the number steadily decreases. This is the opposite of what should happen. Here is my current query and a few sequential result sets:

SELECT getDate() as now, max(TimeCreated) as latest, DATEDIFF (s,getdate(), max(TimeCreated)) as difference
FROM EnsLib_HL7.Message
0 4
0 557