go to post Robert Cemper · Jun 9, 2023 If not disabled all global SET and KILL and also transactions are documented in JOURNALthere are also related search utilities available in %SYSthere is no equivalent feature for Global READ.if you just look for the fact that there was a SET or KILL at object levelDSTIME could be an option see example: https://community.intersystems.com/post/synchronize-data-dstimeit is easier to handle than JOURNAL
go to post Robert Cemper · May 20, 2023 see doc on Variable Number of Parameters Summary: args = number of params passed args(n) = n-th param modify as you need, it's just a local variable
go to post Robert Cemper · May 16, 2023 Just to rephrase your issue: you expect a JSON array of JSON objects [{..},{..},{..} ] but you get a JSON object containing that array {"cursos": [{..},{..},{..} ]} ;; asssumptio input holds the received obj set jobj={}.%FromJSON(input) ; convert to obj set jarray=jobj.%Get("cursos") ; content of "cursos" = [..] set output=jarray.%ToJSON() ; convert to string docu: %Library.DynamicObject
go to post Robert Cemper · May 10, 2023 ClassMethod SortVersion(input As %DynamicArray) As %DynamicArray { Set sorted = [] Set val = "" Kill order For i=1:1:input.%Size() Set order(input.%Get(i-1))="" For { Set val=$o(order(val)) Quit:val="" do sorted.%Push(val) } Quit sorted }
go to post Robert Cemper · Apr 26, 2023 I have a straight Caché only Docker available for you:Here is the GitHub Repo until publication on OEX is approved
go to post Robert Cemper · Apr 25, 2023 If you need Caché in Docker you may use this examplehttps://community.intersystems.com/post/using-ecp-across-iris-and-cach%C3%A9An individual license is only required if you want to use ECPIt's the single user version 2018.* and should fit your needs
go to post Robert Cemper · Apr 16, 2023 MUCH more simple and shorter kill set a=##class(Sample.Person).%OpenId(2) set b=##class(Sample.Person).%OpenId(12) set c=##class(Sample.Person).%OpenId(111) set obj=$zobjref("2@Sample.Person") ;; BINGO zw a=<OBJECT REFERENCE>[1@Sample.Person] b=<OBJECT REFERENCE>[2@Sample.Person] c=<OBJECT REFERENCE>[3@Sample.Employee] obj=<OBJECT REFERENCE>[2@Sample.Person]
go to post Robert Cemper · Apr 7, 2023 I just saw this. if accepted tenantnow it's clear what is expected processand now my deployments are visible, FIXED.
go to post Robert Cemper · Mar 27, 2023 if you take a look to method ##class(EnsLib.HL7.Segment).getAtFromArray(...)you see that the segment data is assembled in row 1008 of the class by Set data=data_value without checking the size.So it is designed to fail with large documents as your Base64 encoded PDF (~+33% of original)So just using a reference to an external stored file as you suggested should work. BTW datatype %VarString is just a shortcut of %String(MAXLEN="") and a sometimes appropriate SQLTYPE.
go to post Robert Cemper · Mar 17, 2023 by using {} your Jsonobj is already a %Library.DynamicObjectUSER> ZWRITE JsonobjJsonobj=<OBJECT REFERENCE>[1@%Library.DynamicObject]no need for Set Dynjsonobj=##class(%Library.DynamicObject).%FromJSON(Jsonobj)
go to post Robert Cemper · Mar 15, 2023 I found an acceptable workaround. installed telnetd into the container and started it mapped some external port to port 23 set this external port in my cube started the IRIS Terminal BINGO ! You may raise all concerns on Security and Container Isolation. Accepted! And ignored!Since THIS solves my issues on optical verification of the user interface.
go to post Robert Cemper · Mar 6, 2023 $system.Util.InstallDirectory()classmethod InstallDirectory() as %String Returns the location of the installation directory, i.e. that which is displayed by ccontrol on Unix and VMS, where the .cpf configuration file is kept.
go to post Robert Cemper · Mar 3, 2023 If you are not afraid of using basic COS functionality:your reload method raises a LOCK ^myRELOAD and drops it with completion LOCK -^myRELOAD Your check utility does the same but with a timeout LOCK ^myRELOAD:0if it fails - signaled by $TEST=0 you loop and hang around and retryfor success $TEST=1 you go on but release your successful LOCK immediatelynot to block anyone else.
go to post Robert Cemper · Feb 20, 2023 if you have access to the CSP or ZEN page you may just check the user name in method OnPreHTTP or similar, and redirect him to the moon. if can't touch the page then rename it and create a filter page that does a server-side redirect for everyone except the banned user. .
go to post Robert Cemper · Feb 19, 2023 in iris.script for NSP %SYS add set par("AutheEnabled")=64 set tSC=##class(Security.Applications).Modify("/csp/sys",.par) the disadvantage:You are UnknowUser and might need to add the required Roles as well. set role="%All" set tSC=##class(Security.Users).AddRoles("UnknownUser",.role,1) ----------------------my personal approach is to have a fixed port for SMPand save my _SYSTEM / SYS in browser with autofill.
go to post Robert Cemper · Jan 23, 2023 In IRIS you have in SMP the option to run your Query in background and bypass the timeout.
go to post Robert Cemper · Jan 22, 2023 FOUND SOMETHING ! in SMP IRIS you see this header as in Caché / Ensemble but click to more has a surprise in IRIS Select foreground and you get all %session, .... that you look for.Recorded with SPOOL , device 2 %CSPsc=1%ROWCOUNT=0%ROWID=""%SNGetQueryStats=1%SYSLOG=1%application=<OBJECT REFERENCE>[356@%CSP.UI.Portal.Application]%caller=""%class="%CSP.UI.Portal.SQL.Home"%method="InvokeInstanceMethod"%msg=""%obj=<OBJECT REFERENCE>[362@%ZEN.Component.html]%objlasterror=""%page=<OBJECT REFERENCE>[20@%CSP.UI.Portal.SQL.Home]%request=<OBJECT REFERENCE>[1@%CSP.Request]%response=<OBJECT REFERENCE>[2@%CSP.Response]%sc=1%session=<OBJECT REFERENCE>[3@%CSP.Session]%sqlcontext=<OBJECT REFERENCE>[433@%Library.ProcedureContext]%tStatement=<OBJECT REFERENCE>[369@%SQL.Statement]%zenContext="method"%zenThreadId=39SQLCODE=0rs=""<Private variables>$zp=14828$io="|TCP|58771"Reverse engineering of the SMP page uncovered this new checkbox to me.Could be it is documented somewhereHTH
go to post Robert Cemper · Jan 22, 2023 You are CORRECT , In Caché/Ensemble SMP uses straightforward CSP and you have %session object and %request ...I verified IRIS 2022.2 and 2022.3:- SMP runs Queries differently and neither %session nor %request is visibleby variable » %inBackground = 1 it indicates working in backgroundand once completed the Job is gone, but SMP is still around
go to post Robert Cemper · Jan 21, 2023 MS Acess typically uses ODBC data sources.By default, the ODBC35 driver for Cache/IRIS is installed at Cache/IRIS installation time.You have to configure it (directly or from MS Access) with Namespace + SuperServer PortTake care not to mix 32bit mode with 64bit mode depending on your Cache installation