I am calling a business rule from one of my business processes and I noticed that when the business rule reports an error that the business process calling that rule just stops without any errors. Resultingly it fails to trigger the scope - catch-all construction that is surrounding the business rule. I know that it is possible to view the errors in business rules in the business rules log, but I really like to push an error message to Ens.Alert or something similar when my business rules report an error. How do I achieve that?

0 2
0 318
Article
· May 16, 2017 3m read
The COS Faker

Hi Community,

This post is to introduce one of my first project in COS, I created when started to learn the language and until today I'm keeping improve it.

The CosFaker(here on Github) is a pure COS library for generating fake data.

cosFaker vs Populate Utils

So why use cosFaker if caché has the populate data utility?

10 8
2 952

Hi Team,
I have a requirement to disable the Production Start/Stop buttons for specific support users. But they should be able to stat/stop Ensemble Hosts.
For that new Role, As per documentation along with other Ens resources, I have added %Ens_ConfigItemRun with RWU access and didnt add %Ens_ProductionRun resource.

This makes the Start/Stop buttons disappear from Production Configuration page ( meeting my requirement). But those users are Unable Start/Stop/Restart Ensemble Business Hosts.

0 3
0 352
Question
· Jun 21, 2021
SIMPLE FTP PRODUCTION

Hello developer community, I'm looking for Ensemble production sftp examples. I need to copy hl7 files hourly from several servers to a central server. The local documentation is no longer as good as it used to be. I remember several years ago, the documentation would take you step by step doing this. Any information would be appreciated.

thanks,

Rob S

0 2
0 233

Hi all,

is there a way to remove a specific property path from a DICOM document created within Ensemble/IRIS for Health etc. I had a look at class EnsLib.DICOM.Document to see if there is something like RemoveAt.

The reason for my question resides in the need to filter certain fields for specific DICOM devices. Maybe you have an idea?

best regards,
Sebastian

0 2
0 149

gj :: locate was the entry from George James Software for the Developer Tools competition back in April 2021. When an ObjectScript error is reported, gj :: locate takes the .int line location and navigates you directly to the line in the source file where the error originated. Over the past few months we've found it a very useful tool when it comes to debugging, especially when used alongside the Serenji debugger in Visual Studio Code.

Our first update, version 1.1.0, now includes support for multi-root workspaces. This enables gj :: locate to be used with every workspace folder. If your VS Code workspace has more than one root level folder, connecting to different namespaces or perhaps different servers, then gj :: locate will determine which workspace folder is current and locate the source code in that folder. If your workspace doesn't have any files open then gj :: locate will prompt you to select a folder from a pick-list.

This will particularly benefit VS Code power users who have workspaces with simultaneous connections to multiple namespaces, on multiple different IRIS and Caché servers.

If you would like to try it out then you can download it from the VS Code marketplace. Or if you’re already a user, then gj :: locate will automatically update. Let us know how you're getting on with it!

2 0
1 175

Hello,

I need to create a dialogbox on my zenpage to confirm a Delete operation.

I tried using below code on in a my client side method but its creating a blank dialog box.

zenLaunchPopupWindow('%ZEN.Dialog.confirmationDialog.cls','confirmationDialog','resizable,width=380,height=180');

Is there a way i can create a Dialog box with text "Do you want to delete" and two buttons "Yes" and "No" and store the response in the calling client/server method.

Thanks,

Jimmy Christian.

0 2
0 139
Announcement
· Jun 10, 2021
Serenji v3.1.4 update

We’ve published an update to the Serenji debug extension for Visual Studio Code, making it ready for the Workplace Trust feature in VS Code 1.57.

This allows the Serenji ObjectScript editor to work without restrictions across all workspaces and, by bringing it in line with the VS Code update, only allows the debugging feature to be used in trusted workspaces.

3 0
1 118
Question
· Jun 7, 2021
File error

Getting this error:

ERROR <Ens>ErrFTPPutFailed: FTP: Failed to Put file 'TestsDaily.xlsx.xlsx'
(msg='Error in SFTP Put('\\Reporting\reports\Daily-Weekly\TestsDaily\To Be Processed\TestsDaily.xlsx','/TestsDaily.xlsx.xlsx')
ERROR #7500: SSH Put Error '-2147024894': The system cannot find the file specified. [80070002]',code=0)

is this due to the file extension? Also, if its just because the file isn't there, how to fix that?

0 2
0 223

Hi Guys,

I'm wondering how can I get fields defined as %GlobalCharacterStream diplayed in a SQL query or even objects?

I've some data that I need to convert over to a new system and the old uses %GlobalCharacterStream data type for one of its fields and I''m unable to display or extract to a spreadsheet, any help pls?

thanks

0 13
0 859

I'm looking for a way to get the message header ID for the current message in a Request to a Business Process.

I've located some code that gives me what I need, but it runs the risk of violating the "abstraction layer" ISC has in place around such things. And while I very much appreciate their efforts at keeping things simple for me ... well, sometimes you just have to dig through the guts to get what you want.

Is there a documented, deprecation-resistant method for getting at %Ensemble("%Process").%PrimaryRequestHeader.%Id() from within a BP?

0 6
0 891

Hi,

is it possible to avoid the display of certain properties in a custom message class in the message viewer content section. The message class is a common Ens.Request with a bunch of properties alongside one property of Type enslib.dicom.document wich in Turn is Not extended By %XML.Adaptor so the content display of course displays an error.

My idea is to avoid the display of That certain property When output is rendered (Text/XML). Using Ens.Util.MessageBodyMethods and method %OnShowContents could be a way to do this But i don‘t find a way to do so.

0 2
0 170
Question
· May 23, 2021
HL7 learning

Hi Guys,

I'm new in HL7 and have seen the basic learning material in "HL7 Business Services and Business Operations" but I'm wondering if there are learning materials and samples that I can boost my HL7 knowledge pls?

Thanks

0 4
0 238

Hi all,

I'm looking for a user-friendly way to make a method library available in DTL, and by user-friendly I mean via '..MyMethod()' or '$$$MyMacro()' rather than '##class(MyPackage.MyClassName).MyMethod()'.

Does anybody know of a way to add a second superclass or a set of macros to a DTL ... or some other trick?

Cheers,

Otto

0 2
0 203
Article
· Jul 8, 2020 7m read
Tips for debugging with %Status

Introduction

If you're solving complex problems in ObjectScript, you probably have a lot of code that works with %Status values. If you have interacted with persistent classes from an object perspective (%Save, %OpenId, etc.), you have almost certainly seen them. A %Status provides a wrapper around a localizable error message in InterSystems' platforms. An OK status ($$$OK) is just equal to 1, whereas a bad status ($$$ERROR(errorcode,arguments...)) is represented as a 0 followed by a space followed by a $ListBuild list with structured information about the error. $System.Status (see class reference) provides several handy APIs for working with %Status values; the class reference is helpful and I won't bother duplicating it here. There have been a few other useful articles/questions on the topic as well (see links at the end). My focus in this article will be on a few debugging tricks techniques rather than coding best practices (again, if you're looking for those, see links at the end).

15 7
11 1.9K

I believe most of you have encounted this problem: a healthconnect/ensemble user get a slow response and ask measurement on how long it takes ensmeble to process this request, the ensemble 'activity data' gives no clue of the delay.

The reason is HealthConnect message measurement was based on ensemble message, which can’t give a correct answer on when ensmeble recevie the request and what time it send back response. when there is delay on inbound/outbound adpter, or csp gateway, there is no way to find out the delay from "activity data" .

0 1
0 269

Hello,

First of all thank you for your time reading our topic

We would need some help from experienced people

We have a SOAP Service with more than 10 methods

Our aim is to include all classes being used by this SOAP Service, in a Studio project

The challenge is that there are plenty Data classes (which extends from (%SerialObject, %XML.Adaptor))

▶️ Is there a recommended way to include all project's classes in a Studio project?

0 1
0 174

Hi Team,

I have a requirement to delete the Ensemble interfaces , as per User request. I would like to write a routine for that and once I execute, it should remove the interface components through code.
Could you please provide code samples for the following actions ?

  • Deleting an individual rule from a rule class
  • Deleting a class from Ensemble
  • Deleting a Host (Service/Operation/Process) from the Production.

Appreciate the help.

Thanks,

Purushothaman.T

1 6
0 334

I have a requirement to update the Ensemble Host Settings Programmatically. Mainly the "AlertOnError,QueueCountAlert,QueueWaitAlert,InactivityTimeout" settings.

I used Ens_Config.Item (persistent) class to get the settings (list object) and then update it. But for some of the Business Host's, I dont see the above settings in the table, but present in Settings of that particular Host in Ensemble Management Portal. So my logic is not working.

1 11
0 541