Hello, has Cache built-in function for converting hexadecimal number to decimal?
I am building a SOAP service using Caché 2016.1.
If I set %session.Preserve=1 in OnPreWebMethod and I set a variable in my service method, why don't I see the variable in the CSP session processes' variables after I call the method?
The documentation says "The original motivation for the provision of a state-aware mode of operation was to make it relatively easy to migrate legacy application code from a fixed client-server environment (e.g. terminal applications) to the web. Support for transactions that spanned several HTTP requests was also a consideration in its introduction."
This is my
Hello, guys.
Is there a way to create a dashboard programatically?
I have a source code of a dashboard in udl format and I need to somehow import it in my project.
%Compiler.UDL.TextServices works only with classes and ##class(%Routine).%New("dashboard.dfi") doesn't work as well.
This article created as side effect of preparations to the longer set of articles about simple, but still handy MapReduce implementation in Caché. I was looking for relatively easy way to pass arguments to (potentially) multiple targets via remote calling facilities. And after several attempts I have realized that we do have very powerful mechanism in the Caché ObjectScript which might be of particular help here – dynamic dispatch for methods and properties.
Since Caché 5.2 there are multiple predefined methods inherited by any object based on %RegisteredObject (at the moment they are
If i click the green "add code package" button on right of screen it shows a new screen with no meaningful text, and no error message.
Screen grab added showing the screen you end up at which just says "Add content - Answer Answer"

Hi,
I am new to Cache and I am trying to convert a JSON string (msgdata) that contains a JSON payload to an object to be saved into a Driver. Entity table. I am running into 2 issues and would appreciate any help:
1) It seems that when the 1st element of a list within the payload (Choices) is an empty string, after I call %ConvertJSONToObject, the obj.%data("payload").Choices contains just 1 empty element, removing the next 3 valid values (10,20,30). The same does not happen if I change the input to [10,20,"",30], in this case it works correctly.
2) The Min and Max values on my input = null and
Hello, guys.
I want to add a class to my project. This class is in UDL format.
I know that there is a method: ##class(%Compiler.UDL.TextServices).SetTextFromStream. The problem is that to use this method I need to know the name of the class (including all packages) in advance. But, a class can have any name(I mean C:/source/AAA/BBB/CCC.cls, but the real name is Sample.Human.cls).
For now I found only one way to get to know the name of a class - just parse the class code and search for a word which is followed by "Class" word. Is there any better way to do that?
P.S.
Hello,
How to get XML subtree from XPATH.DOMResult object as Stream or CacheString.
Here is my classmethod. My system receives XML message which has nested structures. The requirement is to send one message at a time to the destination. I have created the XPATH document and used EvaluateExpression method and which returns XML.XPATH.Result of type DOM. I am able to read the dom and get value of the element and its text. But I am looking to send back the subtree.
Code:
ClassMethod GetNode(tData As %CacheString, tExperssion As %String, tIndex As %Integer) As %CacheString
{
#dim tNodeText As %CacheStr
I want to query the cache database for messages where a specific HL7 segment equals a specific value. Does Cache have a pipe to XML or hl7 segment query function?
I was asked about using date-based criteria in the file spec for an inbound file adapter.
It looks like the file spec field only accepts simple wildcards (*, ?), so I'm wondering if someone knows of a clever way of doing this preferably without creating a custom adapter/service class.
An example of the use case:
An upstream system continually writes records to a file named with the current day's date. At midnight it opens a new file with the new day's date:
2016-07-14.dat
2016-07-15.dat
Shortly after midnight on July 15 we want Ensemble to pick up 2016-07-14.dat for processing, but ignore
I have a Zen Mojo application, developed using Bootstrap plugin and using "Explicit Dispatch" with multiple templates.
I have every template representing an specific area of my application (customer, order, logon, application settings, etc.).
Each template has specific code, client side validation and so on related to its areas by using javascript.
So, I would like to know if it is possible, for example, through my order template call a javascript function from another template (e.g.: customer), where I there is functions for document id validation, date of birth validation, etc.?
Thank you.
I have two pages and I am using the push and pop to go and back navigation. When I click the button forward and back in the browser, I can't navigate more between pages.
The following code:
Page 1 - onSelect Method:
var obj = {idExame: VALID, objUsu: ObjUsu};
zenPage.gotoArea ('itemexames', key, key, false);
view.pushDocument (key, obj, key, obj);
Page 2 - onSelectMethod, back:
var documentKey = "PacienteExamesinitial";
var layoutKey = "PacienteExamesinitial";
var area = "pacienteexames";
view.popDocument ();
zenPage.gotoArea (area, layoutKey, documentKey, false);
I am using ZenMojo with Bootstrap.
Can
I have just received an email digest for a post I submitted as someone has added an answer but it was not clear from the digest why I had received the digest or what had changed.
1) When reading the digest in Outlook it has poor layout and style
Main text is light green on white background - poor contrast
2) Not clear what has changed, ie what should I do as a result of getting this email
Would prefer something like
2 people have added a reply to your post on "subject xyz ...." read more ....
3) Would like a clear unsubscribe link (and or instructions at bottom of the email) as good practice
I installed MDX2JSON and DeepSeeWeb 1.4.46b on this version of Caché (actually HealthShare)
Cache for Windows (x86-64) 2016.1 (Build 656U) Fri Mar 11 2016 17:42:42 EST
I works well for the most part but my buttons contain characters that should not be there. Here is a screen shot. Does anyone recognize what the issue might be?

Sometimes simply reading the subject or summary of a post from the index gives me enough information to vote. Instead of having to click through it would be nice if I could vote from the list of posts.
I don't know if this is the proper section to post this kind of issues, but in the learning tracks for Zen I'm not able to play the second video (Caché Demo - Part 5 - Building a Rich Web Interface with InterSystems Zen) , the player show the following error message:
No video has been loaded
Error Code: PLAYER_ERR_NO_SRC
Learning Trak Link:
https://community.intersystems.com/learning-track/zen-videos
I am looking for a database management tool I would have expected to find something like on the SMP website
Aim
show current database usage (ie size allocation) by database then table etc and allow continued drill down,
show information as a table, so can then sort by size to find the biggest item easily
also show it graphically
And then have ability to track and trend growth in size over time
identify a normal growth pattern
alert if variation (higher or lower) from normal based on recent trend
is there a tool that can do this, or a 3rd party tool, even it can only operate via standard SQL
Took a look around and didn't find any. I'm playing with setting it up now in our dev environment but reading walls of text only gets me so far.
Hello, guys.
I have an external file that contains data in UDL format(as in Studio, not XML) and I need to somehow overwrite my source file with that file.
I tried to use this snippet for .mac file
set rtn = ##class(%RoutineMgr).%OpenId("les.mac")
w rtn.Code.WriteLine("some text")
It says that status is 1, but I don't see any difference in my source file.
Is there any way to overwrite source files, not only .mac but .cls, .int, .dfi?
I'm new to Cache and trying to follow the Using Cache Studio PDF. In section 2.4.3(Adding a Zen form) it tells you insert the following code;
<button caption="Save" o select="zenPage.saveRecord();" />
Unfortunately that code fails compilation. If you try and use the tools there is no o select option nor a select or onselect option. I was wondering if anyone has used this PDF before and knows what the correct attribute should be?
Customer is experimenting with %vid variable for selecting row numbering for sql queries. Basically he's trying to implement paging functionality.
He is confused that select %vid from (select ...) returns dummy number whilst select *,%vid from (select...) returns correct data.
I believe, according to the documentation...
The phrase “SELECT * ...” does not include %vid; it must be selected explicitly: “SELECT *, %vid ...”. Also, while this feature is very convenient, especially for porting Oracle queries (this maps easily to Oracle ROWNUM), performance of queries may change as compared to
I have the following problem:
- There are several classes with method generators, which needs to be compiled during every compilation
- I have "ckub" qualifiers enabled in studio
- I don't want to remove "u" qualifier because I need it very much in another namespaces
So how do I force classes with method generators to recompile when "u" qualifier is present?
While editing a post, I decide I no longer want it, how do I delete it? I have one right now sitting as a draft that I don't want.
I have a DeepSee KPI defined based on %DeepSee.KPI following the documentation http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…. I've then enabled the KPI on a dashboard by adding a Widget where the data source is the KPI. Currently the ability to show a Detail Listing is implemented by the call back %OnGetListingSQL. This method documents the parameter
pListingName is the name of the listing to display. This is reserved for future use.
According to this and from what I can tell there is no way to provide support for a secondary
NewBie's Corner Session 13 .MAC and .INT Routines and Comment Lines
Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.
.MAC and .INT versions of Routine
Save Routines with a .MAC Extension
When saving your routines, be sure to specify a .MAC file extension (the default) and not a .INT extension.
NewBie's Corner Session 3 More Read and Write commands & Multiple commands
Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.
Click on the Caché Cube in your system tray and select Terminal to try out the commands.
Write command with carriage return and line feed
When the exclamation point "!" is inserted after a Write command, a carriage return and line feed combination is produced. Note in this example, that a comma separates the exclamation point from the variable "X".
Set X=12
Write !,X
; carriage return and line
We had a major problem recently where a participant was sending unexpected data. It was not enough to throw an error or warning in the actual trace, but when examining the message in the viewer it did show the following:
Build Map Status = 'ERROR <EnsEDI>ErrMapSegUnrecog: Unrecognized Segment 4:'CON' found after segment 3 (CON)'
How can I query for these or be notified of them? This caused major ramifications but we did not notice it. I have Managed Services investigating but I want to cover all my bases.
Hello, everyone!
I opened one project and there I found such lines as
$$Export^%occXMLExport(filename,"-d /diffexport",InternalName)
Do DecomposeStatus^%apiOBJ(sc,,"d")
The problem is I can't go to their definition and find them in documentation. It says that they don't exist on the server. However, the project works and these routines execute.
How can I import them into my project?
I'm trying to calculate the percentage of the top level with the SUM function.
But I don't understand the PARENT behavior.
It does not work in any way!
SUM({FilialD.H1.Categoria.
SUM({FilialD.H1.Categoria.
Someone could explain me the difference between %ALL and ALLMEMBERS?
InterSystems is pleased to announce that Caché and Ensemble 2015.2.4 are now available as maintenance releases.
For a complete list of the corrections in 2015.2.4, please review the release notes.
Caché and Ensemble 2015.2.4 are available for the same platforms as 2015.2.3, with this exception:
- Red Hat Enterprise Linux 7 for Power System-64 has been dropped.
The complete set of supported platforms, including specific point releases and patches, is detailed in the Supported Platforms document.
The build corresponding to this release is 2015.2.4.903.0

