it just works with local variables in memory.
I referred to this:
USER>s x=^rcc
USER>zw x
x="6@%Stream.FileCharacter"
USER>d x.%New()
D x.%New()
^
<INVALID OREF>
USER>
- Log in to post comments
it just works with local variables in memory.
I referred to this:
I was wondering where this goes and how you could get so far.
Caché uses a temp file.
I 'm not aware of such option.
I ran also the original class (with .$toJSOMFormat) in 2016.4 with the same effect.
JSON output (trapped over I/O redirection) looks also good.
I fear the huge XDATA block (HTML, JS, CSS) didn't make it correctly via the Studio import.
It looked very strange with many empty lines inserted.
correct! this is just a string looking like an oref, but no oref
Analyzing you code I see the problem in this line:
I take for given that sbJSON is a valid object.
So I further investigate on node
..XmlToJSONnode( ) is called twice + recursive
#1 from .. XmlToJSON() looks fine
#2 is suspicious as in .. OutputNode() I see
so what you hand over is not an oref as this looks like <integer>@<classname>
therefore you fail with <INVALID OREF>zXmlToJSONnode+3^SharpJSONToXML.1
so some action is required to find out what happens
BTW:
passing sbJSON by reference would make this recursive construct easier to understand
as you intend to work to the same stream object anyhow.
or just use %sbJSON as single common reference
And what's your question ?
with
you miss some content to POST and get
use instead
and receive
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 Demo.Workflow.Production
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,