I wonder why IRIS seems to have its on way to deal with order or operations such as the example in the title. This affects regular arithmetic operations but of course conditions in various statements.

Even after years of COS development, I still get caught by these tiny frustrating details and it is absolutely annoying when you are writing APIs that some some maths.


Here is an example:


2 9
0 223


I have a production with a BS calling a BP calling another BP and so on and finally a BO. All calls are made using SendRequestSync.

The initial request is passed by value. The response is passed by ref and I allocate memory for it in the BO, hoping that it will go back to the initial caller in the BS, but it does not.

It looks like the following:

0 3
0 185


I need to set the label of a custom setting in the portal instead of the name of the associated property, eg.:

Class SomeClass Extends (Ens.BusinessService, %ZEN.Portal.ContextSearch)


Property ABadPropertyNameToChange As %Boolean;

Parameter SETTINGS = "ABadPropertyNameToChange:CustomSettingsSection"

will result in this in the portal



[ ]

1 3
1 177


I have two namespaces

  1. In the first one, I have defined a class which Extends (%Persistent, Ens.Util.MessageBodyMethods), we'll call it NSOne.Msg.Req
  2. In the second namespace NSTwo, I want to use the previous class with something like SET pInput = ##class(NSOne.Msg.Req).%New()

I mapped the NSOne.Msg.Req package in namespace NSOne. In Atelier, I can see NSOne.Msg.Req in my NSOne. But, when I try to execute line 2 above, it tells me :

0 2
0 298