Eduard Lebedyuk · Mar 6, 2024 go to post

what is the reason of having nested transactions inside the Worker method?

The idea is to check that TCOMMIT works, for additional safety, but yes, inner pair of TSTART/TCOMMIT can be taken out.

And how can you distribute single ("root") transaction execution and control among several processes?

No problems with that, transaction iterates over history data, so it's possible to chunk it.

another approach

Thank you. Locking situation would be better with this approach.

Eduard Lebedyuk · Mar 6, 2024 go to post

That won't rollback transactions inside worker processes (as they might be gone by the point we pass sync).

Eduard Lebedyuk · Mar 4, 2024 go to post

I think two classes in one namespace have a mismatched value of this setting, rather than plainly incorrect value.

Eduard Lebedyuk · Feb 22, 2024 go to post

Use source control to store lookup tables and update them only through the CICD process.

This way you can have a full visibility over when the change happened.

Eduard Lebedyuk · Feb 1, 2024 go to post

I think some parts of EnsLib.File package use filenames as global subscripts. Check $$$ErrorFileTable and similar references in PassthroughService.

Eduard Lebedyuk · Jan 30, 2024 go to post

Consider upgrading to IRIS.

On Cache 2016.2 you'll need to use iterator to go over all properties and set matching ones.

Eduard Lebedyuk · Jan 29, 2024 go to post

p is ok, quit is ok.

Things like:

    ClassMethod ToKeyPad(phrase = {some code to do preprocessing}) As %String
    {
        Return phrase
    }

are not okay.

Eduard Lebedyuk · Dec 21, 2023 go to post

You can try just SQLPROJECTION = "table/column" but I highly recommend testing it first.

Eduard Lebedyuk · Dec 21, 2023 go to post

If there's no data yet, project it as a table:

Property CodeTable As list Of Sample.CodeTable(SQLPROJECTION = "table/column", STORAGEDEFAULT = "array");
Eduard Lebedyuk · Dec 19, 2023 go to post

You can set it programmatically:

set package = ##class(%PackageDefinition).%OpenId("User",,.sc)
 
zw package
package=2@%Library.PackageDefinition  ; <OREF>
+----------------- general information ---------------
|      oref value: 2
|      class name: %Library.PackageDefinition
|           %%OID: $lb("User","%Library.PackageDefinition")
| reference count: 2
+----------------- attribute values ------------------
|       %Concurrency = 1  <Set>
|         ClientName = ""
|        Description = ""
|       GlobalPrefix = ""
|               Name = "User"
|          OwnerName = ""
|          RtnPrefix = ""
|            SQLName = ""
+----------------- swizzled references ---------------
|             i%list = ""  <Set>
|             r%list = ""  <Set>
+-----------------------------------------------------
Eduard Lebedyuk · Dec 15, 2023 go to post

XSLT unless we are talking about a very large files to be processed very quickly in which case SAX parser might be worth a consideration.

Eduard Lebedyuk · Dec 15, 2023 go to post

Can you show an example of source ASTM file and a resulting HL7 you want to get, please?

Eduard Lebedyuk · Dec 12, 2023 go to post

Are you getting Ens.StreamContainer?

It would be OriginalFilename property in that case.

Eduard Lebedyuk · Dec 11, 2023 go to post

I would try a password with just a-z, A-Z, 0-9, !#$%^&*()[]{}. Maybe there's some issue with wide characters?

Eduard Lebedyuk · Dec 11, 2023 go to post

You need a restart following this rename. Also try to replace cgateu.so with cgateur64.so.