Hi Everyone!
New session recording from Global Summit 2018 is available on InterSystems Developers YouTube Channel:
Creating an Event Management Service
Hi Everyone!
New session recording from Global Summit 2018 is available on InterSystems Developers YouTube Channel:
Creating an Event Management Service
How to call HTTP service in a routine
I have a business process.
if it has an error it dies, or if a have a catch all/fault handler the execution flow goes there.
However, I want another behavior.
If any error occurs I want the process to "Pause" (and alert me), so I can figure out what went wrong and resume from the last request.
Here's an example of how it could work:
I'm not set on the exact pause/resume mechanic but I hope it makes the general idea of what I want clear enough. Ideas?
Hi,
is anyone using Powershell to access Caché terminal in non-english systems?
I'm trying to access using: csession INSTANCE
But from the beginning it fails to represent spanish characters like ñ,...
.png)
It doesn't recognize up-down cursor keys to see previous commands...
Any idea?
I am currently working with someone who is in the process of moving an application written in Cache Object Script over to a Windows server. It was previously running on a Linux server so all of the paths are unix style paths. Is anyone aware of a way to have cache remap paths to different paths so this user won't have to go through all of the scripts and change them?
In older versions of Cache 2007 for example you could setup a device where the name was "/somefolder/" and the physical path was "C:\somefolder\" and that worked.
Hi Community,
I have a need to access the Lock Table to find the Process ID of the process that has a particular global node Locked. The process holding the lock could be on any one of four application servers.
Having identified the Process ID, I then need to interrogate the local variables for that process, to find an application User ID.
I can then inform the current user which of their colleagues has a particular record locked, preventing them from continuing with their work...
Are these things I can do under Caché? If so, how would I do so?
In any answers, please bear in mind that I am mostly
I have an application which is distributed across maybe 5 servers since it has over a thousand users at a time we had an upgrade to the application last week and I had an integration build that uses the REST service ( ##class(%Net.HttpResponse) but since the upgrade the integration has not be able to communicate with the application tried testing my URL through Postman and all seems ok but if I test direct I get a 500 error anything that I need to check on please or any advice on how to check what's going on. I have used SoapUI with 200 result so as postman and swagger
Our PAS system supplies date in a particular date format (ISO 8601 compliant) that includes seconds and milliseconds. Because many downstream systems cannot handle milliseconds (and some don't even want seconds) many transformations are required to truncate the data.
What immediately sprang to my mind was to look for a setting on the operation to modify outbound datetime fields - obviously there isn't one, thus the need for this question.
Hi guys!
Suppose you developed a tool, framework, library on InterSystems ObjectScript for InterSystems Data Platform, share it via Open Exchange and want people to install it.
What is the best strategy if it is a library and supposed to be called from different namespaces?
Here are the following thoughts:
1. Tool's developer should be able to use globals to read/store data the tool needs.
2. Tool's consumer should be confident, that the thing he/she installs will not harm the application's data.
3. A tool should be callable from any application's namespace.
4. Tool's installation(in general) should not request manual security changes (e.g. grant the write access to IRISLIB) and %YourClass is not an option.
5. It's easy to uninstall the tool - just delete the namespace/database (maybe delete some web-apps too).
I need to post data to an api which expects certain data in body, query, path and header. I am using Post method of %Net.HttpRequest class. I was able to set body and header values, but couldn't figure out how to set the query and path variables. Appreciate any assistance! Is it the SetParam method()?
Hi Community!
Suppose I have a property in a ObjectScript class:
Property values As list Of %StringWhat an SQL query can help to return the values of the property as JSON array via SQL access (JDBC)?
Hi All,
I am trying to get JSON data from a REST api. I am using my web browser to get the data by hitting the URL.
The data is receiving properly, but the JSON contains a few HTML tags.
These tags are not not receiving in the browser while hitting the url. Is there any way to overcome this issue ?
Thanks,
Breaking news!
InterSystems just announced the availability of the InterSystems IRIS for Health™ Data Platform across the Amazon Web Services, Google Cloud, and Microsoft Azure marketplaces.

With access to InterSystems unified data platform on all three major cloud providers, developers and customers have flexibility to rapidly build and scale the digital applications driving the future of care on the platform of their choice.
To learn more please follow this link.
Hi
I'm trying to send a request to a REST API Service.
I'm using this code (Adapter is "EnsLib.HTTP.OutboundAdapter")
Method Put(pRequest As SIGE.Grupo.BO.Operation.putRequest, Output pResponse As SIGE.Grupo.BO.Operation.putResponse) As %Status
{
set tSC = $$$OK
try
{
set tFormVar="Content-Type,apikey"
set tContent="application/json"
set tApiKey="somekey"
Set tOut=##class(%IO.StringStream).%New()
set tSC= ..ObjectToJSONStream(pRequest,.tOut)
Set tSC=..Adapter.Put(.tHttpResponse,tFormVar,tContent,tApiKey,tOut.Data)
If $$$ISERR(tSC)&&$IsObject(tHttpResponse)&&$IsObject(tH
Is there a way or can it be done to use conditional logic in sql like so
Query Q1(formal as %String) As %SQLQuery [ Final ]
{
SELECT patientnumber,ID, CASE
WHEN ID = 50 THEN "The is 50"
WHEN ID = 30 THEN "This is 30"
ELSE "The quantity is under 30"
END FROM Audit.Table WHERE ID = :formal AND EndDate is null} }
Hi Community!
Please welcome a new video on InterSystems Developers YouTube Channel:
Hi community.
I'm trying to create a "setup" method to be called on a batch script but i'm getting the error <INVALID ARGUMENT> when I pass a string as an argument to this method.
The idea is to call the method with a folder as the parameter, for example:
##class(test.MyClass).MyMethod("D:\path\to\my\file.json")
My class (just for example)
Class test.MyClass
{
ClassMethod MyMethod(pFilePath)
{
Write pFilePath ,!
}
}
I'm using cmd as follows:
D:\>csession CACHE20172 -U %SYS ##class(test.MyClass).MyMethod(100)
100
If I use a number, It works, but any string value I get the error
D:\>csession CACHE20172 -U
I've been wondering about some code that I have come across a lot over the years.
Let's assume I have class Cinema and class Film.
Conceptually the data in these classes are never really physically deleted but only flagged as such, due to business requirements.
What I find is that developers tend to create a 3rd class "CinemaFilms", in a child relationship to parent Cinema, with a reference to Film. Rather than a one-to-many between Cinema and Film.
Class CinemaFilms
{
Relationship cinema As Cinema [ Cardinality = parent, Inverse = Films];
Property film As Film;
}The only reason I can
I am trying to read in a data file via a Record Map and I am getting the following error...
ERROR #7201: Datatype value '030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_B452' length longer than MAXLEN allowed of 50 > ERROR #5802: Datatype validation failed on property 'osuwmc.MatSys.DataStructures.MatSysIVT.Record:Bin', with value equal to "030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_030121_B452"
The field in question has a MAXLEN = 5000 see
Suppose we need to store millions of values temporarily, that means, we don't care about them if we lose them but our application use them to get realtime information. Should I use Cachetemp or whatever other DB without journaling enabled? If answer is Cachetemp, shouldn't be a problem if we decide to scale using App Server + ECP? I'm not sure what would happen with the app logic in such architecture as I guess I couldn't map and share cachetemp...
Any idea/suggestion?
Hello.
I just noticed that whenever I parse a JSON using %FromJSON, it always return the property values as primary data types, including long strings.
I did a quick stress test to measure it's capabilities and found out that characteristic, this is something I needed to figure out beforehand to implement my REST lib.
What I concluded is that %Dynamic depends solely on volatile storage? What if the user doesn't have long string support enabled or if the server has not enough memory to handle long strings?
Is there a fallback for handling it?
Please note that is an extreme and unusual use case,
We have a Cache database in Azure, and want to expose it as an OData source (link).
My first attempt was to use Microsoft's Visual Studio 2017 and Entity Framework to create the data models...but it seems as if EF and Cache don't work together. (I do have those instructions from 2013, but they don't work. (See other post. Best answer seems to be "migrate to IRIS 2019.1.")
Is there any other form of OData support?
Hi Guys,
I want a field called UserId and it should be formed by ID and Date when it is inserted at first time.
But, unfortunately I am unable to do it with any of call back methods and Computed code since there wont be any availability of %Id().
Is there any possible way to do it ?
Hi community,
I would like to ask how to correctly enforce SSL on all "developer traffic" -- that is Management portal and Studio connections -- on a Caché instance.
Given large developer permissions, I would like to eliminate all plaintext credentials on the wire.
Currently, we compile our own httpd with SSL support for Management portal, but this breaks Add-Ins for us, in particular the SOAP wizard. So I guess this is not the "canonical way".
Thanks for any suggestions
Jiri
Hi Community!
What's the limit for Namespaces and Databases for one InterSystems IRIS installation?
Yes, I checked with documentation but cannot find it at once.
Hi Everyone!
New session recording from Global Summit 2018 is available on InterSystems Developers YouTube Channel:
Change Control: Value and Best Practices
I'm using Caché as an OAuth authorization server and I want to accept the password credentials grant type. I've found that if I make an authorize request, the Caché authorization server requires some URL parameters that shouldn't be required in password grant (redirect_uri, state, scope, and response_type). If I include these parameters, it calls my DirectLogin() method instead of just calling ValidateUser() as I would expect from the docs. I have two questions:
1. Why does the authorize request fail without these additional parameters?
2.
Hello ,
I have a class Method ClassMethod SearchOBXFlag(pSourceMsg As EnsLib.HL7.Message, Identifier As %String) As %String
How can i test this method from terminal or from portal or studio. In Terminal i am not able to pass a HL7 message to the method since it terminates after segment terminator. It should be great if i can pass a local file with the hl7 message to the function instead.
Any help will be appreciated how to pass a hl7 message to this function inorder to test.
Thanks
Jimmy Christian.
The Caché / Ensemble standard distribution contains in namespace SAMPLES
a nice example of a CSP page consuming WebService as a Client.
I have modified it not only to display the replies but to feed them back into a Global.
I used the classic Hyperevent to achieve this. The replies end up as a log in global^WSREPLY.
When there is no input anymore the page closes and goes away.
There are 2 versions with visible and hidden display during operation.
dc.WSCSP.reverseVerbose.cls and dc.WSCSP.reverseHidden.cls
The message to send is simply passed as a hash after the CSP_URL. (Mind URL encoding!)
You can
It will demonstrate the wide range that is openend by making use
of the power embedded in Node.js and its adapter to Caché, Ensemble, Health,..*
Node / JavaScript have wide reputation to work as a WebSocket client.
By using the Caché adapter it becomes easy to control it and to consume the results as a
Client for WebSocket Servers and to collect the replies in Caché, Ensemble, ..
I used node-v6.16.0-x64.msi and cache610.node as cache.node
You provide a Global for input:
^WsockIn="wss://ws.postman-echo.com/raw"
^WsockIn(0)=6
^WsockIn(1)="Hello"
^WsockIn(2)="World !"
^WsockIn(3)="Robert"