#Ensemble

23 Followers · 2.4K 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

Question Nezla · Mar 12, 2024

Hi Guys,

I'm trying both of these methods to get a JWT token but none is working for some reason and not sure what I'm missing?

it works when I tested it from Postman 

Thanks

12
1 448
Question Nimisha Joseph · Feb 29, 2024

I'm facing an issue while converting an ORU_R01 HL7 message to XML, specifically with the <pidgrpgrp> kind elements. When I use the getvalueat() method before conversion, the XML includes the <pidgrpgrp> and other <grp> elements, but when I don't use the getvalueat() method, the XML is generated without these <grp>elements.

I've attempted to debug the issue using zwrite on the HL7 message before and after calling getvalueat(). Before calling it, the content appears different, and after calling it, the content shows buildmap=1, etc.Please see the xml generated in 2 cases.

1
0 236
Article Hiroshi Sato · Apr 11, 2024 2m read

InterSystems FAQ rubric

If the journal file is too large to be searched or filtered using the Management Portal, you can refer to it using the following two methods.

① How to use the ^JRNDUMP utility
② How to reference it in a program

================================================== ========== 

① Using the ^JRNDUMP utility. For example, if you want to select all records in the journal file that include the global reference ^ABC, do the following:

*Please execute all commands below in the %SYS namespace.

DO SELECT^JRNDUMP("C:\MyCache\mgr\journal\YYYYMMDD.

0
1 495
Question Nezla · Apr 8, 2024

Hi Guys,

Any Idea on how can make a dynaTree with 4 levels hierarchy (attached), I'm using the below code but sometimes works and other cases it doesn't?  

Set locId=..locId,pos=1,(pLineArr,astArr,compArr)=""
&Sql(Select Parent->Name,ID into :Fac,:kLoc from MSDS_COM.Loc where Parent=:locId)
Set:SQLCODE (Fac,kLoc)=""
Set pTree(0,"ch",1) = ""
Set pTree(1) = $LB(Fac,locId,1,"","")
Set Sql="Select ProductLine from MSDS_Serenity.ProdLineDetails where Active=1 and Loc="_kLoc_" group by ProductLine order by ID"
Set RS = ##class(%ResultSet).%New()
Do RS.Prepare(Sql)
Do RS.Execute()
While RS
1
0 134
Question Colin Brough · Apr 8, 2024

We are writing a custom Business Operation to interact with a downstream SOAP web-service. Classes for the SOAP operation were originally generated using the SOAP Wizard, then modified. This is functioning OK, but we'd now like to set the ReplyCodeActions setting on the operation and are struggling to make it visible via the management portal. How can we achieve this?

The classes are structured like this:

  • The Operation uses class TNHS.SOAPclassExtra
  • TNHS.SOAPclassExtra  Extends TNHS.SOAPclass
  • TNHS.SOAPclass  Extends Ens.BusinessOperation
  • Ens.
1
0 242
Question Julian Matthews · Apr 8, 2024

Hi everyone.

Is there a sensible approach to having a lookup table in Namespace A, and then accessing this from Namespaces B, C, D (etc)?

I'm trying to avoid creating a Global mapping of the lookup table global (^Ens.LookupTable) as I fear that it would then link all other lookups in that global and lead to some unexpected behaviour, but would be open to trying something in this realm if it's the best option.

Another approach I have considered is creating a custom lookup function that is run from the secondary namespaces that does some namespace hopping, but it feels messy.

4
0 428
Question Joe Jones · Mar 17, 2023

Hi Community,

I am trying to read a JSON file and convert into HL7 message.Please find the example below

 

Set Jsonobj={"Doctype":"ADT^A01","PatientId":"123","PatientName":"Alex"}

Set Dynjsonobj= ##class(%Library.DynamicObject).%FromJSON(Jsonobj)

Error :<THROW>%FromJSON+37^%Library.DynamicAbstractObject.1 *%Exception.General READ error while reading input stream 10 Line 1 Offset 0

I am getting this error while reading the file,Can you please tell me where i am doing wrong in converting the file?

Joe

9
0 1270
Question Stefan Cronje · Apr 5, 2024

Hi all,

I have a situation where I am writing to global from different processes - let's call it an Event Queue.
There is then a different process that uses $order to read through the data - the PubSub processing BP.

Sometimes the writing of this global will form part of a transaction that also insert data into other tables, using tstart and tcommit.
If there is some issue, it will roll back, and the entry written to the global will also roll back.

6
0 242
Article Hiroshi Sato · Apr 4, 2024 1m read

InterSystems FAQ rubric

The Web/CSP Gateway management page is typically configured so that it cannot be accessed from client machines.

To access from any client, do the following:

  1. Launch a browser from a system with access to the Web/CSP Gateway management page and access the Management Portal.
  2. Under Management Portal > System Administration > Configuration > click CSP Gateway Management.
  3. Click Default Parameters that appear in the left pane of the page that appears.
  4. Enter *.*.*.* in the system management machine and press the Save Settings button.
0
0 321
Question Nezla · Apr 3, 2024

Hi Guys,

I'm converting our system from Ensemble 2014 to 2018 and we do have Security package of classes in deployed mode in our 2014 (eg. Users, Role, ...etc) which doesn't exist in our newly installed 2018, so how can I include those classes in 2018?  

 

Thanks

8
0 243
Question Nezla · Apr 3, 2024

Hi Guys,

After converting from Ensemble 2014 to 2018 and ran my application I get the below error message:

 

 

MSDS.ZEN.Component.imageclickbuttom exits and compiles fine and also compiled the Zen page extending the class successfully  but still getting the error so not sure why I'm still getting the error!?

Thanks

4
0 268
Question Nezla · Mar 27, 2024

Hi Guys,

I've upgraded from Ensemble 2014 to 2018 and copied all classes across, ran Upgrade & CompileAll and looks fine, but when trying to search on dataCombo I get the below error  

here is the definition of the Combo

3
0 181
Question Nezla · Feb 14, 2024

 

Hi Guys,

 

I’ve the below service that receives a request from a client requiring a pdf file to be sent back for printing.

Basically in this method I’m receiving a message “Yes” and if so I need to determine the length and put it in the Content-Length: or File-Length: fields and then append the byte block to the end of the 200 OK reply so they can print it

Any idea on how to do that?

 

  Include MSDSInclude
Class SX3.Production.HTTP.GetPSRequest Extends Ens.BusinessService [ ClassType = "", ProcedureBlock ]
{
Parameter ADAPTER = "EnsLib.HTTP.InboundAdapter";
Method OnProcessInput(pInput As %Stream.

1
0 371
Article Hiroshi Sato · Mar 21, 2024 2m read

InterSystems FAQ rubric

Properties defined in list collections (Property XXX As list of %String;) can be manipulated using SQL functions: $LISTBUILD(), $LISTFROMSTRING().

For each SQL function, please refer to the document page below.

InterSystems SQL Reference - $LISTBUILD() [IRIS]
IRIS SQL Reference - $LISTFROMSTRING() [IRIS]
Caché SQL Reference - $LISTBUILD()
Caché SQL Reference - $LISTFROMSTRING()

/// Class definition example
Class ISJ.ListOfData Extends %Persistent
{
    Property listdata As list Of %String;
}

An example of SQL statement execution is as follows. 

USER>do $systemSQL.
1
1 326
Question Ting Wang · Oct 2, 2019

Hi all,

We are delivering files to SFTP server using EnsLib.FTP.PassthroughOperation class and EnsLib.FTP.OutboundAdapter. But we are facing error below:

ERROR <Ens>ErrFTPPutFailed: FTP: Failed to Put file '' (msg='Error in SFTP Put('/cachesys/mgr/Temp/HC4IZVmI6w9gEw.sftp','/directory1/directory2/directory3/') ERROR #7511: SFTP Error '4': SFTP Error [80102004]: Operation Failed [80102004] at SFTP.cpp:750,0',code=0).

3
0 2157
Question Token Ibragimov · Mar 7, 2024

Hello!

How I can send Synchronous request ?

For example when I cannot call another process until my first business process do not finish.

ClassMethod Main() {

 set sc = FirstProcess()

//Dont start until first process finish
set sc = SecondProcess() 

}

ClassMethod FirstProcess() {

Set sc = ##class(Ens.Director).CreateBusinessService("BusinessServiceName", .BService)

Set sc = BService.ProcessInput(BSRequest,.BSResponse)

}

ClassMethod SecondProcess() {

Set sc = ##class(Ens.Director).CreateBusinessService("BusinessServiceName", .BService)

Set sc = BService.
4
0 274
Article Hiroshi Sato · Mar 14, 2024 1m read

InterSystems FAQ rubric

Record maps are used to efficiently map files containing delimited records or fixed-width records to message classes used by the interoperability function, and to map files from interoperability function message classes to text files.

Record map mapping definitions can be created using the Management Portal, and we also provide a CSV record wizard that allows you to define while reading a CSV file.

To use a record map in production, just add a record map business service or business operation and specify the record map definition class you created.

0
1 537
Question Emil Odobasic · Mar 5, 2024

Hello everyone!
So, I am supposed to receive a REST-request into my production, and I need to send it, exactly as I received it, to another server.
I am struggling to find any good info on this, and have a hard time coming up with a good approach.
What would be the easiest way to do this?
- I have so far thought about possibly doing it with an EnsLib.REST.GenericService and then sending it with an EnsLib.REST.GenericOperation.
- I have also thought about manually creating a rest-service and somehow using %request and sending it directly if that would be possible.

4
0 342
Question water huang · Mar 3, 2024

hi there , when i convert a pdf to base64 data, and then restore the data to pdf,i find that ,i must read the same  as length of base64 data every time convert ,or i can't get the right pdf. the code is:

s pdf= ##class(%FileBinaryStream).%New()
pdf.Filename = $g(path)
len=24*30*2
byteList = pdf.Read(len)
while(byteList'=""){
baseStr = ##class(%SYSTEM.Encryption).Base64Encode(byteList)

length of baseStr  is 1970,

if len=24*30 length of baseStr  is 984,

 

when i covert the base64 data to pdf, the code is: 

pdf= ##class(%FileBinaryStream).%New()
pdf.Filename = $g(path)
while ('sgc.

3
0 383
Question Mathew Burt · Jul 13, 2020

If you're viewing a HL7 message in the front end, with a schema correctly applied, you can mouse over a segment or a field and see the schema path, e.g:

Mousing over PV1 in the above message shows the schema path is "PIDgrp(1).PV1".

I'm writing a utility function which you pass an EnsLib.HL7.Message into. I'd like to loop through each segment and take action dependant on that schema path. How can I reference or determine that schema path in code?

Any help would be much appreciated!

2
0 842
Article Hiroshi Sato · Feb 29, 2024 1m read

InterSystems FAQ rubric

Global mappings can be registered using the system class Config.MapGlobals.

The method to globally map ^Sample.PersonD in a database SAMPLES other than the default database from the namespace USER is as follows (example executed in a terminal).

USER>zn "%SYS" 

%SYS>set ns="USER" 

%SYS>set glo="Sample.PersonD"
 
%SYS>set vals("Database")="SAMPLES"
 
%SYS>set st=##class (Config.MapGlobals).Create(ns,glo,.vals)

The third argument of the Create() method of the Config.MapGlobals class is passed by reference, so specify it by appending a period (.) to the variable name.

0
1 358
Question Token Ibragimov · Feb 28, 2024

Hello!

How I can call my Business process - "process.ReconciliationPayments" from method. Like this.

ClassMethod getReportPavlodarEnergoSbyt()
{

s sc = $$$OK

ensBS = ##class(Ens.BusinessService).%New()

requestObj.operationDate="2024-02-28"
requestObj.provider="Provider"
requestObj.processId=$SYSTEM.Util.CreateGUID()

ensBS.SendRequestAsync("process.ReconciliationPayments",requestObj"payment")

q sc

}

7
0 363
Question david clifte · Dec 2, 2016

How to remove accentuation of a word?

Ex:

Árvore = Arvore

você = voce

Então = entao

The words above are in brazilian portuguese, I need to get rid with the accentuation such that I can compare two sentences.

Thanks in advance.

5
0 1006