I've written previous IDC articles about QEWD and how it provides a very high-performance, yet simple-to-use, way of integrating Node.js with Cache
After printing the output in .xls format,the output which i got after every entry blank space exist.Is there any error in .xls file or code error?
Haribabu, Vandhana 392 yes
Zast, Donna C 445 yes
Mast, EPrescribe Unique 598 yes
Qa,Donna Nurse 638 yes
Master,Dr. Mary 774 yes
Globals, these magic swords for storing data, have been around for a while, but not many people can use them efficiently or know about this super-weapon altogether.
If you use globals for tasks where they truly shine, the results may be amazing, either in terms of increased performance or dramatic simplification of the overall solution (1, 2).
Globals offer a special way of storing and processing data, which is completely different from SQL tables. They were first introduced in 1966 in the M(UMPS) programming language, which was initially used in medical databases. It is still used in the same way, but has also been adopted by some other industries where reliability and high performance are top priorities: finance, trading, etc.
Later M(UMPS) evolved into Caché ObjectScript (COS). COS was developed by InterSystems as a superset of M. The original language is still accepted by developers' community and alive in a few implementations. There are several signs of activity around the web: MUMPS Google group, Mumps User's group), effective ISO Standard, etc.
Modern global based DBMS supports transactions, journaling, replication, partitioning. It means that they can be used for building modern, reliable and fast distributed systems.
Globals do not restrict you to the boundaries of the relational model. They give you the freedom of creating data structures optimized for particular tasks. For many applications reasonable use of globals can be a real silver bullet offering speeds that developers of conventional relational applications can only dream of.
Globals as a method of storing data can be used in many modern programming languages, both high- and low-level. Therefore, this article will focus specifically on globals and not the language they once came from.
I am creating a BPL using the Management Portal instead of creating a custom class.
As per the documentations 'request object' contains properties those were in the original request message object or primary request and can be reference using the dot syntax.
So if the primary request was an HL7 message, i should be able to pull the value MSH:9.2 as follow
request.{MSH:9.2} and assign it to a context property
attached image is a screen shot of my configuration, set context.X to request.{MSH.MessageType.triggerevent} i have also tried referencing the object property by number instead of name s
Hi,
we´re looking for a way to determine, if the System Management Portal (SMP) is only accessible through ssl/tls -> https. One of our applications send daily reports via email and places some dynamically created links within it. The application runs on the instance being monitorred (Ensemble-Productions).
Since we migrate some of our customers systems to use https for the SMP connection, we need to generate those links with https:// instead of http://. Our application is characterized as kind of a lib so we use it for many of our clients systems.
Is there a safe way to programmitically
Hello.
I'm having difficulties trying to figure (if possible) how to create an URL that also matches query parameters.
I tried: <Route Url="/:namespace/test(\?id\=):id" Method="GET" Call="Test"/>
<Route Url="/:namespace/test?(id)=:id" Method="GET" Call="Test"/>
<Route Url="/:namespace/test?id=:id" Method="GET" Call="Test"/>
But none of these worked.
Is it possible when using %CSP.REST or am I restricted to using route parameters?
Thank you.
EDIT:
Forget about the "id" parameter name. It's a bad sample: normally id are by definition, able to be hierarchically included in the URI.
Think on id as
Hi, Community!
Check the new video of the week on the InterSystems Developers YouTube Channel:
LDAP - Beyond the Simple Schema
July 27, 2017 – Alert: Linux Defects Can Corrupt Mirror Copies of Journal Files
InterSystems has encountered defects in Linux which can corrupt copies of journal files that are generated on a mirror backup or async member; this occurs only in certain specific configurations. The original mirror journal file created on the primary member is not affected.
The risk is only exposed in Caché, Ensemble, and HealthShare distributions beginning with version 2017.1.0. The risk only exists on Linux and only if a backup or async mirror member is configured to use the rtkaio library.
The rtkaio library is
I have tried to create Ensemble SOAP passthrough operation following this guide.
Here's my production configuration (after steps 1-4):
Class Passthrough.Production Extends Ens.Production{XData ProductionDefinition{<Production Name="Passthrough.Production" LogGeneralTraceEvents="false"><Description></Description><ActorPoolSize>2</ActorPoolSize><Item Name="PassthroughOperation" Category="" ClassName="EnsLib.SOAP.GenericOperation" PoolSize="1" Enabled="true" Foreground="false" Comment="" LogTraceEvents="false" Schedule=""><Setting Target="Adapter" Name="HTTPServer">www.wWhat is APM?
I am talking about Application Performance Management at global summit, and several people have asked what that means so it is time for a bit of an explanation.
APM or Application Performance Management (sometimes referred to as Application Performance Monitoring) has a very good (if complicated) explanation on Wikipedia but to me it just means looking at performance from the users’ point of view and the level of service provided to them.
The ‘user’ in this context could mean a line of business owner who is paying for the application or it could mean someone in front of a screen
Hi All, I tried to connect Crystal report with Cache 5.0 Its Show Crystal Report error as "The report you requested requires further information." How to resolve the issue in C#.
Hi everybody, We have written a convert from Punycode. This is reformed from javascript. Perhaps many non-English systems need to use this feature in domain name resolution. Anyone can use and change the code as needed.
Recently upper case ß was defined as an official character for German
how can this be adjusted in Caché 2017 ?
Hi All,
We have a application currently running on Zen framework, now business wants to use Angular JS as their front-end technology for any future release but they don't want to upgrade the existing the modules which are already there in Zen (as of now).
Hello,
I try to create an ECP between to CACHE server.
The ECP is working, the remote DB is created and the namespace is created and linked on the remote DB.
The table appears on the server but when I try to access I get this message:
ERREUR #5540: SQLCODE : Message 400 : Process 4076 failed to compile Cached Query Class %sqlcq.###.cls6 with these errors: ERREUR #5002: Erreur Cache: <COLLATION NOT SUPPORTED>getdependencyclasses+54^%occDepend SQLTEXT: SELECT ...
My servers have different cache version: 2016.2 and 2015.2, perhaps that's my problem ?
Thanks in advance
Sébastien
Hi! I am trying to automatically populate an array property of cash amounts keyed by currency ("GBP", "USD", etc). This property needs to be NOT stored on the database and visible via SQL and the cache object.
Here's my attempt. Ultimately the array will be populated based on the the some child classes, but for now I'm just hardcoding it:
Property Amounts As array Of %Numeric [ SqlComputeCode = { set {*} = ##class(ContainerSize).GetTotalAmounts()}, SqlComputed, Transient ];ClassMethod GetTotalAmounts(thisID) As %Collection.ArrayOfDT{set arrAmounts=##class(%Collection.ArrayOfDT).%New()Hi, Community!
Recently we announced Developer Community Meetup in Cambridge, MA. Let me describe what is it.
Meetup it's a one evening event where you can enjoy some sessions by presenters (today InterSystems engineers, tomorrow you can be a presenter) and chat with local developers and InterSystems developers, engineers and product managers (depends on who is in town) and discuss your problems, experience, and success with InterSystems technologies.
InterSystems would provide the place, technical sessions, some food and beverages.
We think the Developer Community would benefit from it.
In this article I would like to tell you about macros in InterSystems Caché. A macro is a symbolic name that is replaced with a set of instructions during compilation. A macro can “unfold” in various instruction sets each time it is called, depending on the parameters passed to it and activated scenarios. This can be both static code and the result of ObjectScript execution. Let's take a look at how you can use them in your application.
By now it's a commonplace how to implement a basic REST API in Caché and there is good documentation about it here: REST in Caché
A question that comes up from time to time is:
How can I make a parameter in my REST url optional?
Simply put, is it possible to create a URL map in Caché that maps a URL like this:
http://server/API/object///old
While this might look odd, this is actually a valid URL. You can read the details in RFC3986 section 3.3.
The framework provided by %CSP.Rest actually allows us to create maps that match the above URL.
Hi, Community!
We introduced the new dashboard which shows the stats on members' articles, questions, and answers.
Hope it would help you to find the authors you would like to follow and find interesting posts you could miss.
What is a major difference between $case and $select?
hi
I query large mount of rows from one table with JDBC, and will prompt <store> error. I found that it was out of process memory (default 16M, max 49M in version 2010.2) .
so my question is : how to release memory for large mount of rows query? or how to resolve this error?
I get a third party routine which outputs some messages to standard output during execution.
Is it possible that I could direct the messages to other device so my terminal would never see this messages?
Thanks.
Greetings,
What methods are available to position a cursor on a screen to begin writing as not to disrupt other areas of the screen? I have used ?# , ie: ?5 but this is destructive from the let to character 5. I would like to enter a command that will position at row,col and then start writing? Can I create a window in a window type display to write text and then when done viewing, remove it?
Please advise,
Thanks in advance for everyone's time.
Using Chrome on my Android mobile I can't seem to get to a specific submenu option. For example in the screenshot below I use the menu button to bring up the first-level menu. Then I tap on "COMMUNITY". The second-level menu appears briefly, but doesn't give me time to tap the entry I want ("FEEDBACK") before it decides to take me to the page headed "Connect with Members".

Am I missing a trick, or is this a bug?
It would be nice if there were a permalink displayed for each comment. That way I could bookmark or send a link to a specific comment. I can see links to my own comments in the My Account page, but I don't see any way to get permalinks for other people's comments.
I have a query string that I am creating programmatically, based on some user inputs. The user might search on 5 fields, or 8 fields, or no fields.
In my sql statment, some of these fields require parameters in the %Execute statement.
For example:
if user picks lastname, sql = "select * from person where lastname = ?"
if user also picks age, sql = "select * from person where lastname=? and age > ?"
I then have these lines of code to create my result set:
set statement = %SQL.Statement
statement.%Prepare
resultset = statement.%Execute(param1, param2)
-- but it might be
resultset =
Type 1:
^global(key1,key2,key3,val1) = "" ^global(key1,key2,key3,val2) = "" ^global(key1,key2,key3,valn) = ""
Type 2:
^global(key1,key2,key3) = $lb(val1,val2,.....valn)
the number of val may be just dozens, but also possible to 10K
Thanks.
Hi
I would like to follow any change made in the production IE -
date,time, user,production,service/process/operation - name, item changed, value before change, value after change.
Is there a way I can get this data & trap the act of change in order to log this data.
Thanks Simcha
Hi Community!
Please find the Developer Community video of the week on the InterSystems Developers YouTube Channel:
Upgrades - Minimizing Business Disruption

