The return value of your WebService has to be of type
ServiceTestPrd.Request.ReqPatInfo
and you terminate with your object.
- Log in to post comments
The return value of your WebService has to be of type
ServiceTestPrd.Request.ReqPatInfo
and you terminate with your object.
just run $System.OBJ.Export() for your Global and hand over the result to your CVS.
USER>s sc=$system.OBJ.Export("^rcc.GBL","exportTest.txt",,.error,"UTF8")
Exportieren in XML gestartet am 04/01/2018 10:25:26
Exportiere Global: ^rccthe result is a nice XML structure
and $system.OBJ.Import() reloads it
The extension .GBL is the important thing
http://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?…
Update:
Blocks.Router uses $toJSONFormat() {CR/LF formatedOutput }
this hidden function hasn't been ported. replacement with %ToJSON() does it as well.
So TREE view works nice.
Map view gets no content (and no colored dots
).
Reason: Block Count=0 and also %Fill -> nothing to display (makes sense somehow).
This is also with the original classes in 2016.1.4 ;
Looks like an privilege issue.

You still may be confronted with encoding issues: 8 bit vs. UniCode
and the correct sort order ASCII, French, 3 variants of German, ......many more
But your original installation knows this all.
You are missing the point.
12345 is the port used by the cache DB server (default=1972) of your instance.
internally there is a mapping between the logical NAMESPACE and the physical disk directory and that NAMESPACE is used in connection string.
if your namespace is called DB then you have to use
jdbc:Cache://localhost:12345/DB
But if you just have the directory .../cache/db/cache.dat you can't say what NAMESPACE this is
You have to know your Caché configuration.
Some reading on Caché configuration may give you background information
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
do you plan an update for changes to JSON syntax
- .%To... instead of .$to... and so on
- local Caché variables and expressions in parenthesis. ( var )
I tried and it finally compiled. Could run the page just never saw a result.
NO direct WAY !
But you may do it in a local instance of Caché.
It was introduced in Caché 5.2 already !
see release notes.
http://docs.intersystems.com/cache52/csp/docbook/DocBook.UI.Page.cls?KE…
HowTo:
http://docs.intersystems.com/cache52/csp/docbook/DocBook.UI.Page.cls?KE…
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.
??? For what reason would you expect to have MicroSoft .NET on Linux/Unix systems ???
Where does Array go to proxyObject ?
I'm missing something like: Set Body.Array=Array
I would like to share your wishes to all participants with special emphasis on uninterrupted HEALTH.
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
HTH,
Robert
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
Check MAXLEN for Property CSFAELIGVENCITY wherever that was defined.
As MAXLENis not checked for data output you may want to use a SQLcomputed property
that limits output to 20.
eg. {set {*}=$Extract(CSFAELIGVENCITY,1,20) }
check docs on Emergency Access mode
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
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
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
I like macros but I'm always careful concerning their public availability.
This has changed to often over recent releases.
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.
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")
quicker again
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-query
Summary: they are not identical.
Now the example transformed for namespace SAMPLES to have 3 tables as A, B, and C:
Row count: 100
Query Plan:
transformed to sub-queries:
it is obviously identic ! just more expressive.
Row count: 100
Query Plan:
the next LEFT_JOIN(A,INNER_JOIN(B.C)) requires immediate transformation
Row count: 237 (!!!!)
Query Plan:
So both variants are possible though the result is different
HTH,
As alternative to copy you can also map ^EnsPortal.SavedSearch* in your secondary namespace to use it in parallel.
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
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…
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 $IO
so it's no problem to have multiple terminal sessions connected
USER>w $io
|TNT|127.0.0.1:51133|10088
valid observation.
is Enable %Service_Telnet set ?
in the Management Portal (http:///csp/sys/sec/%25CSP.UI.Portal.Services.zen)
My Caché runs on Win .(I'm not sure if this works also for Caché on Unix )
It does NOT work for Unix:
| %Service_Telnet | Yes | Yes | Unauthenticated | Unrestricted | Controls Telnet sessions on a Windows server |
So on UNIX you go to bash and have to start via csession....
so what you are looking for is something similar to XML IGNORENULL = 1
short time ago I ended up with export to XML and then convert XML to JSON.
Not so impressive but better than chasing unwanted "".