I was wondering if there was a way to easily identify the node depth of a global.
Take the following global example. Is there way to determine the depth is 3?
s ^global("first","second","third")="some^info^here"InterSystems Caché is a multi-model DBMS and application server. See more details here.
I was wondering if there was a way to easily identify the node depth of a global.
Take the following global example. Is there way to determine the depth is 3?
s ^global("first","second","third")="some^info^here"We are going to start using Git within Cache.
One question came up - if the branch that you checked out does not have the class or mac file, what is the correct thing to do?
Should we delete from Cache or should we just keep it?
I'm leaning more towards deleting it because Cache should reflect what is in your work folder in git. But other team members are saying to keep it.
Does developing a RESTful API in Caché remove the requirement to use the InterSystems.Data.CacheClient.dll and generate proxy classes using the Caché Object Binding Wizard for .NET web development? If anyone has links to sample applications using .NET with Caché and REST Services, I would be grateful if you could share them.
I have many other SQL storage's defined and have to expose them as well to JSON. Can anyone please suggest a better approach.
My column names usually match with my Json properties.
My User.TestClass is the class with GetJsonList() as my method to return /output JSON formatted data.
The Code tried and SQL storage structure are as follows -

Class User.TestClass Extends %RegisteredObject
{
ClassMethod GetJsonList() As %Status
{
Set SQL="SELECT ID, Column1, Column2, DataID FROM SQLUser.
Last time, we stopped on static stuff. Let’s continue...
A client wants information extracted from their MUMPS database and transferred to a cache database, where do I begin and what are some best practices I should keep in mind? (I am fairly new to MUMPS and have been put on this project)
Hi-
I have the following objects
Class A
Property P1 As B
Property P2 As %String
Property P3 As %String
Class B
Property P1 As %String
Can I create an index in Class A based on P1.P1. Basically I want an index of class A by property P1 in class B
I tried creating the following but got a compile error
Index I1 On P1.P1
Thanks
I use macros everyday, but its the first time I want to create a macro like this
I want to create a new macro whereby I can pass a variable amount of parameters
the macro (much simplified version) would be
#define myMacro(%params) $listBuild(any Number Of %params I pass in)
so I want to be able to call $$$myMacro(user,ID,vehicle) ie 3 parameters would generate
$lb(user,ID,vehicle)
but equally I might want to call that same macro $$$myMacro(companyID) ie 1 paramter and would generate
$lb(companyID)
so the question is,
how can I create the macro without knowing how many parameters I'm passing in up front.
Is there a way to reduce the size of a CACHE.DAT file after a major reduction in global content has been performed?
Thx... Larry.
I am tasked with using CACHE to insert data retrieved from a CACHE data base and insert it into an sql database. The columns in the sql table that I am trying to insert data into have names that contain underscores such as "ACCESSION_DATE" I found a utility in CACHE to connect to the sql data base and perform inserts. I have the data I need to insert. I need to pass the data into the sql utility referencing the column names.
I tried using indirection to set the data into underscored variables, but that isn't allowed in cache object script.
Anyone have suggestions as to how to do that?
Will an upgrade from 2015.2 to 2017.1.2 or higher freeze the query plans from 2015.2? Is there some minimum source version where this will work?
Hello, Community!
Here's an interesting task I found on the Internet.
Write a method that would draw a box of a specified size.
The goal is to write the shortest method.
Here's a method signature (it can't be modified):
ClassMethod main(s As %Integer = 10)
And call sample:
>do ##class(ITPlanet.Task4).main(5) ##### ## ## # # # ## ## ##### >do ##class(ITPlanet.Task4).main(10) ########## ## ## # # # # # # # # # ## # # ## # # # # # # # # # ## ## ########## >do ##class(ITPlanet.Task4).main(20) #################### ## ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## ## ####################
Is there a way to make the system users like _SYSTEM and ensadm bypass the Delegated sign-on and not cause it to fill up the Audit trail with "Programmer mode login failure"?? I figured I still had to leave password login enabled for the background users to run. How would I script if username = "_SYSTEM" then don't do the Delegated sign on?
Here is my ZAUTHENTICATE
s $zt="Error" s Status = 0 i Password="" { s Status= $SYSTEM.
Hi,
Please share me steps to upgrade cache version from 2017.1 to 2017.2 along with software dump.
In CACHE did there any way to extract text from PDF and Doc files?
Hello,
I'm using Cache 2016.
I try to get a property set in my server response header.
I tried to get it in %request and %response but without success ...
Some one have an idea ?
Here an example of what i try to get :

Thank you
Sébastien
We have scripted a process where we can run EnableConfigItem from the cron in AIX so we can run multiple scripts at a time vs the scheduler in Ensemble that is single threaded. For the most part this works fine, until that service/operation has an error on it then it seems that everything else that is called after that instance halts.
Is there something that is stopping EnsConfigItem() from running once something has error'd?
Can something be forced like it does if we try to enable/disable in the gui and it times out?
this is the single command line we are calling
zn "$1"
w ##class(Ens.Director).
In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:
In the first article, we covered Git basics, why a high-level understanding of Git concepts is important for modern software development, and how Git can be used to develop software.
In the second article, we covered GitLab Workflow - a complete software life cycle process and Continuous Delivery.
In the third article, we covered GitLab installation and configuration and connecting your environments to GitLab
In the fourth article, we wrote a CD configuration.
In the fifth article, we talked about containers and how (and why) they can be used.
In this article let's discuss main components you'll need to run a continuous delivery pipeline with containers and how they all work together.
Hello!
Is it possible in cache to divide numbers with spaces. For example number 12500 divide to 12 500?
Thank you!
Hi.
What is the distinction between Ens.Util.Tasks.PurgeMessageBank and Ens.Util.Tasks.Purge
http://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?…
http://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?…
Tks.
I'm converting a DTM system to Caché and trying to use the Caché Terminal as the UI. I've come across and removed some DTM formatting for printed text that does not do anything in Caché (actually, it caused errors). The printed output to the default Windows printer ("|PRN|") has been working and the printed documents in text-only format look fine. I am testing on a low-end HP laser printer and a Brother laser. The client has done a print test to his own older HP laser from his Caché instance and the text renders fine.

I've collated a list of public Caché Projects that I've been able to find through GitHub topics and various other searches, let me know if I have missed any and I will add them to the list.
The full list is here...
https://github.com/SeanConnelly/Public-Cache-Projects/blob/master/README.md
Hi guys,
is there an easy way to compare two objects in os?
Example:
I have a registered order-object at runtime. Now I want to call a specific export-service just in the case that sth in this order has changed since the last export. So I have to compare the persisted order-object (last export) with the current order-object.
Ist there an easy way to compare these two objects or do I have to check each object-value separately?
Thanks for your help!
Regards, Thomas
The Link() method of %CSP.Page claims to take a link and an array of query parameters and transform them into a URL. The documentation is here. But when I pass in query parameters, they aren't included.
What am I missing?
How do I use tls v1.2 on older version of Cache for Windows (x86-64) 2011.1.2 (Build 701)
thanks,
Rich
Problems encountered with Java Gateway
I am writing a framework for use on the Java Gateway. The role of the framework is:
1. Import the framework jar file into ensemble studio (test completed);
2. In the framework jar, handle the related functions of the remaining jar files (the rest of the jar files are written by colleagues).
The general idea is as follows:
Send: Ensemble Java Gateway -> Framework Jar -> Plugin Jar (colleagues write, processing data).
Returns: Plugin Jar (processed return data) ->Framework Jar->Ensemble Java Gateway.
We have an application made in asp.net and want to make a integration for our client who is using cache database. So can any one suggest how to communicate with the database as we are new to this system.
Sounds odd - but I encountered it - twice now. Cache was restarted. in that period the primary journal directory was full and it was writing to the secondary journal directory. So upon start-up, it was quite obvious that it was not going to write to the primary. Cache reported this but was able to continue with the start-up but writing to the secondary. All of a sudden it doesn't recognize the 'primary' config any more and started saying 'Alternate and primary journal directories are the same'.
Of course to do this you'll have to customize the %ZEN.Component.combobox component and inherit it from %ZEN.Component.abstractComboBox.
There are numerous ways to interact with InterSystems Caché: We can start with ODBC/JDBC that are available via SQL gateway. There are API for .NET and Java too. But if we need to work with native binary libraries, such interaction is possible through Caché Callout Gateway, which can be tricky. You can read more about the ways of facilitating the work with native libraries directly from Caché in the article below.