User Answers

Could you please provide more details? Are you creating SOAP WebService in Caché and want to return stream data? Or is it a SOAP client connecting to some external webservice?

Generally for WebService you define return type as %Stream.GlobalCharacter,  then create and fill the stream object and that's it.

Example of web method returning stream data:

I think the solution is to use character stream and made manual Base64Encoding/Decoding.

I have created two methods for it:

What kind of "type" do you want to get? The system variable $PRINCIPAL gives you current device.

For Terminal:


For Telnet:



All this discussion is only for upgrades/conversions of 8-bit instances, which use NLS locale based on different charset than Latin1 (ISO 8859-1).

Upgrade from 8-bit Caché to Unicode is trivial if 8-bit instance is using NLS locale based on Latin1 charset. In such case the upgrade is only installing the Unicode version over the 8-bit instance. This is because first 0-255 characters of Unicode are same as Latin1 charset, therefore no conversion is needed.

This is a absolute path to your webserver.  The URLs for given css and js files are:


The location depends on the definition of the DocumentRoot in your Apache httpd.conf. E.g. for following example

DocumentRoot "c:/Apache24/htdocs"

the files should be located in following folders


Another way:

set number="",$p(number,0,4)=1 w number 


Steve, what do you mean by "the property is defined"? Property is always defined if you make it in the class definition.

On object side you can only check whether property is empty or has some other value.

  IF myobject.AKI="" { do some other stuff ...}

But you do not know if it is because ^CODE("TNO","BIO",291,"AKI")= "" or if it doesn't exist.

Yes, there is a way using ^SECURITY routine in %SYS namespace in Terminal.

You can export single application or all of them.

The main cause of the problem is that you are not connecting to Terminal but Telnet.

If you connect to defined Server connection which name is different then the installed instance for given Cube, it starts Telnet and not Terminal - you can see it from the name of the window. Name for Terminal is  TRM:<process id> (<instance name>) while for Telnet the name is <IP address> - Caché Telnet.

For Windows systems you need to enable Telnet on port 23 (as defined by your Caché Server Manager) to be able to connect.