go to post Stefan Cronje · Jan 25, 2023 Do you want to check the file on the local disk or on a different machine? What is the end goal of the BP? If the file did not transfer, what do you want it to do?
go to post Stefan Cronje · Jan 25, 2023 As a starting point, you can try thr following to force the IS NULL filter to be applied first - assuming there is an index on it.From %FIRSTTABLE Records SQLUser.Books Books
go to post Stefan Cronje · Jan 25, 2023 Will you please get the query plan for this without running it in %parallel first, so that we can see what it does internally. From there we can determine full scans on tables, etc. Also, as mentioned, which fields are indexed and the types of indices.
go to post Stefan Cronje · Jan 22, 2023 Thank you. The tools used to run updates is not up to me. The end-customer has very strict security policies, so the only way to run SQL is via the SMP. Only that web port is open to most personnel, and then you are doing this on a remote desktop as well.
go to post Stefan Cronje · Jan 22, 2023 Thank you for clarifying. That makes sense. It would have been nice to still have that information accessible somehow. If you add audit logs and other things based on triggers, you lose that traceability if SMP is used. This does create a bit of a gap in the audit trail if you are keeping one based on trigger events. The Dynamic SQL audit event can be used, but you can't link it directly to a record that has been updated or deleted, if you are using information that is only available in %session. Can the InBackground behaviour be changed in a configuration?
go to post Stefan Cronje · Jan 22, 2023 For simplicity I am updating the table using the System Management Portal SQL. I used auditing to get the PID and logged the other in the trigger.Both are the same value: 95437 The ^ERRORS contains 3472 lines just for this. Do you want to see something specific in it? There is no reference to %session in it.
go to post Stefan Cronje · Jan 16, 2023 I am back on this posting again.I started running the tests on a Ubuntu serv The %objlasterror still contained the error about being unable to stop the %Monitor, but this is very misleading. What the cause of the issue was, and this might not be obvious to everyone, is the line terminators in the coverage.list file. On Windows it was CRLF, which worked fine. When using those files on Ubuntu, the file lines are read, but including the trailing CR, which caused it not to detect the packages listed in the file correctly:(PKG(CR) '= PKG It would be a nice to have the file loader strip out the CR's from the filestream before performing the readlines on a *nix OS.
go to post Stefan Cronje · May 6, 2022 It does not seem like the XData block parameters for the JSON mappings supports something like that.I did the following to get a different output value on the JSON. It is not the prettiest solution. Class Test.JSONThings Extends (%Persistent, %XML.Adaptor, %JSON.Adaptor) { Property Name As %String; Property Surname As %String; Property Gender As %String(DISPLAYLIST = ",Male,Female", JSONLISTPARAMETER = "DISPLAYLIST", VALUELIST = ",M,F"); Property SomeOtherGender As %String(DISPLAYLIST = ",Man,Vrou", JSONLISTPARAMETER = "DISPLAYLIST", VALUELIST = ",M,F") [ Calculated, SqlComputeCode = { set {*}={Gender} }, SqlComputed, Transient ]; Property Age As %Integer; Property Notes As %String(MAXLEN = ""); Property Code As Test.JSONRef(%JSONREFERENCE = "ID"); XData NSMapping { <Mapping xmlns="http://www.intersystems.com/jsonmapping"> <Property Name="Name" FieldName="Name"/> <Property Name="Surname" FieldName="Surname"/> <Property Name="SomeOtherGender" FieldName="Gender"/> </Mapping> } }
go to post Stefan Cronje · May 6, 2022 Hi, Apologies. My mind must have been in the wrong place. I was looking at it from the Ensemble message browser's side for some reason.
go to post Stefan Cronje · May 5, 2022 Hiya, Should it be a WebSocket, or can it be a TCP counted socket connection? If TCP counted, there are adapters available in Ensemble/IRIS, you just need to create the business operation for the server-side, and the business service for the client-side.You can use the EnsLib.TCP.CountedXMLOutboundAdapter adapter, and the related inbound adapter.In the operation you will have to serialise the Ensemble message to XML, and vice versa on the service.Both these adapters have built-in functionality to ensure connections are up and running, and you can set up alerting controls on it. I have never sent Ensemble messages directly like this to another instance, so I can't comment on if it will work or not.
go to post Stefan Cronje · May 5, 2022 Hiya, Look at the %Library.String documentation. You can use the JSONLISTPARAMETERProperty Type As %String(DISPLAYLIST = ",Sveže,Zmrznjeno,Dodelava", VALUELIST = ",FRE,FRO,FIN",JSONLISTPARAMETER=",Sveže,Zmrznjeno,Dodelava"); I have found that setting this parameter to the DISPLAYLIST parameter did not work, so I just put the same values in this parameter.
go to post Stefan Cronje · Apr 28, 2022 I dug around a bit.It works from the dictionary classes to create the table being displayed.I did see in there that if you add an XData block to your class called "FormDefinition" and omit that property, then it will not display it. Have a look at this:InterSystems CSP AutoForm I also saw that the table generator goes up to 4 levels deep of recursive processing of a message's properties.
go to post Stefan Cronje · Apr 28, 2022 I don't know if this will work, but did you try setting XMLPROJECTION="NONE" on the inverse property?
go to post Stefan Cronje · Feb 26, 2022 Hi, Can you please provide an example of what you are doing in the DTL? As far as I know, the DTL does not handle the line-endings, but rather at deserialization of the input to the source object, and at the serialization of the target object into whichever format it is put it, which is after the executed of the DTL. i.e. Source Data -> Deserialize into object -> DTL -> serialize object into File/XML, etc. The source and targets can be Record Maps, Virtual Docs and any other object you can think of.
go to post Stefan Cronje · Feb 26, 2022 Hi, This might be an obvious question... What is the license usage when this happens?
go to post Stefan Cronje · Feb 2, 2022 If all else fails, uninstall all the extensions related to CacheQuality and ObjectScript.Restart VSCodeInstall the Extension PackIt works.
go to post Stefan Cronje · Feb 2, 2022 The files are .cls. I have noticed now a popup error on the bottom right regarding the Java Runtime Environment and sonarlint.I will look into this first, I probably missed instructions somewhere. I installed the latest JDK, then updated the sonarlint JavaHome setting to align. I am getting the following now, and I have no idea on how to resolve it.Unable to load component class org.sonarsource.sonarlint.core.analyzer.sensor.PhaseExecutor Stupid question: Do I need to be running a SonarQube locally?
go to post Stefan Cronje · Jan 19, 2022 Hi all, I am also having an issue on the code coverage. On my side, there is not an error, but there are no results. Version: IRIS 2021.1 =============================================================================== Directory: C:\Tmp\UnitTests\MLI2\Ens\Helper\ =============================================================================== MLI2\Ens\Helper begins ... List items in directory started on 01/19/2022 14:18:42 '*.xml;*.XML;*.cls;*.mac;*.int;*.inc;*.CLS;*.MAC;*.INT;*.INC' Listing file C:\Tmp\UnitTests\MLI2\Ens\Helper\UnitTests.cls as udl List finished successfully. MLI2.Ens.Helper.UnitTests begins ... TestCheckAndLoadJSON() begins ... AssertStatusOK:Invalid Content-type. Status = OK (passed) AssertNotTrue:Invalid Content-type. Object = nulloref (passed) AssertStatusNotOK:Invalid Content-type. Validation Status = Error (passed) AssertEquals:Invalid Content-type. Validation SC Code(5913) = 5913 (passed) AssertStatusOK:No Content. Status = OK (passed) AssertNotTrue:No Contente. Object = nulloref (passed) AssertStatusNotOK:No Content. Validation Status = Error (passed) AssertEquals:No Content. Validation SC Code(16003) = 16003 (passed) AssertStatusOK:Invalid class name arg. Status = OK (passed) AssertNotTrue:Invalid class name arg. Object = nulloref (passed) AssertStatusNotOK:Invalid class name arg. Validation Status = Error (passed) AssertEquals:Invalid class name arg. Validation SC Code(5760) = 5760 (passed) AssertStatusOK:Invalid JSON. Status = OK (passed) AssertNotTrue:Invalid JSON. Object = nulloref (passed) AssertStatusNotOK:Invalid JSON. Validation Status = Error (passed) LogMessage:Validation SC: ERROR #5035: General exception Name 'Parsing error' Code '3' Data '' AssertStatusOK:Invalid Property Value. Status = OK (passed) AssertNotTrue:Invalid Property Value. Object = nulloref (passed) AssertStatusNotOK:Invalid Property Value. Validation Status = Error (passed) AssertEquals:Invalid property value. Validation SC Code(5802) = 5802 (passed) AssertStatusOK:Positive. Status = OK (passed) AssertTrue:Positive. Object Is Valid (passed) AssertStatusOK:Positive. Validation Status = OK (passed) AssertEquals:Positive. Object Name = MLI2.Ens.Helper.UnitTests.JSONObject (passed) AssertEquals:Positive. tObj.Name = Jon (passed) AssertEquals:Positive. tObj.Surname = Snow (passed) AssertEquals:Positive. tObj.Age = 35 (passed) LogMessage:Duration of execution: .00114 sec. TestCheckAndLoadJSON passed TestCreateJSONOutput() begins ... AssertStatusNotOK:Non-JSON Obj. Status = Error (passed) AssertEquals:Non-JSON Obj. Out Stream size = 0 (passed) AssertStatusOK:JSON Obj. Status = OK (passed) AssertEquals:JSON Obj. Out Stream = expected JSON output (passed) LogMessage:Duration of execution: .002102 sec. TestCreateJSONOutput passed TestGetCSPSessionId() begins ... AssertStatusOK:No %session. sc = OK (passed) AssertNotTrue:No %session. IsCSP = 0 (passed) AssertEquals:No %session. SessionId = "" (passed) AssertStatusOK:Has %session. sc = OK (passed) AssertTrue:Has %session. IsCSP = 1 (passed) AssertEquals:Has %session. SessionId = 12DFzjjakl (passed) LogMessage:Duration of execution: .000125 sec. TestGetCSPSessionId passed MLI2.Ens.Helper.UnitTests passed Skipping deleting classes MLI2/Ens/Helper passed =============================================================================== Directory: C:\Tmp\UnitTests\MLI2\Ens\Helper\UnitTests\ =============================================================================== MLI2\Ens\Helper\UnitTests begins ... List items in directory started on 01/19/2022 14:18:42 '*.xml;*.XML;*.cls;*.mac;*.int;*.inc;*.CLS;*.MAC;*.INT;*.INC' Listing file C:\Tmp\UnitTests\MLI2\Ens\Helper\UnitTests\FauxCSPSession.cls as udl Listing file C:\Tmp\UnitTests\MLI2\Ens\Helper\UnitTests\JSONObject.cls as udl Listing file C:\Tmp\UnitTests\MLI2\Ens\Helper\UnitTests\NonJSONObject.cls as udl List finished successfully. Skipping deleting classes MLI2/Ens/Helper/UnitTests passed Mapping to class/routine coverage: .000221 seconds Aggregating coverage data: .000185 seconds No code coverage found (!) Use the following URL to view the result: http://192.168.8.198:52773/csp/sys/%25UnitTest.Portal.Indices.cls?Index=147&$NAMESPACE=LIBSDEPO Use the following URL to view test coverage data: http://LAPTOP-H4GR74VJ:52773/csp/libsdepo/TestCoverage.UI.AggregateResultViewer.cls?Index=22 All PASSED I've tried this this with RunTest and RunAllTests.After running the tests: LIBSDEPO>w $System.Status.GetErrorText(%objlasterror) ERROR #6061: The Monitor is not running Any advice will be appreciated.