![]()
![]()
![]()
- Log in to post comments
![]()
![]()
![]()
Zen Application is the "package" you call from a browser and typically sets a common design.
Zen Pages are the individual web pages that make up your application.
Client Methods is JavaScript executed in your browser.
Server Methods run on the Caché Server and interact with the Zen page using HyperEvents.
I'd suggest you take a tour through the docs for details.
|
Using Zen Introduces Zen, the InterSystems framework for web application development. Developing Zen Applications |
|
you operate not on document object but on zenPage object
see docs: Client Side Functions, Variables, and Objects at the beginning >>>
but that way
USER>f a=0.8:.1:2.2 w a,?7,a\1+(a#1>0*1),?10,!
.8 1
.9 1
1 1
1.1 2
1.2 2
1.3 2
1.4 2
1.5 2
1.6 2
1.7 2
1.8 2
1.9 2
2 2
2.1 3
2.2 3![]()
In namespace %SYS you have the utility ^JRNDUMP which displays the content of journal files in "readable" text format.
You may need to adapt it to your requirements.
Depending on your activities in the DB this may take many many GB !
I'd suggest examining the content first from Mgmt Portal to see if this is what you expect.
did you verify if par2 is really "0912" (leading zero) and not just 912
the class documentation has a special warning:
As Security is a sensitive subject I think any other approach could cause serious damage or at least a risk.
<ZSOAP> is just a summary not more meaning than "there was an error"
for the details, I'd suggest to analyze variable %objlasterror
eg. set detail=$system.Status.GetErrorText(%objlasterror)
set fault.detail="<mymessage>"_detail_"</mymessage>"
An upgrade from Caché to Ensemble is not foreseen.
Install ENSEMBLE in parallel to Caché and include your Caché Databases to Ensemble as you need.
Attention: Ensemble is always running in Unicode!
You find it in
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Intersystems\Cache\Servers\<YourServer>
.png)
I found it by searching some Webserver Port with regedit.exe
- - - " let's print only one number or word per line, " - - -
That was my trigger. Thanks @Eduard Lebedyuk for the hint
Oh dear! It's incredible!
![]()
![]()
c'mon - it even works with text files:
USER>s file="fizzbuzz.txt"
USER>o file:"WNS":0 W $t
1
USER>u file f i=1:1:100 w:i#3=0 "Fizz" w:i#5=0 "Buzz" w:'$x i w !
USER>c file
USER>$type fizzbuzz.txt
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzit doesn't show numbers at end
if you run it as single line command in a standard Caché terminal supporting $X,$Y.
newline sets $x=0, $i($Y)
USER>f i=1:1:100 w:i#3=0 "Fizz" w:i#5=0 "Buzz" w:'$x i w !
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Fizz
52
53
53 bytes raw
![]()
f i=1:1:100 w:i#3=0 "Fizz" w:i#5=0 "Buzz" w:'$x i w !
if you can't use the required version of $ZF(-100.....)
you still may try CPIPE as described here
Your problem is that "pwd" is not a valid command in WINDOWS !!!
use instead "echo ^%cd^%"
ref: https://stackoverflow.com/questions/921741/windows-equivalent-to-unix-pwd
this works:
USER>s a=$zf(-100,"/SHELL","echo %cd%")
d:\database\www17\userI think IRIS studio has that feature too under UTILITIES
o yeah!
one pupose of containers is to have them IDENTIC ![]()
I stated:
name your config SMP<port> that is SMP57772 or just 57772
then the config name reflects the SMP port
on WIN the config name is burned into the registry
Computer\HKEY_CURRENT_USER\Software\InterSystems\Cache\Configurations\......
UNIX/Linux has some structure simulating Win_Registry. Support experts will know the details.
Your terminal prompt can be configured to display the instance.
see TerminalPrompt eg. config>namespace>
[Startup] TerminalPrompt="3,2"
and you name your config "SMP<portnumber>" which should be valid.
eventually only "<portnumber> " might do it as well.
On the page System Administration > Configuration > Additional Settings > Startup, in the TerminalPrompt row, select Edit.
Hi Evegeny,
I found nothing sophisticated but very straight.
just from any namespace or routine / method.
USER>w ^%SYS("SSPort") ;;SuperServer
1972
USER>w ^%SYS("WebServer","Port") ;; WebServer
57772
USER>ENSEMBLE may have some signal mechanic.
BUT at Caché level you still have Special Variable $HALT as the last chance handler.
all details https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_vhalt
Most important:
If you have $HALT set and also have code defined for ^%ZSTOP when a HALT is issued, the $HALT is executed first. $HALT can prevent the termination of the process, if its halt trap routine does not contain a HALT command. !!!!
BINGO ! ![]()
if you test your example from terminal prompt it needs some important change:
open file:("WNS"):3
if ('$test) { write !,"Failed to open "_file quit }
use file do ALL^%SS ;; must be the same line
close file
quit
the popular use of is INTERACTIVE.
But there is a BATCH option:
SAMPLES>zn "%SYS"
%SYS>d BATCH^GBLOCKCOPY
1) Manage Batches
2) Run a Batch
3) Restart a Batch
4) Add Processes to a running Batch
5) Stop a Running batch
6) Monitor Running Batch
7) Batch Report
8) Exit
Option? 1
1) Create a Batch
2) Edit a Batch
3) List Batches
4) Delete a Batch
5) Exit
Option?I never used it myself.
it seems to me you should find it in ^%SYS("GBLOCKCOPY")
But the source code is open in %SYS and easy to read:
HTH,
Sorry, this is a description of how to run a program of WINDOWS or LINUX from Caché.
What you address here ar Caché Routines or ClassMethods.