go to post Enrico Parisi · Jan 16 Single character greater than or equal symbol is $c(8805), so: .......set text=^||TestProfile("Table",p,"PostInfo",r)set text=$replace(text,">=",$c(8805))....... Try and let us know. Enrico
go to post Enrico Parisi · Jan 12 You can change the port from 57772 to 80 in System Managment Portal: System Administrtion -> Configuration -> Additional Settings -> Startup -> WebServerPort Or cache.cpf configurtion file: WebServerPort=57772 to WebServerPort=80 Better, proper and suggested solution: install a properly configured web server using port 80, don't use the little web server installed by Ensemble. Enrico
go to post Enrico Parisi · Jan 11 Exactly for that situation I use: If ##class(Ens.Job).ShouldBeQuiescent() || ##class(Ens.Job).ShouldTerminate() { ; do your closing housekeeping or...whatever.. Quit } In your case maybe only ShouldTerminate() would be sufficient. Enrico
go to post Enrico Parisi · Dec 22, 2022 I haven't seen a database corruption for many years, I literally forgot the last time I saw it, it may be 15+ years or more. And in the past (last millennium) I've seen and dealt db corruption. Out of curiosity, what are the symptoms or your corruption? How did it happened?
go to post Enrico Parisi · Dec 22, 2022 Use the Schedule setting for the Business Operation: https://docs.intersystems.com/iris20222/csp/docbook/DocBook.UI.Page.cls?...
go to post Enrico Parisi · Dec 21, 2022 I don't think alerts are stored in any file, they are stored in the Interoperability Event Log accessible from System Management Portal or via SQL using Ens_Util.Log table alerts have Type=6/Alert
go to post Enrico Parisi · Dec 14, 2022 Try enabling the log in the Java Gateway. In Management Portal: System Administration > Configuration > Connectivity > External Language Servers > Edit External Language Server Edit the "%Java Server" (you may need to stop it, if started) and in Advanced Settings specify a Log File. Then reproduce the problem and check the log file. The log file (in some case) can grow significantly, you may want to disable it when done. Enrico
go to post Enrico Parisi · Dec 14, 2022 Frankly I cannot see any advantage in using the sample you posted, it makes things more complicated with no advantage and no, it's not faster than just use a plain simple property. There are cases when those "tricks" (calculated properties, Set/Get methods) can be useful, but that's not the case of the code in your sample. Regarding VALUELIST, it makes it easy and simple to define a (typically small) set of valid values for a property, then, if necessary, you can optionally provide a "user friendly" representation of those value. If you don't find it useful or don't need it, well....don't use it. Enrico
go to post Enrico Parisi · Sep 8, 2022 The solution in simple....if you know it: set addressArray=netGate.new("remote.test.Address[2]") do addressArray.%set(0, home) do addressArray.%set(1, home2) set person = netGate.new("remote.test.Person") do person.setAddressArray(addressArray) set addressArray2=person.getAddressArray() for i=0:1:1 { set addr = addressArray2.%get(i) w !, addr.city } In addition to %set() and %get() method for arrays there are also %setall(), %getall() methods. Hopefully these methods will be documented sometime in the future. Enrico
go to post Enrico Parisi · Sep 2, 2022 I don't think you can add SqlProc at class level, but you can modify the class definition programmatically. Look at the class %Dictionary.MethodDefinition and the property SqlProc, if you set it to 1 is the same as adding [SqlProc] to the method. %Dictionary.MethodDefinition is a child class of %Dictionary.ClassDefinition. Of course I advise you to test it in a temporary system/namespace before... Hope it helps, Enrico