I'm wondering if there is a setting to show generated classes in Atelier, if there is, I haven't been able to locate it. I have code which is generating other classes, but am unable to locate those classes on the Server tab, but can see them when I open studio. Is there a setting I'm missing?
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.
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. The .INT version of a routine is an intermediate version of the routine. It is in the .INT version of a routine that the SQL Code (and other code) from the .MAC version is expanded upon.
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 !
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
We can override soap body by using WriteSOAPBodyMethod. Something like:
Method Online(ByRef Obj1 As myClass1, Obj2 As myClass2, Output ObjOutput1 As myClass1Output(XMLNAME="Obj")) [ ..., WebMethod ]
{
…
s ..WriteSOAPBodyMethod="override"
d (..WebMethod("Online","ProcessRequest")).Invoke($this,"Online",.Obj1,.Obj2,. ObjOutput1)
s ..WriteSOAPBodyMethod=""
…
}
Method override(proxy As %SOAP.ProxyDescriptor, tag As %String)
{
…
}
In order to generate soap body, how can one access Obj1 and Obj2 from within the override method?
Hello,
One of our AP would like us to provide the file upload/download sample code by using ZEN Mojo.
I already provided them the attached "upload-sample".
I tried to create the "download-sample" in a similar way, but I couldn't do it yet.
Does anyone have a good idea/sample about this?
I'd like to download the server side file(e.g. c:\temp\nene.jpg) into client machine with a OpenFileDialog(image.png).
Thank you in advance.
Hello, guys!
I want to get access to the folder where all files of the namespace are stored using COS. I found a way to get access to class files and found a folder where all csp, html, css etc files are stored.
However, is there any folder which contains all files(even .mac and .int)?
Or, probably, there is a method which gives all files content?
Hi!
There is interesting question in Stackoverflow.
This query works for MS SQL:
SELECT *
FROM
(
SELECT *, ROW_NUMBER() OVER (PARTITION BY client_id ORDER BY date_updated DESC) AS rn
FROM client_address
) a
WHERE a.rn = 1There is one answer there, which solves the task:
SELECT *
FROM
client_address a
LEFT JOIN client_address b
on a.client_id = b.client_id
and a.date_updated < b.date_updated
WHERE
b.client_id is nullBut it goes with comment, that there are no Window functions in Caché SQL.
I wonder, are there any other options to make this query in Caché?
Today my customer ask me a question about how to write the MDX with a summary row however this row with different aggregate functions for each column.
We know in DeepSee analyzer has pivot table option "Summary", user can select sum, avg ... aggregate functions to get the summary row/column. However we can not specify different aggregate function for each measure column.
Here show the example to use All level and IIF function achieve that. see the example (Holefood cube in Sample namespace) below
WITH MEMBER measures.[with avg summary info] AS
I found a widget : Bootstrap Dual Listbox
At : http://www.virtuosoft.eu/code/bootstrap-duallistbox/ , which will
be very helpful in my application.
The problem is that I completely don't know & don't understand how to
install it & how to use it.
Using such a widget is essential for my application.
Thanks Simcha
Is there anything in deepsee where i can increase the cell width?
|
Column1 |
Column2 |
Column3 |
|
|
Sunday |
100 |
200 |
300 |
|
Monday |
100 |
200 |
300 |
|
Tueaday |
200 |
300 |
400 |
By Default, based on the content, it calculates the cell width automatically.
From the above table i want to increase the width of weekdays cell particularly. Like below.
|
Column1 |
Column2 |
Column3 |
|
|
Sunday |
100 |
200 |
300 |
|
Monday |
100 |
200 |
300 |
|
Tueaday |
200 |
300 |
400 |
I have written MDX Query in Kpi.
I tried with %Label with their arguments for cell style. It doesn't work for me.
Please give me some suggestions.
Does the Caché installer do all of the necessary setup for using Atelier when upgrading a pre-Atelier instance?
I just upgraded an Ensemble 2016.1 instance to 2016.2 and the /api/atelier web application wasn't created automatically. Aside from creating this web application is there anything else that needs to be done to support Atelier?
** UPDATE ** See my comment below -- this was caused by a permissions problem during the upgrade. After fixing the permissions problem and upgrading again Atelier works.
I've been trying to write a method to compare two local variables, which may be arrays, for "equality" - that is, to see if they have all the same subscripts (if they're arrays) and values. This is the best I've come up with so far - are there any better/simpler approaches out there?
/// Returns true if arrays <var>first</var> and <var>second</var> have all the same subscripts and all
/// the same values at those subscripts. <br />
/// If <var>first</var> and <var>second</var> both happen to be either undefined or unsubscripted variables,
/// returns true if they're both undefined or have the same value.<br />
/// <var>pMessage</var> has details of the first difference found, if any.
Method CompareArrays(ByRef first, ByRef second, Output pMessage) As %Boolean [ ProcedureBlock = 0 ]
{
New tEqual,tRef1,tRef2,tRef1Data,tRef1Value,tRef2Data,tRef2Value
Set pMessage = ""
Set tEqual = 1
Set tRef1 = "first"
Set tRef2 = "second"
While (tRef1 '= "") || (tRef2 '= "") {
#; See if the subscript is the same for both arrays.
#; If not, one of them has a subscript the other doesn't, and they're not equal.
If ($Piece(tRef1,"first",2) '= $Piece(tRef2,"second",2)) {
Set tEqual = 0
Set pMessage = "Different subscripts encountered by $Query: "_
$Case(tRef1,"":"<end>",:tRef1)_"; "_$Case(tRef2,"":"<end>",:tRef2)
Quit
}
Kill tRef1Value,tRef2Value
Set tRef1Data = $Data(@tRef1,tRef1Value)
Set tRef2Data = $Data(@tRef2,tRef2Value)
#; See if the $Data values are the same for the two.
#; This is really only useful to detect if one of the arrays is undefined on the first pass;
#; $Query only returns subscripts with data.
#; This will catch only one being defined, or one being an array and
#; the other being a regular variable.
If (tRef1Data '= tRef2Data) {
Set tEqual = 0
Set pMessage = "$Data("_tRef1_")="_tRef1Data_"; $Data("_tRef2_")="_tRef2Data
Quit
} ElseIf (tRef1Data#2) && (tRef2Data#2) {
#; See if the value at the subscript is the same for both arrays.
#; If not, they're not equal.
If (tRef1Value '= tRef2Value) {
Set tEqual = 0
Set pMessage = tRef1_"="_@tRef1_"; "_tRef2_"="_@tRef2
Quit
}
}
Set tRef1 = $Query(@tRef1)
Set tRef2 = $Query(@tRef2)
}
Quit tEqual
}NewBie's Corner Session 12 Do and Goto
Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.
InterSystems Caché provides a GUI (Graphical User Interface) based Integrated Development Environment (IDE) called Caché Studio. Developers can use Studio to create and maintain applications.
Controlling Process Flow
Controlling Process Flow means controlling the execution path of code.
++Update: August 2, 2018
This article provides a reference architecture as a sample for providing robust performing and highly available applications based on InterSystems Technologies that are applicable to Caché, Ensemble, HealthShare, TrakCare, and associated embedded technologies such as DeepSee, iKnow, Zen and Zen Mojo.
Azure has two different deployment models for creating and working with resources: Azure Classic and Azure Resource Manager. The information detailed in this article is based on the Azure Resource Manager model (ARM).
Does anybody know how can I get the DocumentId property from a DocDM repository using SQL?. So far my SQL is like this:
SELECT name,email,gender FROM JSON_TABLE(
'person',
'$' COLUMNS(
name VARCHAR(100) PATH '$.name',
email VARCHAR(100) PATH '$.email',
gender VARCHAR(2) PATH '$.gender'
)
)
Thanks!
NewBie's Corner Session 11 Routine Line Types and Gotos
Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.
InterSystems Caché provides a GUI (Graphical User Interface) based Integrated Development Environment (IDE) called Caché Studio. Developers can use Studio to create and maintain applications.
In this session we will cover Routine Line types; which are Label lines, Executable code lines and the Routine Header line as well as Gotos.
Routine Line types
Labels and Executable Code lines
Executable Code lines starts in column two, or many developers just hit the tab.
Hi. This about a migration of code from a DEV environment to a PROD environment.
If an (under development) business host is Enabled in DEV environment and the production class is migrated across environments, this means that the Enabled status of the same business host in PROD would also become enabled (even if it may have been disabled before the update)
I want to migrate the production class, but leave the enabled/disabled status of business hosts the same - so - i make a list of them, upgrade - then go through each one resetting their status to the original setting using Ens.Director.
Hello Community,
I am trying to create a simple Ensemble DTL transform using the GUI. In order to test something very simple, I have created a transform that does nothing.
I'm using test data from here: https://www.emedny.org/HIPAA/5010/5010_sample_files/835%20Sample%20(Ins…
It's a very small test 835 file.
My transform looks like this in the compiled class:
I am writing a static SOAP response to simply test connectivity. The end users is getting an error "Message: The processing instruction target matching [xX][mM][lL] is not allowed.", which I believe is related to white space. if I observe the response, it looks like there are two blank lines between the header and the body, which I'm guessing is the white space problem. But I can't seem to get rid of it.
Any ideas?
Code:
<script language="Cache" method="OnPreHTTP" arguments="" returntype="%Boolean">
Set %response.ContentType = "text/xml"
Quit 1</script>
<?xml version="1.
Hi,
Does anyone have a sample that demonstrates how to use the Data Transformation option create='existing', in order to update an existing object by its ID? My use-case is that I have an HL7 message coming in which contains data on a patient that may or may not already exist in a (non-HL7) table. I want to use the PatientID from the (source) HL7 message, check if that patient exists in the (target) object, and if so, insert some new data into the existing patient, or if not, create a new patient.
July 6th, 2016
InterSystems has corrected a defect with Mirroring that can impact data integrity
The defect is present in all released versions Caché, Ensemble, and HealthShare beginning with 2015.2.0. It is present for all platforms and affects both failover and asynchronous mirroring configurations.
I am trying to find the presentation for the User Group Sessions that were given at Global Summit last week. In particular the Healthshare Provider Directory presentation, so I can share the ideas with others at my organization. Does anyone know where I can find those? I am not seeing them under the Global Summit tag.
Thanks
Scott Roth
The Ohio State University Wexner Medical Center
First post! In order to somewhat redeem myself for an unnecessary call to support, I've decided to post some classes that I've written to monitor certain metrics inside our Ensemble Live instance (yeah, Kyle, you WERE laughing at me, but it's okay). What the classes do is to run queries and code to get database sizes, status of the mirror, counts of rows in tables such as EnsLib.HL7.Message and Ens.MessageHeader. The data is collected and written to tables and then an email is sent out daily upon completion. I've found this quite useful in keeping an eye on what's going on.
I need to pass an equivalent of .Net Dictionary<string, int> instance from .Net to Caché. In the application, the Caché .Net provider has been used so far, so we came up with passing it as an instance of array of data types. However, the only way to fill the array we are aware of is to use its Add() method which invokes a call to the server instance method of the array for every key-value pair inserted.
Is there any way to fill the array at once - inserting all the pairs in one server call? Alternatively, is their any other .Net (Provider or eXTreme) API we can use for this task?
We have multiple implementations spanning many namespaces and edges. I would like to see if I could identify a single place, perhaps on HSREGISTRY or HSBUS, that I could capture certain events like searches (from all customers) and record transfers (with requester and provider).
The goal is to have a dashboard that would show simple stats such as searches by participant, records shared by participant and records consumed by participant. These are the 3 most important.
I appreciated the feedback on the other question of "how" but now I'm hoping to find the "Where".

