Question Ruslan K · Aug 22, 2017

The dataCombo property columnHeaders is a comma-delimited list of column headers displayed in the dropdown list.

Comma is a delimiter.

But, if I want add comma to columh header, for instance "House number, apartment" - this is value for header of one column.

How can I escape comma in this case?

"House number\, apartment" - is not working. 

26
0 646
Question Uri Shmueli · Aug 22, 2017

Hi

Does anybody know what happend to %SYS.GSET routine in Cache 2016 ?

In Cache 2013 it still existed, I didn't find anything about it in Cache realese notes 2014 and 2015.

Uri

10
0 486
Article Sean Connelly · Aug 21, 2017 2m read

tl;dr I have discovered that using $THIS in a very specific way will make persistent objects go stale.

I found that it only happens when using $get on an array that contains the OID reference of $THIS. I assume that this is an unwanted feature and have raised a WRC. The problem can be recreated following the steps below, I have also posted the workaround that I am currently testing and looks to be working fine.

1. Create a persistent class...

Class Test.Store Extends %Persistent
{
Property SomeValue As %String;
Method SomeMethod()
{
    //this will cause $THIS to go stale in this process
    if $get(se
7
0 459
Question Tom Philippi · Aug 23, 2017

I have a call in a business process that returns a response which may contain a collection of error message. I use the following code in my response builder to extract the messge value from the first error and map them to a context variable:

Set    context.ErrorMessage   callresponse.result.GetAt(1).errors.GetAt(1).message


This works nicely when an error comes up, however when no error is returned (i.e. the collection is empty) I receive an error: ERROR <Ens>ErrException: <INVALID OREF>zOnResponse2+4^Calarm.UserRegistrationProces.Context.1 -- logged as '-' number - @' Set status=1,context.ErrorM

2
0 390
Question Kurro Lopez · Aug 23, 2017

Hi all,

I need to create a routine to modifiy some values in a global.

My first attempt was:

    // Search the first position of Messages
    set pos=$Order(^Ens.MessageBodyD(""))
    while(pos > 0){
        // Get the class name
        set clase = $Order(^Ens.MessageBodyD(pos,1))
        if (clase="MensajesRestResponse")
        {
            // Do the convertion
        }
        set pos = $Next(^Ens.MessageBodyD(pos))
    }

but if I use a *.bas file (cache basic script), I'm not able to use these commands ($Order and $Next) and I don't know how to translate theses words.

please, could the comunity help m

3
0 568
Article Robert Cemper · Aug 23, 2017 2m read

I worked through the Community for proposals to provide end users
in an easy way with data formatted as EXCEL sheet.

There is a great article Tips & Tricks - SQL to Excel

there's an important message embedded: "EXCEL can interpret HTML tables and display them as usual"

Where's the light weight export to EXCEL ?
Good old CSP is well equipped to produce HTML tables accepted from EXCEL as input.
With modern Browsers you don't even need <head>and  <body> tags.
So the required code around your SQL result set is really slim.
And you are free to add any formatting you need either by HTML or in SQL.

T


1
1 1727
Article Murray Oldfield · Apr 8, 2016 17m read

This post will guide you through the process of sizing shared memory requirements for database applications running on InterSystems data platforms. It will cover key aspects such as global and routine buffers, gmheap, and locksize, providing you with a comprehensive understanding. Additionally, it will offer performance tips for configuring servers and virtualizing IRIS applications. Please note that when I refer to IRIS, I include all the data platforms (Ensemble, HealthShare, iKnow, Caché, and IRIS).


[A list of other posts in this series is here](https://community.intersystems.com/post/capa
3
9 11221
Question Alexey Maslov · Aug 21, 2017

Hello everybody,

We have a piece of Caché software which calls an external utility using $zf(-1,command). It works fine under Linux, but under Windows an external process occasionally hangs (due to some internal problems out of the scope here) and need to be killed programmatically. Having PID, it's easy to kill a process. If a Caché process is called with JOB command, the caller can easily get its PID from $zchild, but alas $zf(-1) does not seem to return the similar info. Is it possible to get it somehow?

4
0 785
Article Fabian Haupt · Jan 20, 2017 8m read

This is the first article of a series diving into visualization tools and analysis of time series data. Obviously we are most interested in looking at performance related data we can gather from the Caché family of products. However, as we'll see down the road, we are absolutely not limited to that. For now we are exploring python and the libraries/tools available within that ecosystem.

The series is closely tying into Murray's excellent series about Caché performance and monitoring (see here) and more specifically this article.

Disclaimer I: While I will be talking in passing about the interp

combined

4
1 1809
Question Coty Embry · Aug 19, 2017

I was wondering if there was a way to if the user is using Studio and changes a file to get the users name and have a function run when the file is changed. 

Ive got this working for .int files but not for .csp or .js or .css or any other kinds of files. 

When we edit code we are logged in to the Cache backend’s server through Studio by using an iPaddress (which is on our network). 

I know now there are concepts of file locks and logs for when certain tasks are ran or when a user maybe edits a file

I was thinking there might be a way to get that Info because of the fact of being logged in through

5
0 460
InterSystems Official Andreas Dieckow · Aug 21, 2017
Project related quality assurance efforts have revealed a number of concerns for the current release of 2017.1.0 and 2017.1.1 on all OpenVMS platforms. In certain situations, the impact can be severe. InterSystems will address these issues with the upcoming 2017.1.2 release, and in the meantime, will remove all 2017.1.x kits for OpenVMS from our Download Servers.
 
If you have immediate needs correcting existing deployments of this version, please contact the InterSystems WRC (support@intersystems.com).
 
0
0 742
Question Laura Cavanaugh · Aug 17, 2017

Hello all,

In my ZEN login page, I found a way  to bypass the submit button and force a user to click on the Sign In button, thus forcing the code to call my OnSubmit(), like this:

<!--ondefault="return true;"--><!-- this removes the ability to use "return" to login forces button click to login -->

<loginForm id="loginForm"   ondefault="return true;">

<text name="CacheUserName" />
<password name="CachePassword" />
<!-- the submit button is special, and submits automatically without checking first -->
<!--<submit caption="Login" id="login"  /> -->
<button caption="Login" id="login" onclick="zenPage


4
0 742
Question Murali krishnan · Jul 12, 2017

how do we do estimation in Intersystems ? what is the unit of  work that we refer for intersystems ? let's say for example if we to add 200 fields how many business classes ( Business service, Business process, Business operations) that we must change  ?

Any thumb rule ? Please let know

4
0 529
Question Scott Roth · Aug 1, 2017

I know there are numerous Java libraries available to scan a PDF meta data, but is there a way to scan a PDF using native cache object script? We are looking to take a PDF from an external vendor, scan for meta data, create the HL7 message, and embed the PDF within the HL7 message.

Thanks

Scott Roth

The Ohio State University Wexner Medical Center

2
0 1612
Question Laura Blázquez García · Aug 16, 2017

We have some productions in Ensemble that uses DotNetGateway to use dll created with .Net. The DotNetGateway is configured with a port number, and then the operation uses that port.

But sometimes, suddenly Ensemble answers that the port is already in use, but it is only used by the DotNetGateway. And the only way to resolve this and make the port available again, is to restart the full server. We have tried to restart Ensemble, to kill the process that may be using the port and nothing. Is there any way to make a DotNetGateway port "stay connected" or 
something to search who is occupying the

1
0 416
Question Nancy Grimes · Aug 8, 2017

After Microsoft updates my Cache Cube has stopped working.  I checked my cconsole.log and corrected my journaling errors.  However, I still receive Native Code 450 errors but now I am receiving Network Errors.  However, now there do not appear to be any errors logged in my cconsole.log.

I have reinstalled Cache Cube multiple times without success.  Can anyone please provide some assistance?

Thank you,

Nancy Grimes

903-786-2590

Nancy.Grimes2@va.gov

4
0 399
Question Token Ibragimov · Aug 16, 2017

Hi!

When trying to receive xml response 

set sc = ##class(%XML.TextReader).ParseString(str,.reader)

I'm getting error bellow: 

Invalid character (Unicode: 0x1A) while processing Anonymous Stream at line 2 offset 281

How I can ignore this error? Thank you.

2
0 446
Article Rob Tweed · Aug 17, 2017 1m read

Quite a few enhancements have appeared over recent months in QEWD for easing and simplifying the creation of REST-based services.  It's now even more slick and powerful,  allowing you to very quickly create very high-performance, highly-scalable REST (and Web) services that make use of Cache.

I've therefore updated the training presentation deck (Part 31 on developing REST Services with QEWD).  It describes all the new features with worked examples.  See:

https://www.slideshare.net/robtweed/ewd-3-training-course-part-31-ewdxp…

1
0 573
Article John Murray · Aug 17, 2017 1m read

Here's one way to determine if a class is mapped (i.e. it is in a package whose definitions come from a database other than the default code database for the current namespace):

SAMPLES>w ##class(%Library.RoutineMgr).IsMapped("Cinema.Film.cls")
0
SAMPLES>w ##class(%Library.RoutineMgr).IsMapped("%iKnow.Objects.Source.cls")
1
SAMPLES>

If you pass a by-ref second argument to IsMapped you can also discover what database the class definition is stored in:

SAMPLES>w ##class(%Library.RoutineMgr).IsMapped("%iKnow.Objects.Source.cls",.db)
1
SAMPLES>w db
^^c:\intersystems\ens171\mgr\cachel
0
0 717
Question Tom Philippi · Aug 16, 2017

So I have an ensemble soap client which I use to send a message. The target web service is, however, giving a soapfault stating that my message misses the "SoapAction http header".

When I copy paste the message from my Cache Soap Log and fire it from Soap UI I get a proper response from the target web service. This suggests that my intersystems installation is somehow not including or losing some http headers. 

I am running Ensemble 2016.2 SUSE on an ubuntu machine.

Here is the InterSystems message with the http headers from Soap UI:

POST https://test.salesforce.com/services/Soap/c/40.0/0DF8E00000


2
0 1084