go to post Robert Cemper · Jan 2, 2018 OK. I understand.- I doubt if a Linux distribution of Caché contains any Windows mechanics. ( to be checked with WRC )- on the other hand I don't believe it's possible or make sense to run Caché Win distribution in a Win-Shell ...So suggested workaround:Have a VM (or small machine) with Windows +Caché and connect via ECP or similar (REST, WebService, JDBC, ...) to your main Caché instance on Linux. OR:Wrap some C# around your DLL on a Windows box and present it as a WebService that you call from Linux.
go to post Robert Cemper · Jan 2, 2018 ??? For what reason would you expect to have MicroSoft .NET on Linux/Unix systems ???
go to post Robert Cemper · Jan 2, 2018 Where does Array go to proxyObject ?I'm missing something like: Set Body.Array=Array
go to post Robert Cemper · Dec 31, 2017 I would like to share your wishes to all participants with special emphasis on uninterrupted HEALTH.
go to post Robert Cemper · Dec 30, 2017 Hi Jeffrey,Your descriptions matches pretty well what is titled in Ensemble as "Workflow"http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...It uses specialized Request and Response messages that are designed to allow a significant time gap in between.It's originally designed for human interactions but to my understanding it implements exactly your "sideline".And human interaction is just there to show it may take long time to get a reply.There is also an example in ENSDEMO Demo.Workflow.Production HTH,Robert
go to post Robert Cemper · Dec 29, 2017 Not clear what you mean with "login page".for the MgmtPoatal you connect to a HTTP port (default=57772) with a CSP PAGE and and and ...With JDBC you connect to the object service port (default = 1972) + namespace The IP address is of course the same. Here 127.0.0.1 or localhost
go to post Robert Cemper · Dec 29, 2017 Check MAXLEN for Property CSFAELIGVENCITY wherever that was defined. As MAXLENis not checked for data output you may want to use a SQLcomputed propertythat limits output to 20.eg. {set {*}=$Extract(CSFAELIGVENCITY,1,20) }
go to post Robert Cemper · Dec 29, 2017 check docs on Emergency Access mode http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...
go to post Robert Cemper · Dec 28, 2017 So you didn't run the full installation.You need to update you installation and add the libraries.Or run a 2nd installtion in parallel
go to post Robert Cemper · Dec 28, 2017 Pls. move this request away from "Community Feedback " to Group "Caché" to make it public visible.I just found it by accident. it is in you Caché installation %CACHEROOT%\dev\java\lib\JDK17\...%CACHEROOT%\dev\java\lib\JDK18\...whatever you may need
go to post Robert Cemper · Dec 28, 2017 I like macros but I'm always careful concerning their public availability.This has changed to often over recent releases.
go to post Robert Cemper · Dec 28, 2017 You are totally right. I tried to stick with the original questions. And I wouldn't formulate it that "traditional" way.As you noticed there are more efficient and meaningful constructs possible.
go to post Robert Cemper · Dec 27, 2017 Try "" instead of null which would be a variable named null do $$$AssertEquals(myObj, "", "myObj is null")or set null="" do $$$AssertEquals(myObj, null, "myObj is null")or to cover undefined as well do $$$AssertEquals($GET(myObj), "", "myObj is null")
go to post Robert Cemper · Dec 27, 2017 My sample took somewhat longer to prepare then Edward's and Gerd's#1) to evaluate SQL statements use MgmtPortal/ Explorer/SQL and check the generated query plan.#2) if you don't use special attributes to SELECT clause or sub-queries all SQL statements are strictly worked from left to right. your first statement is ok for SQL your 2nd is just a fragment that I interpreted as to be a sub-querySummary: they are not identical.Now the example transformed for namespace SAMPLES to have 3 tables as A, B, and C:select A.id,B.id,c.Id from sample.person A left join sample.employee B on A.id = B.spouse inner join sample.company C on B.company = C.id Row count: 100Query Plan:Relative cost = 4200Read extent bitmap Sample.Employee.$Employee, looping on ID.For each row: Read master map Sample.Employee.IDKEY, using the given idkey value. Read extent bitmap Sample.Person.$Person, using the given ID. For each row: Read master map Sample.Company.IDKEY, using the given idkey value. Output the row. transformed to sub-queries:select aid,bid,cid from(select A.id aid, b.id bid, b.company cid from sample.person A left join sample.employee B on A.id = B.spouse) inner join sample.company C on cid = C.id it is obviously identic ! just more expressive.Row count: 100Query Plan:Relative cost = 4200Read extent bitmap Sample.Employee.$Employee, looping on ID.For each row: Read master map Sample.Employee.IDKEY, using the given idkey value. Read extent bitmap Sample.Person.$Person, using the given ID. For each row: Read master map Sample.Company.IDKEY, using the given idkey value. Output the row.the next LEFT_JOIN(A,INNER_JOIN(B.C)) requires immediate transformationselect A.id,bid,cid fromsample.person A left join(select b.id as bid,c.id cid, b.spouse bsp from sample.employee B inner join sample.company C on B.company = C.id) on A.id = bspRow count: 237 (!!!!)Query Plan:Relative cost = 32408Read extent bitmap Sample.Person.$Person, looping on ID.For each row: Call module E. Read temp-file A, using the given VIEW column #3, and looping on VIEW counter. For each row: Generate a row padded with NULL for the view if no row qualified. Output the row.module ERead extent bitmap Sample.Employee.$Employee, looping on ID.For each row: Read master map Sample.Employee.IDKEY, using the given idkey value. Read master map Sample.Company.IDKEY, using the given idkey value. Increment view row counter. Add a row to temp-file A, subscripted by VIEW column #3 and VIEW counter, with node data of VIEW column #1 and VIEW column #2.So both variants are possible though the result is differentHTH,
go to post Robert Cemper · Dec 27, 2017 As alternative to copy you can also map ^EnsPortal.SavedSearch* in your secondary namespace to use it in parallel.
go to post Robert Cemper · Dec 27, 2017 Telnet port 23 is typically blocked on Unix/Linux Servers.I'd suggest to use some other terminal program with support of SSH to log in (eg. Putty www.putty.org)But be aware on UNIX/LINUX you log in to a shell and have to start csession for "Terminal like" access
go to post Robert Cemper · Dec 26, 2017 the key difference is that you can pass the classname by a variable.So you are prepared to get the classname passed by some other method.In your example with a constant string"circle"you miss the key advantage and It's of o added value.BTW. Correct is $classmethod("circle.radius","%New")http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...
go to post Robert Cemper · Dec 22, 2017 For testing with Terminal I typically use PuTTY. http://www.putty.org/There I can have multiple terminals with separated Sessions/$JOB in parallel without problem.(pls. don't ask how )Terminal driver changes to a free set of ports ( 51133|10088) as you see by $IOso it's no problem to have multiple terminal sessions connected USER>w $io|TNT|127.0.0.1:51133|10088I have no idea if Atelier allows multiple Terminals . And if how to launch them.In Atelier just click again to the Terminal Open Icon: