#Ensemble

23 Followers · 2.3K Posts

InterSystems Ensemble is a complete and easy-to-use integration platform that enables users to connect people, processes, and applications in record

time.

Learn more

Documentation

Article Tomoko Furuzono · Jun 13, 2024 4m read

InterSystems FAQ rubric

Data for InterSystems products (table row data, object instance data) is stored in global variables.
The data size of each global can be obtained by clicking the properties of the global you want to view from the Management Portal > System > Configuration > Local Database > Globals page, and then clicking the Calculate Size button on the Global Attributes page that appears.
To display the data sizes of globals in a namespace, you can call ^%GSIZE utility on the terminal.
The method of execution is as follows.

2
1 765
Question Joseph Tsang · Mar 22, 2019

From time to time we develop an Ensemble Production with simple SQL Inbound data from external databases, we need to develop a few new classes. There are at least:

  • 1 Ens.Request class with the fields captured from the SQL ResultSet
  • 1 Business Service class using SQL Inbound Adaptor, and in the OnProcessInput(), copy the relevant field data from ResultSet to the new Ens.Request, and call either ..SendRequestSync() or ..SendRequestAsync().
3
0 489
Article Hiroshi Sato · Jun 6, 2024 1m read

InterSystems FAQ rubric

If you want to run an OS executable file, command, or a program created within an InterSystems product when the InterSystems product starts, write the processing in the SYSTEM^%ZSTART routine. (The %ZSTART routine is created in the %SYS namespace).

Before you write any code in SYSTEM^%ZSTART, make sure that it works properly under all conditions.

If the ^%ZSTART routine is written incorrectly, or if it is written correctly but the command does not return a response or an error occurs during processing, InterSystems products may not be able to start.

1
0 182
Question Anas Smith · Jun 16, 2024

Hi Guys,

Not really familiar with how to secure URLs and using SSLs, but we currently looking to change our url from http:/www to https:/www so my understanding is once we get a certificate its a matter of creating a new SSL/TLS configuration and assign the certificate to it, then what how to apply it in out URL, or do we have to do this in IIS?   

Thanks

5
0 209
Question liu bo · May 15, 2024

hi !

now I want to insert data to third party database directly, Link Table wizard how to insert  except by sql? 

obj=##class(YBFXJC.LABINFO).%New()
  ;s obj.ID="1"
  obj.HISID="1"
  obj.APPYNO="1"
  obj.HOSPITALID="1"
  obj.BILGDRNAME="1"
  sc=obj.%Save()
  sc_$System.Status.GetErrorText(sc),!

 there is error <CANNOT SET THIS PROPERTY>zSaveData+3^YBFXJC.TestSaveObj.1

4
0 213
Question Stella Ticker · Jun 11, 2024

We have an operation that sends a Rest request to an external endpoint. The request includes the secret, which shows up in the Message Viewer. While access to the Production is restricted to only those who need it, we have been asked to remove it from the Message Traces. Is there a way to hide certain information on the Message Viewer ?

Thanks for reading

2
1 183
Question Carl Maklad · Jun 10, 2024

Hi,

I will try to explain my problem. I have a Main ZenPage on one server that has 2 buttons: each button will launch a different ZenPage on a separate server in an iFrame. All 3 servers have the same user.

Currently, the user logs in to the Main ZenPage, but when they click either button to launch the other ZenPage on the separate server they get the login screen again to login to that server.

Is there anyway I can pass the credentials from the Main ZenPage to the child ZenPages, so that the user doesn't have to login again? Thanks.

3
0 155
Article Nicholai Mitchko · Apr 12, 2022 2m read

Background

In InterSystems IRIS versions >=2021.2 we can use the accompanying irispython binary to directly write python code on top of our IRIS instances. This lets us use python packages, call methods, make SQL queries, and do nearly anything in Objectscript but pythonic.

For example, below I check if a namespace is present:

#!/usr/irissys/bin/irispython
import iris
# call arbitrary class methods
result = iris.cls('%SYS.Namespace').Exists('USER')
if result == 1:
    print(f"Namespace USER is present")
6
5 1009
Question Krishnaveni Kapu · Jun 4, 2024

Hi ,

I receive xml as incoming request , I convert that into HL7 in my business process class as below

Set tSC = $CLASSMETHOD("myDTL","Transform", .pRequest,.dtlRes)

then , I am sending the dtlRes which is a HL7 message to a router "TEST_ROUTER" 

in the router , I am checking for HL7.{MSH:9.2} , where I am getting below error :

Terminating BP TEST_ROUTER # due to error: ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zevaluateRuleDefinition+15^TEST.SampleRule.1 *HL7,EnsLib.MsgRouter.RoutingEngine -- logged as '-' number - @' set tTempVars("test")=(pContext.HL7.GetValueAt("MSH:9.2"))'

5
0 212
Question Nezla · Jun 5, 2024

Hi Guys,

This is more of a Javascript question but just in case would have an idea.

basically I'm calling the below JavaScript function from a classMethod to add Options to an html  <Select> tag (Dropdown) and after adding all options I would like to set a specific value or index to be selected, its working and actually the required option is selected but not showing as selected in the dropdown box.

For testing purposes I've set option 4 to be selected by default as example and it's not showing as selected in required dropdown (green)   

2
0 264
Question Thembelani Mlalazi · Jun 3, 2024

I am trying to work with the FHIR Object Model where I convert an incoming  HL7v2 to SDA then FHIR. From here I would like to be able to process the FHIR Object by deserializing it to a Bundle object using the following code my problem is I keep on getting an error  which is not explaining much about what is wrong with what I am doing any help will be appreciated  thanks.

Property FHIRAdapter As HS.JSON.AdaptorFHIR;

Method OnRequest(pRequest As HS.Message.FHIR.Request, Output pResponse As HS.Message.FHIR.Response) As %Status
{

3
0 341
Question Anas Smith · Jun 1, 2024

Hi guys,

How can call a clientMethod, Method or classMethod from a html component?

I've this hyperlink acting as a button in  a zen page and onclick I've tried the below which is actually executing the function but failing to call the classMethod line, and is there a way to just call clientMethod instead of javascript ? 

   <td><id="btnLast" data-role="button" onclick="getWOs();" href="MyOrders.WO.cls">Last </a></td>
 

ClassMethod retGetWO(wo)
{
Set (WO,Note,Desc,out)=""
if MtcId'=""
{
&SQL(Select  Wo into :WO From Purchace.Order Where id=:wo)
}
WO'="" %session.Data("WO")=WO}

6
0 251
InterSystems Official Fabiano Sanches · May 30, 2024

Beginning with the release of InterSystems IRIS® data platform 2022.3, InterSystems corrected the license enforcement mechanism to include REST and SOAP requests. Due to this change, environments with non-core-based licenses that use REST or SOAP may experience greater license utilization after upgrading. To determine if this advisory applies to your InterSystems license, follow the instructions in the FAQ linked below.

This table summarizes the enforcement:

0
0 440
Article Hiroshi Sato · May 30, 2024 1m read

InterSystems FAQ rubric

To disable the timeout, set the query timeout to disabled in the DSN settings:

Windows Control Panel > Administrative Tools > Data Sources (ODBC) > System DSN configuration

If you check Disable query timeout, the timeout will be disabled.

If you want to change it on the application side, you can set it at the ODBC API level.

Set the SQL_ATTR_QUERY_TIMEOUT attribute when calling the ODBC SQLSetStmtAttr function before connecting to the data source.

0
0 398
Question alberto bovo · Nov 4, 2016

Hi everybody,

I created my own REST service class by extending   EnsLib.REST.Service.

In some particular conditions of  the parameters of the request,  the REST  service should respond to the client with an HTTP status response code 400 "Bad request".

I read the article "RESTful Exception Handling "  and I try to use the suggested:

do ..ReportHttpStatusCode(400)

But the server seems ignore it and  get back to client  the 500 http response code.

Any suggestions?

I am sorry if the question is a too low knowledge level but I am pretty newbie to Intersystems world.

Alberto

4
0 1721
Question Krishnaveni Kapu · May 23, 2024

I would like to send bundle object to a router and then
 perform a DTL with in the routing rule ( this BundleObject as a source to my DTL).
 during this process , I get below exception 
 
 reqStream = json content in a stream
 
 Set BundleObject=##class(HS.FHIR.DTL.vR4.Model.Resource.Bundle).FromJSON(reqStream,"vR4")
 
 Set tSC = BusinessService.SendRequestSync("SAMPLE_ROUTER", BundleObj)
 
 expection :
 
 ERROR <Ens>ErrException: <METHOD DOES NOT EXIST>zNewRequestMessage+4^Ens.MessageHeader.1 *%GetSwizzleObject,HS.FHIR.DTL.vR4.Model.Resource.Bundle -- logged as '-' number - @''

3
0 150
Article Megumi Kakechi · May 23, 2024 2m read

InterSystems FAQ rubric

The TIMESTAMP type corresponds to the %Library.TimeStamp data type (=%TimeStamp) in InterSystems products, and the format is YYYY-MM-DD HH:MM:SS.nnnnnnnnn.

If you want to change the precision after the decimal point, set it using the following method.

1) Set system-wide

Management Portal: [System Administration] > [Configuration] > [SQL and Object Settings] > [General SQL Settings] 
Default time precision for GETDATE(), CURRENT_TIME, CURRENT_TIMESTAMP. You can specify the number of digits in the range 0 to 9.

0
0 330
Question Anas Smith · May 23, 2024

Hi guys,

Does anyone know what this error message mean, we are trying to save records to My.Package.List
class and sometimes we get this error message at first but when I try to save the same record again from the Terminal it does save fine? 

"Error:0 4"_$c(1,4,4)_"«"_$c(22,30,1)_"My.Package.List"_$c(2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1)_"

Thanks 

1
0 125
Question Krishnaveni Kapu · May 13, 2024

Hello Community,

I have below issue -

I have an ID with 123456.(ID as a dynamic value coming from request message)

I wanted it to be displayed as "123456" in Json Stream.

Code Example:

set object = ##class(%ZEN.proxyObject).%New()

set object.ID = ID

set x = ##class(%ZEN.Auxiliary.jsonArrayProvider).%WriteJSONStreamFromObject(.json,object)

Case:1
ID : 123456

Will output:

{

 "ID": 123456

but I need :

{

 "ID": "123456"

}

Case:2
ID : "123456" (adding double quotes)

Will output:

{

 "ID":  "\"123456\""

but I need :

{

 "ID": "123456"

}
 

Thanks in advance.

3
0 194
Question Anas Smith · May 14, 2024

Hi Guys

I'm using the below to populate a tree to just show the root with a folder icon but whenever I click on a folder it loops back to the original folder, how can I disable the root folder from expanding to the next, I only want to show the main opened root folder and not to go any further?   

<dynaTree OnGetTreeInfo="GetTreeInfo" showLabel="true" id="editLocTree" onclick="zenPage.setData(zenThis.value)showLines="false"/>

1
0 135
Question Colin Brough · May 9, 2024

We have a custom business service that is triggered by a scheduled task. The service queries a table, iterates over the result set and sends a message on to a business process for each result. Happy path functionality is all fine.

However, when there is an error detected in the business service code, neither throwing an exception nor returning an error %Status behaves as we'd expect.

1
0 188
Question Victor Ferreira · Aug 6, 2019

Good Afternoon,

I'm working on a API documentation that wil be interactive, it's based on a BS class on Ensemble.

The objective on making the documentation is simplify the undestanding of the operation for those who are not acquainted with the Ensemble environment.

My problem is, when using Postman to test a operation the indentation appears as such:

5
0 520