While the integrity of Caché and InterSystems IRIS databases is completely protected from the consequences of system failure, physical storage devices do fail in ways that corrupt the data they store.  For that reason, many sites choose to run regular database integrity checks, particularly in coordination with backups to validate that a given backup could be relied upon in a disaster.

130
7 8 556
Question
Scott Roth · Jan 14, 2021
SQL Inbound Adapter settings

In the Inbound SQL Adapter settings, is it possible to specify more than 1 field as the Key Field Name? 

Because of the way the Query is being index in Ensemble by the Key Field Name, sometimes transactions get missed and I would like to see if we can add an additional key to the mix to ensure all the transactions are picked up. In this case the InterfaceTrigger is an ID that is auto generated by the table, and I would like to use that as well to ensure we don't miss transactions, and it does not throw any warning messages when it executes the Delete Query.

00
0 1 66
Question
Anderson Negreli · Jan 14, 2021
Page break - Zen Report

I have two tables in a row in my report, but if the first table gets too big to the point that tables 1 and 2 don't fit on the page, the page breaks.


The problem is that the page break is happening in the middle of table 2 and I wanted the page to break and leave table 2 on the second page.


No table grows to the point of occupying more than one page alone.


Any tips on how to guarantee this?

Remembering that the reports were made using Zen Report.

20
0 1 32
Question
Scott Roth · Jan 13, 2021
Handling Errors

I have a case where our EMR is sending data, but not all the values needed for the Ancillary are valued properly and causes that message to error/halt processing on the Ancillary system, not ideal but its what they do. I would expect them to still process the message except that 1 field, but they don't.

I want to add validation to make sure certain fields are valued correctly for the Vendor. 

So I add some statements to take those items that don't pass this validation out to a batch file with headers.

00
0 9 120
Question
Orlando Lagman · Jan 14, 2021
Saving image data from csp

I created a csp that will capture image data from a html canvas element.  I created a button element to save the contents as a dataURL string from jpeg and make a server call.

the string is too long

I would appreciate any suggestions in saving the data into the server, currently just a global.

00
0 2 75
Question
Simon Bijl · Jan 15, 2021
Multiple servers or CSPGateways

Hello to you all,

Strange  titel, so I'll explain better:

I now have IIS-server with a CSPGateway installed. This works fine. But I want to use a rest-service  (or another zen-page, whatever.) on another cache-server

So on IIS i have an application called CSP. (/csp) This contains the handler to map it to the CSPGateway. 
It has been configured to acces a cache-server (X) which will handle the request. But now I want, in this case, the request to be executed on another cache-server(Y).

00
0 2 74

Hi Community,

is there a possibility to implement a "remember password" feature in a ZEN Application?

In the management portal I added a web-application for a ZEN application with password authentification. I created an own login page, and now I want to implement a "remember password" feature (User should not have to login again after the session times out or when the browser window is closed).

00
0 1 52

I would like to examine the contents of my OBX-5 field and not route the message if it contains alphabetic characters. I've tried various combinations of the Match and Contains functions, with no luck. Should I be using the COS ? operator or plaini regular expressions?

e.g.

OBX-5 Contains "\D"

OBX-5 Contains "?.A"

OBX-5 Contains "[A-Z]"

00
0 17 639

Does anybody know if there is an easy way to know if the execution of the command $System.SQL.PurgeForTable went well/wrong?

The documentation describes that a string is returned, but in fact there is a nice Quit "" in the code.

Maybe inside PurgeForTable^%apiSQL there is any process variable set when it goes well/wrong?

 

Thank you very much!

00
0 5 78

Hi all,
By using VS code, I want to copy multiple files to local directory, then sync them to server, but I can't find where local directory is stored?
In Atelier IDE, I could open a view of server and can copy the code to the project, then code is saved in the local directory. When I copy multiple files to the local directory -> choose sync in Atelier -> the code will be synchronized to the server
How to do this from VS Code?
Thanks!

00
0 14 238

InterSystems states that Caché supports at least three data models – relational, object and hierarchical (globals). On can work with data presented in relational model in a program written on C# the same way one works with any other relational DB. To work with data presented by object model in C# one needs to use .NET Managed Provider or some kind or ORM. And starting with version 2012.2 one can work directly with globals (or use direct access to hierarchical data) via Caché eXTreme for .NET

40
2 17 1,241

Index to Articles

Hi All

It's been 6 weeks since my original article sad
- - - - -but I have been busy on this project smiley

I have been looking at/thinking about a replacement for ZEN for around 12 months but only really started in depth 4 months ago.
Also been in IT for long enough that I can "get a feel" for a product/technology and make decisions accordingly without going into great detail. 
Any new technology has a learning curve and I don't want to waste time and effort on something that won't fly. 
And, as always, I am looking to minimise the learning curve as I want to concentrate on delivering business benefit. 

150
0 3 671

We've our Cache running on Windows 2012 Server, but I've a Macbook Pro. Earlier I was using Miscrosoft Remote Desktop 8, to remote into our Windows server & everything worked.

Since version 8 is discontinued, I installed Microsoft Remote Desktop 10.5, which works for everything except starting Terminal.

I get error 'NTI Connection Error'

(287) Error writing to Pipe
Reason: (998) Invalid Access to Memory Location.

If I do remote desktop from Windows machine (using same credentials), it works.

00
0 2 65
Article
Igor Titarenko · Sep 10, 2020 3m read
How To Create "Write-Only" Code

One of the leading benefits of ObjectScript is the speed and efficiency it allows for an experienced developer. Let's look at an example of how you can benefit from ObjectScript today.

Suppose you have a class that stores the names of your users. We'll call the class Data.User, and give it a string property Name. Next, we will need a method to create a new user or update an existing one. A naive, simplistic approach might look like this example:

 

60
0 10 414

Given a complex method flagged with [ SqlProc ] so it is available as an SQL stored procedure, what's the best way to report a non-system error detected in that method - say, for example, an error %Status - so that the SQL query calling it fails descriptively? Is it best to create and throw an exception, or are there special % variables involved (like in a trigger)? I haven't been able to find an answer in the documentation.

Thanks in advance!

00
0 2 256
Question
raghad f · Jan 10, 2021
Cashe-SQL cursor

the report generates statics for each ward and i want to divide specific ward 5c into two wards, the first 12 beds are for 5c - pediatric and the last 12 beds are for 5c-adults.

the report takes input from the user by selecting the wards so if the user chooses 5c, the report should show 2 wards.

the report declare cursor at the begining so how can i divide the ward.

00
0 2 66

Hi,

The question is about queries on the System->SQL page. I have a class with a few columns on a global and the test output looks as expected, below. This works as expected as well returning a single row: select * from Utils.RoutineAuditReport where counter=4. However, other columns give an odd error like " Field 'AG' not found in the applicable tables^ SELECT * FROM Utils . RoutineAuditReport WHERE UserR = "AG". As you can see below, both the UserR column and the AG entry in it do exist. What could be the problem?

Thanks in advance,
Anna

00
0 2 80