Hi Julian,

You could do this with a custom Ensemble utility function but from your description I think parenthesis syntax should work just fine.

Defining Custom Utility Functions

Parenthesis () Syntax

HL7.(PIDgrpgrp(1).ORCgrp().OBR:UniversalServiceIdentifier.identifier) should return a concatenated string from looping through the ORCgrps - you could then search that string to find the value you are looking for.

Hope that helps!

Hi Michael,

I assume you were looking at the %Library.File documentation for FileListFetch. FileListFetch is not meant to be used directly, but is a part of a class query which can be used as documented here:

Defining and Using Class Queries

https://cedocs.intersystems.com/csp/documatic/%25CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25SYS&CLASSNAME=%25Library.File

If you can navigate to the directory then you could use ##class(%Library.File).GetFileSize(), however for a remote FTP server this probably wouldn't work. You would want to use %Net.SSH.SFTP as documented here:

Using SSH

https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?APP=1&CLASSNAME=%25Net.SSH.SFTP

edit: the FileList query is not in %Library.File - I am not sure where that query comes from but the rest of my post remains revelant

Hi Bharath,

I don't really have any sample code for you but I'm not sure I (or other readers) have a good idea of what exactly you are trying to do. Have you already reviewed the class reference? I think the Create(), Get(), and Modify() documentation together describe quite well how you could use Security.Users.

https://cedocs.intersystems.com/csp/documatic/%25CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25SYS&CLASSNAME=Security.Users

Hi Augusto,

The role that handles backups is %Admin_Operate as documented here:

Assets and Resources

I don't believe there is a resource that specifically governs the external freeze/thaw capability, you would probably need to design something custom for that particular restriction. For example, you might assign your user a startup namespace or routine as documented here:

Users

Startup Namespace    The namespace in which to begin execution following login from a terminal-type service or the Portal. This property overrides any namespace value provided via the command invoking Caché.


Startup Tag^Routine    The routine to execute automatically following login from a terminal-type service. This property overrides any routine value provided via the command invoking Caché.

Hi Kevin,

Thanks for pointing the documentation issue out. The documentation has been modified to specify that the <NETWORK DATA UPDATE FAILED - MAXSTRING> error relates to network activity - "An asynchronous network error occurred and updates sent over the network were lost because InterSystems IRIS/Caché on the server has encountered an attempt to specify or create a data string longer than the implementation allows (32,767 characters)."

What were your instances doing at the time you received this error and where did you find this error? I put a little time into trying to throw this error myself by manipulating some large strings from an ECP app server but wasn't able to reproduce it.

Hi Laura,

There are some tables covering schemas that might be of use to you as documented here:

Exporting a Production

"Export the underlying Caché global that contains the schema and then import this on the target system. To export a global, select System Explorer > Globals, select the desired globals and then select Export. The X12 schemas are stored in the EnsEDI.Description, EnsEDI.Schema, EnsEDI.X12.Description, and EnsEDI.X12.Schema globals. The XML schemas are stored in the EnsEDI.XML.Schema global. See “Exporting Globals” in the Using Caché Globals guide for details on exporting globals."

Hello Dan,

I am struggling to understand the scenario that you are testing/planning for. Do you have an arbiter? I would read through the mirroring docs which discuss the various options available to you and the various automatic responses that mirroring can take (including some diagrams).

https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GHA_mirror

https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GHA_mirror#GHA_mirror_set_autofail_outages

If you want to simulate network isolation, I think you'd need to actually network isolate. If you force the backup to become primary, Caché will try to force down the original primary to prevent split brain.

If you can't identify a permissions issue I would recommend opening a WRC case to investigate as it will probably take some looking around at your system to resolve, and that isn't easily done via a forum.

Worth considering is if this works in other environments and if so what the difference in permissions might be, and if you can try the freeze or journal switch directly in Caché terminal (taking the OS terminal out of the equation).