NewBie's Corner Session 11 Routine Line Types and Gotos
Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.
InterSystems Caché provides a GUI (Graphical User Interface) based Integrated Development Environment (IDE) called Caché Studio. Developers can use Studio to create and maintain applications.
In this session we will cover Routine Line types; which are Label lines, Executable code lines and the Routine Header line as well as Gotos.
Application integration at its simplest is often just one application sending a message to another to notify it of some change. Perhaps when a patient arrives at a hospital, the registration system will send a message to clinical systems so they have all demographic data ready to use. Of perhaps it is just a nightly file transfer from the sales system to the accounting system.
But modern application integration platforms or suites can do a lot more than this to help applications work together and add real value to the enterprise.
I'm scraping my way through some code that's been around for a while, and came across the use of $ZTRAP and (dear GOD) GOTO for trapping and handling errors.
In an effort to "modernize" it and make it, I don't know, less M-ish (sorry old-timers!), I'm replacing it with Try/Catch blocks.
Some questions:
Is this a dumb idea?
Anything I should look out for?
Did I hurt anyone's feelings?
And if the answer to number 3 is Yes, my deepest apologies ... I love you guys! 🤩
I have recently created a HA by "Cloning" the existing server. Everything worked fine until I have to failover the Primary in order to process. The Backup Failover member successfully promoted to the status of primary. Everything was working fine except on one of the Services, I receieved the following error message;
> ERROR #6156: No match between server name 'Test111b.domain.local' and SSL certificate values 'Test111a.domain.local'.
Been trying to setup a iris 4 health community version along with a webgateway bothing utilizing docker. The documentation seems a little sparse when it comes to configuring each of these to work together, especially when it comes to utilizing the Webgateway to front end the MGMT pages for Irirs 4 Health.
I know there is a github repo that has a docker compose file, but that doesn't see to provide a light on what needs to be configured in order for it to work.
I had an interesting scenario come up, as when we moved from eGate to Ensemble and we will be moving to IRIS here in the near future I was taught to create Business Processes for writing to and extracting data from outside MS SQL Databases.
Currently I am working to develop smart on FHIR app with FHIRaas with the help of fhirclient.js and facing one issue that .well-known/smart-configuration is raising following error "This endpoint does not have SMART on FHIR capabilities defined" Below snapshot is for reference:
Looking forward to resolve the above issue or workaround
In addition to the previously advertised Cache/Ensemble developer role we also have a requirement for a Cache/Ensemble Support Analyst at SystemC in the UK.
SystemC are looking for a talented and experienced Support Consultant to join our CarePlus team where you will have a pivotal role within the team, providing technical support to our customers.
We are carefully preparing our first 🏆 InterSystems Technical Article Contests in Portuguese 🏆.
As the contest will be officially launched next week, take advantage of this week to choose your topic or, if you are new to InterSystems technology, take the opportunity to learn a little more about the technology in this period to be able to participate!
I would like to create a toolbar button in Cache Studio. After clicking on it, it would run a custom command (eg: to execute a routine that will clean a global).
I took a look at dialog that is shown after right clicking on a toolbar in Studio, then choosing "Customize" but AFAIK there is nothing there that allow such a thing.
I know it's possible to customize menu items by extending %Studio.SourceControl.Base class, is there something similar for toolbars ?
Here is some base code example (based on Danny Wijnschenk answer) :
https://www.youtube.com/embed/EYLHIEAxHLk [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
I have a class method that accepts a global parameter but when I attempt to order this global, the global name is listed as undefined. I can execute $DATA(pGlobalName) successfully.
I've got Eclipse installed (Javascript 2019-6) but when search for Atelier from the market place within the IDE it does not show up.
I found it in the browser version of the marketplace, and tried to drag it in but got the message 'The following solutions are not compatible with this version of Eclipse'.
I tried installing an older version of Eclipse (photon) but the installer keeps telling me I haven't got JRE 1.7+ installed (I have 1.8 64bit installed already), and sends me to a download page so I can't continue.
I am running the latest version of Cache and am trying to use the Config.* classes in the %SYS namespace to be able to gather information from a cache.cpf file that was provided to me by a customer. The customer is running an older version of Cache which had a different Version number in the cpf file. Theirs is 2013.1 and mine is 2015.1.
My question is, are the Config.* classes backwards compatible. Can I use a 2017.1 version of Cache to read information from cpf file from a 2014 system?
IO devices can be assigned to a mnemonic space using, for example:
u device::"^%X364"
Is there a method that will return the assigned mnemonic space for the current device?
I can infer it by attempting to write to the device using a non existent write /mnemonic and then inspecting the error returned, but this is rather messy and could potentially affect the status of the device. For example: