Hey, Nicole
That's excellent !!!
What ever I click on shows up in "Atelier Documentation" Tab.
Thanks for the hint! ![]()
- Log in to post comments
Hey, Nicole
That's excellent !!!
What ever I click on shows up in "Atelier Documentation" Tab.
Thanks for the hint! ![]()
You may try to cheat it by changing the <input> tag to
and you get in CHROME and Firefox
C:\fakepath\EUR_Meldung.pdf
and fakepath doesn't exist obviously
while IE11 and EDGE on Windows10 tell me the real path (!)
C:\Users\ich\Desktop\EUR\EUR_Meldung.pdf
I give no further comment related to security & privacy on products from M$
OK, you look for something different than I understood.
The CLASS REFERENCE to DocBook seems to be not directly available as in Studio.
Just by external access to Documentation ....
Part of it is found if you have an class in your editor and move your cursor over a class name
then you get a volatile class description that you can nail down by clicking or <F2>
Its's pretty similar to the DocBook version EXCEPT that you have no further references (e.g. Data Types or %Status or ...)
So it's not a multi level navigation like in browser!
For illustration I have done this for %Persitent. For %Populate, %XML.Adaptor you have do again and again.
Easier:
in tab Server Explorer clickk to ADD NEW Sever Connection (green cross)

Could you pls. be a little bit more precise in what context you expect the reference?
A screenshot would be nice to explain your issue.
To my understanding the structure of your global is irrelevant in this context.
If you want to use sharding forget about ALL global access.
You only access works over SQL ! (at least at the moment, objects may follow in some future)
It's the decision of the sharing logic where and how data are stored in globals.
If you ignore this and continue with direct global access you have a good chance to break it.
This naming "mistake" of %ZEN caused a lot of extra checks and workarounds that we may have to carry around forever. ![]()
My personal proposal "CSP#" written as CSPXX (CSPX was already used by Ensemble) didn't win the internal naming contest. ![]()
Guess why. ![]()
List of supported nnenmonics for ANSI terminals (X364)
%X364 ; BINDING FOR ANSI X3.64 NAMESPACE, NOV/92 ; LRS952 06/07/05
APC ; Application program command
BEL ; Ring the bell
CBT(%1) ; Cursor backward tabulation %1 tab stops
CCH ; Cancel character
CHA(%1) ; Cursor horizontal absolute (move to column %1)
CHT(%1) ; Cursor horizontal tabulation (forward %1 tab stops)
CNL(%1) ; Cursor next line (cursor down %1 lines)
CPL(%1) ; Cursor preceding line (cursor up %1 lines)
CPR ; Cursor position report (return in $KEY)
CTC(%1,%2,%3,%4,%5,%6,%7,%8,%9) ; Cursor tabulation control
CUB(%1) ; Cursor backward %1 columns
CUD(%1) ; Cursor down %1 lines
CUF(%1) ; Cursor forward %1 columns
CUP(%2,%1) ; Cursor position (column %1, line %2)
CUU(%1) ; Cursor up %1 lines
CVT(%1) ; Cursor vertical tabulation
DAQ(%1,%2,%3,%4,%5,%6,%7,%8,%9) ; Define area qualification
DCH(%1) ; Delete %1 characters
DCS ; Device control string
DL(%1) ; Delete %1 lines
DSR(%1) ; Device status report - type %1 - return in $KEY
EA(%1) ; Erase in area
ECH(%1) ; Erase %1 characters
ED(%1) ; Erase in display (%1=0 cursor-to-end,1 begin-to-cursor,2 entire scr)
EF(%1) ; Erase in field
EL(%1) ; Erase in line (%1=0 cursor-to-end, 1 begin-to-cursor, 2 entire line)
EPA ; End of protected area
ESA ; End of selected area
HPA(%1) ; Horizontal position attribute (cursor to column %1)
HPR(%1) ; Horizontal position relative (cursor forward %1 columns)
HTJ ; Horizontal tab with justify
HTS ; Horizontal tabulation set
HVP(%1,%2) ; Horizontal and vertical position (column %1, line %2)
ICH(%1) ; Insert %1 characters
IL(%1) ; Insert %1 lines
IND ; Index
INT ; Interrupt
MC ; Media copy
MW ; Message waiting
NEL ; Next line
NP(%1) ; Next page (advance %1 pages of terminal display memory)
OSC ; Operating system command
PLD ; Partial line down
PLU ; Partial line up
PM ; Privacy message
PP(%1) ; Preceding page (backup %1 pages of terminal display memory)
PU1 ; Private use one
PU2 ; Private use two
REP ; Repeat
RI ; Reverse index
RIS ; Reset to initial state
RM(%1,%2,%3,%4,%5,%6,%7,%8,%9) ; Reset mode
SEM ; Select editing extent mode
SGR(%1,%2,%3,%4,%5,%6,%7,%8,%9) ; Select graphic rendition %1 thru %9
SM(%1,%2,%3,%4,%5,%6,%7,%8,%9) ; Set mode
SPA ; Start of protected area
SS2 ; Single shift two
SS3 ; Single shift three
SSA ; Start of selected area
ST ; String terminator
STS ; Set transmit state
SU ; Scroll up
TBC ; Tabulation clear
VPA(%1) ; Vertical position attribute (move to row %1 at same column)
VPR(%1) ; Vertical position relative (move down %1 lines at same column)
VTS ; Vertical tabulation sets
With this reply I'd bet om SOAP
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> ......
But without details it's a guesswork. At least some schema for the content of PUT is required.
What I've seen at UPS there are many interfaces. So which one is it ?
This was more a code correction exercise.
Honestly I wouldn't have done it that way at all. But using %XML.TextReader instead.
It was just to late in the evening to do a pretty solution.
The next auditor may do it.
BTW. for Attributes it'S %lev+1*3
pls. point me to that WSDL or post it so we can try.
Without WSDL all to say isthe same what the error says: some important parameters are missing.
The XML document is well formed but the document is not valid
As Eduard already pointed out there is just no need to use %XML.Node as %XML.Document inherits it already
I have elaborated your code also to cover Attributes and Chlidren in the document.
and added some readability features.
To some extend %XML.TextReader could have done the same.
No need to copy the code from browser the class + test data is attached. xmlreading.zip
It seems to me you try to call a SOAP service.
That service requires some special XML structured content. That is missing. It is typically placed in Authtoken.Entity
you can test your request by
set tSc = AuthToken.Post("/webservices/Void",1) to see what you send.with is empty in your case.
It may work with pure %Net.HttpReqquest but if you have a valid WSDL definition you better use
the WebService Client Generator in Caché Studio that does it all for you.
It would be useful to have sour WSDL to try it. Pls. attach it.
As I don't have a personal account on UPS I'n unable to identify what you a re trying to achieve.
I worked also with PHP WS. It does a lot under cover (without your control) that you have to do in Caché by your own code.
eg. at any request the related WDSL is downloaded for actual mapping.
you should ensure that in the last else branch in method ..OutputNode() your variable
alChild is an object of type %XML.Document to satify your method
.. XmlToJSONnode(sbJSON As %AbstractStream, node As %XML.Document, showNodeName As %Boolean)
when you call it.
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.