Hi Community!
As you know we launched the InterSystems Open Exchange — the marketplace for solutions and tools on InterSystems Data Platforms!

But how to publish your application on OE?
Before we start, let me answer the few basic questions.
InterSystems Caché is a multi-model DBMS and application server. See more details here.
Hi Community!
As you know we launched the InterSystems Open Exchange — the marketplace for solutions and tools on InterSystems Data Platforms!

But how to publish your application on OE?
Before we start, let me answer the few basic questions.
Hello,
We would like to store a list into a global. The need is to get the full Web Service's Response Message, because of currently, our Operation sends the message to the Process, whith an empty list:

We have created a copyList which is a clone of the list which is being returned from the web service client:
set copyList = pResponse.RSPK21QUERYRESPONSE.%ConstructClone(1)
$$$LOGINFO("copyList: "_copyList)
$$$LOGINFO("copyList count: "_copyList.Count())
$$$LOGINFO("copyList.GetAt(1): "_copyList.GetAt(1))
$$$LOGINFO("copyList.PID8: "_copyList.
Hi, everybody,
I've been reading some posts in the community but I haven't been able to come to a conclusion. Here's my point.
I have a cache code, and following this guide https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?… but I can't understand how to run this from jenkins for example, without using the console, and thus automate the process. That is to say, if it were possible to do it, what steps should I follow.
Thank you very much
Hello,
We would like help to know why our web service which gets Patient's ID number, does not accept messages?
We observe its Event Log, and it contains the following pattern:
We detail each log to give info to discover what's happening:
First there is a new connection:
Then it suddenly disconnects
After that it looks like the service restarts:

The next one is interesting: it outputs that UTF-8 encoding is invalid, inside EnsLib.SOAP.InboundAdapter

We have searched for UTF-8 inside SOAP.
I've recently encountered a HS Caché that won't start informing that Collation 30 is not available, but I have not found an easy way of knowing what collation is 30.
I've found that the following command returns the ones from the current locale, but not from all locales:
Set Rset = ##class(%ResultSet).%New("%Library.Collate:CollationList")
d Rset.Execute()
While (Rset.Next()) {zw Rset.Number_": "_Rset.Name}Thank you
Hello,
I’m running a query to drive a report.
I have a persistent class that includes this:
Property CreationTime As %TimeStamp [ InitialExpression = {$ZDateTime($ZTimeStamp, 3, 1, 2)} ];
So the above populates the column with UTC time.
Is there a way to convert to local time inside the SQL query?
Thanks!
*** Update 2/11/20 2:15pm ***
*** 2017.2.1 version is NOT affected ***
InterSystems has corrected a defect that can cause the CSP Gateway to forward a response to the wrong web client. This defect is not present in the Web Gateway.
The CSP Gateway is distributed as a component of a full instance installation and also as a standalone installer. Both distributions are affected by the defect. The CSP Gateway installed with the private Apache web server for the Management Portal is also vulnerable. The affected versions of the CSP Gateway are associated with Caché or Ensemble:
InterSystems has corrected a defect that can result in skipping a transaction rollback. This can only occur after activation or addition of a mirrored database on a primary mirror member.
This problem exists for:
The conditions necessary for this defect to be triggered are quite specific. All of the following must apply:
How can I get the current date and time in the destination file when I'm using Stream.CopyFrom because Stream.CopyFrom preserves the date and time of the source file.
Hello,
For many routines we write, we utilize a global we name ^HITLIST($JOB,"routineName") as temporary storage as needed. For various reasons this gets junked up and we are at a point where we need to do some routine garbage collection.
The idea is to write a utility that looks at all the ^HITLIST($JOB) nodes, check if the job is currently running and if it isn't then we can issues the KILL command on ^HITLIST($JOB).
We looked at the methods in %SYSTEM.Process and couldn't find a method that clear told us that a job was running or not. The most promising seemed to be %SYSTEM.Process.
I am looking to run some analysis on existing software to quickly identify global variable references. Ideally you would feed in a "starting routine" and after going through all referenced routines you would end up with a finite set of global variables. So the primary purpose is to take say 10,000 lines of code and map out the referenced global structures without relying on a programmers eye. I found the post on Object Script equivalent to Studio "Find in Files" interesting but the downside is that output is too verbose and would require parsing to extract the global structures. How would you override writing to the terminal so that you could parse the data?
I'm looking into finding ways to fetch data from cache efficiently and work with it with python - specially pandas.
i tried the following but i'm wondering if this is the most efficient way?
to run the stored procedure as %ResultSet inside cache in a classmethod and serialize the data to JSON
and then call that class method from python
Class User.RegObj Extends %RegisteredObject { ClassMethod runAlpha() As %Library.DynamicAbstractObject { set QHi=##class(%DynamicAbstractObject).%FromJSON("{}") set rs=##class(%ResultSet).%New("User.Person:alpha") set pr=rs.Execute("","") set idx=0 while rs.
We have multiple databases running on a single server. I have duplicate interfaces on each database.
If we're doing testing in copy #1, the interfaces should be running in that copy. I want to block analysts who try to start the interfaces in copy #2.
So, I'm looking for something that would check the port and tell me the status: already in use or free.
My challenge is that this system needs to stay ISO/ANSI compliant.... so I can't use any of the newer tricks.
Is there any plain-old Cache' I could use for this task?
Thanks!
I am developing a viewer for Crystal Reports using the Crystal Reports for Visual Studio (CR13SP26). I have also installed the latest ODBC Drivers for Cache, but when I connect some reports to the Cache database using a connection string, I get an error that I failed to retrieve data from the database, and it reports the Database Vendor Code 30. Has anyone used Crystal Reports connecting via a connection string and received this error? If so, how did you correct it?
Thank you,
Brian Cromwell
Hello,
I am wondering the best way to disable a user account using this class in Cache (Security.Users).
https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.c…
Example User Account = jhipp
Currently is Enabled
I know that we can use the auto-generated EnabledGetStored method, for example:
%SYS> w ##class(Security.Users).EnabledGetStored("jhipp")
1
There is not an auto-generated method to set this property, right?
I can modify this property with the Modify function, but I have to build a temp array with one value etc.
Hello Community,
Thank you all for your continued feedback and support of our ad hoc reporting platform, VDM. There's been some questions around setting up a non-ODBC connection for InterSystems platforms. We published a new YouTube video showing the steps necessary to connect to InterSystems Caché and InterSystems IRIS with BridgeWorks VDM.
How do you cancel a query that is executing in the Management Portal > System > SQL?
Does closing the browser cancel the query or does it continue to run in the background?
Is there any added benefit to using the Shell over the Portal? Perhaps there is a way to cancel/stop a query here?
$SYSTEM.SQL.Shell()
Thanks
Hello,
I would like to change signature's algorithm to be sha1.
I share the current code:
(BINARY SECURITY TOKEN and USERNAME TOKEN CODE omitted)
set signSha1=##class(%XML.Security.Signature).%New()
do signSha1.SetSignatureMethod($$$SOAPWSrsasha1)
//..SetSignatureMethod($$$SOAPWSrsasha1)
//$method(signSha1,"SetSignatureMethod",$$$SOAPWSrsasha1)
//signSha1.SetSignatureMethod($$$SOAPWSrsasha1)
set sig=signSha1.CreateX509(cert)
I have tried to use SetSignatureMethod, however in the Message Viewer we see:

Hello.
I'm trying to export a XML stream containing some files that are supposed to have been written using UTF-8, but I'm facing some broken encoding issues.
You can see below that I'm indeed viewing a UTF-8 encoded and which is inside the CSP folder and encoded correctly (although displaying it on Studio would not display it correctly as the file is not using BOM and that's intentional).
We need to export such files to XML along with many others and for that we'are using the method ExportToStream from the class %SYSTEM.OBJ.
I am trying to get a list of all settings for all the config items of a given production using SQL . When I run the following sql as a dynamic query I am unable to access the setting names and values. Settings is a list of Ens.Config.Setting
Set query="Select Name, Production, Settings,$ListLength(Settings) "
_"As Count from Ens_Config.Item "
Set rc=##class(%ResultSet).%New()
Set sc=rc.Prepare(query)
Set sc=rc.%Execute
While rc.Next(.sc) {
For i=1:1:Count {
Set tSetting=$List(Setting,i)
Set name=tSetting.Name
}I get a LIST error on the last line!
DeepSeeButtons is available on Open Exchange! This tool will generate a diagnostic report of your DeepSee environment.
The report consists of multiple sections. These sections range from System Details to Caché/InterSystems IRIS logs to Cube information. In addition to simply providing information about the environment, some common recommended configurations are checked. If a recommended configuration is not used, an alert is displayed highlighting that the environment configuration does not match the recommended configuration.
I've got a pretty standard dataListBox on a pretty standard Zen page running a pretty standard query. My problem is that I can't get the onfocus or onclick events to fire.
Thanks in advance.
A quick question regarding to SQL Query Plan:
Why these two requests have different plans, in particularly, why second request needs temp file? To me, temp file is a bad thing which should be avoided, right?
Plan for 1:
Read index map Test.Log.cdateIndex, using the given %SQLUPPER(cdate), and looping on ID.
For each row:
Read master map Test.Log.IDKEY, using the given idkey value.
Output the row.
Plan for 2:
Call module B, which populates bitmap temp-file A.
Read bitmap temp-file A, looping on ID.
Cache / Ensemble version 2016.2.2.853.0
I have a need to restrict ODBC access to certain users to prevent unwanted access to our cache database.
We have a limited number of legacy applications that use ODBC to connect to read data and are currently not in a position to have these amended any time soon so in the interim, I am hoping someone will be able to provide me with some assistance.
Any suggestions on where to start?
Hi
I'm using this query "Config.MapMirror.List" To get information of the list of servers that are in the mirror system.
I'd like to know how can I know which of the list is the primary and which is the failover or async member.
Is there a way to do it with this query? Is there another query to get this info?
Thanks a lot
Hello everybody,
My question would be, how is the recommended way to access Windows shares, also in view of future demads. Of course, I'm also happy about an explanation or code snippet of how the library, which is mentioned in the following , can be used under cache.
The classic jcifs library is easy to use, also with Cache, but as microsoft ceases support for smb1, we are currently looking for alternatives. jcifs-ng is such a library, which we took a closer look at. In java code a jcifs-ng file operation looks like this:
[.
Hi,
I have a large XML zen report file that I want to convert to a CSV, what is the most efficient way to do it.
XML file:
<Details> <Col1> aa1 </Col1> <Col2> bb1</Col2> <Col3> cc1 </Col3> </Details> <Details> <Col1> aa2 </Col1> <Col2> bb2</Col2> <Col3> cc3 </Col3> </Details>
Expected Output:
Col1,Col2,col3 aa1,bb1,bb1 aa2,bb2,bb2
Thank you.
Hello,
When we need to create a utf-8 encoded XML file, we use the Charset property of %XML.Writer:
set writer=##class(%XML.Writer).%New()
set writer.Charset="UTF-8"
How can we create regular txt files with such encoding?
Our Cache Installations are 8 bit and not unicode.
Thanks,
Nael Naser eldeen
Hi,
I’m working on a project to add specific PID data to an ORU_R01 message by querying our patient system and adding it to the ORU. Here is what I have
managed to do thus far:
- Received ORU_R01 message
- Created Q21 message using the PID data included in the ORU message and sent to patient system to query.
- Received a K21 message with the required PID data
I’m stuck at this point now. I want to add a specific piece of the K21 PID data (highlighted below) to the original
ORU_R01 PID and was hoping you would be able to assist.
I am doing this using Studio. I want to avoid using a BPL.
For many in today's interoperability landscape, REST reigns supreme. With the overabundance of tools and approaches to REST API development, what tools do you choose and what do you need to plan for before writing any code? This article focuses on design patterns and considerations that allow you to build highly robust, adaptive, and consistent REST APIs. Viable approaches to challenges of CORS support and authentication management will be discussed, along with various tips and tricks and best tools for all stages of REST API development. Learn about the open-source REST APIs available for InterSystems IRIS Data Platform and how they tackle the challenge of ever-increasing API complexity. The article is a write-up for a recent webinar on the same topic.