go to post Enrico Parisi · Dec 30, 2024 In your sample code AltOrEmpty property contains a not null value of Mandatory property or $c(0), so: set testInstance = ##class(TestIndex).AlternateMandatoryOpen(2,$c(0),.st)
go to post Enrico Parisi · Dec 13, 2024 Is return supposed to return a boolean (0/1) or the non empty value of check1? I'm asking because you write "will return false even for non-empty strings (due to conversion to integers for string prefixes)". In general to check for not empty string (check1'="") is used. If you need to return a boolean depending of empty/not empty, then you can use: return (check1'="")
go to post Enrico Parisi · Dec 11, 2024 CONNECTION is a class parameter, to search all class parameters named CONNECTION with a specific value: select parent from %Dictionary.CompiledParameterwhere name = 'CONNECTION' and _Default='<your connection value to search>'
go to post Enrico Parisi · Dec 6, 2024 Actually, try this: select * from INFORMATION_SCHEMA.FOREIGN_SERVERS
go to post Enrico Parisi · Dec 3, 2024 You can, this way: Property Entry As list Of Entry(XMLPROJECTION = "ELEMENT"); Note that the tag is the name of the list property, not the list item.
go to post Enrico Parisi · Dec 1, 2024 To debug your issue I suggest to enable SOAP logging setting this two global node: Set ^ISCSOAP("LogFile")="/path/to/yourlog/filename.log"Set ^ISCSOAP("Log")="ios" Values for ^ISCSOAP("Log") are:"i" — Log inbound messages"o" — Log outbound messages"s" — Log security information. Then call your SOAP service and check the log file for hints on the actual issue. When finished debugging remember to turn it off with Set ^ISCSOAP("Log")="" or Kill ^ISCSOAP("Log") In error handling code, when using SOAP and a <ZSOAP> error in triggered, the actual error status is contained in %objlasterror variable, so: Set displayString = ex.DisplayString() If displayString [ "<ZSOAP>" { Set displayString=$system.Status.GetErrorText(%objlasterror) } It's all documented, I cannot post documentation links because the documentation site it's not working for me at the moment.
go to post Enrico Parisi · Nov 21, 2024 The time Veeam create a snapshot should be measured in seconds, not minutes! If your server does not use/need any application guest processing (Oracle etc.), then in Veeam you can be disabled in "Application-Aware Processing Options" in the Backup Job configuration for your Suse IRIS server , "Disable application processing": As @Timo Lindenschmid pointed out, you may consider backing up the secondary server. In case you want to backup the primary, make sure to set mirror QoS appropriately.
go to post Enrico Parisi · Nov 15, 2024 Please check this announcement: InterSystems IRIS Minimum Supported CPU Models I'm afraid that a Nehalem Class Core CPU is a bit too old for IRIS
go to post Enrico Parisi · Nov 6, 2024 Evidently "The first 4KB of the stream cannot be compressed by at least 20 percent." Demonstration: USER>set data="" for i=1:1:400 set data=data_"a"_i USER>set compressed=##class(%SYSTEM.Util).Compress(data,"lz4") USER>write $length(data)," - ",$length(compressed),! 1492 - 1481 P.S.: IRIS use lz4 compression for streams
go to post Enrico Parisi · Nov 6, 2024 Rules are subclasses of Ens.Rule.Definition class, to list rules you can use the class query SubclassOf in the %Dictionary.ClassDefinition class. From ObjectScript: Set rs=##class(%Dictionary.ClassDefinition).SubclassOfFunc("Ens.Rule.Definition")Do rs.%Display() From SQL: Call %Dictionary.ClassDefinition_SubclassOf('Ens.Rule.Definition')
go to post Enrico Parisi · Nov 4, 2024 You can Export from DEV using: Set status=##class(EnsLib.DICOM.Util.AssociationContext).ExportXML() And import in PROD with: Set status=##class(EnsLib.DICOM.Util.AssociationContext).ImportXML() See class reference documentation.
go to post Enrico Parisi · Nov 4, 2024 You did not specify the IRIS version, so I assume you are using the latest version. You can export the source of a class to a file: Do $system.OBJ.ExportUDL("My.Class.Name.cls","/full/path/My.Class.Name.cls")
go to post Enrico Parisi · Oct 30, 2024 I don't think there is a ready to use SQL query/procedure but you can call the class query "TypeCategories" in the class "EnsLib.HL7.Schema" from ObjectScript: set ResultSet=##class(EnsLib.HL7.Schema).TypeCategoriesFunc() do ResultSet.%Display()
go to post Enrico Parisi · Oct 29, 2024 You can call: Set status = $System.OBJ.Export(SchemaName_".HL7",Filename)
go to post Enrico Parisi · Oct 29, 2024 You can call: Set status = $system.OBJ.Export(Tablename_".LUT", Filename)
go to post Enrico Parisi · Oct 6, 2024 The reason why it happen is explained in the Indirection (@) documentation: Important: All variables referenced in the substitution value are public variables, even when used in a procedure. So, I'd write your method something like: ClassMethod test() [ PublicList = arg ]{ new arg s arg = "asd" s routine = "say^hello(arg)" do @routine}
go to post Enrico Parisi · Oct 5, 2024 In these situations what I use is: If ##class(Ens.Job).ShouldBeQuiescent() || ##class(Ens.Job).ShouldTerminate() { ; close shop! Quit}
go to post Enrico Parisi · Oct 3, 2024 VSCode with ObjectScript - tried to run simple MUMPS code and says not supported Can you provide more details on what and how you tried? It should work, in fact, it does work!
go to post Enrico Parisi · Oct 3, 2024 I (and not only me) don't consider it "best practice" but sometime is necessary and I admit I have done it a few times. You can definitely call another BO from a BO, the only limitation is that you can only make a sync call. Just use ..SendRequestSync() method, same as you would do in a BP.