set int = +testingID
- Log in to post comments
set int = +testingID
my private hack for this situation:
ClassMethod MyMethodPost() As %Status
{
$$$LOGINFO("JobId: "_$JOB)
kill ^%kurro
set ^%kurro(0)=$JOB
for {hang 20 break quit:$get(^%kurro) }
#; just hang around until ^%kurro =1
.....
Quit $$$OK
}underscore is not allowed in names and variables
underscore is the string concatenation operator
the ultimate hack for far outside docker IP:
https://community.intersystems.com/post/how-get-docker-host-ip#comment-218456
for easy reading, not a oneliner yet.
new $namespace,host,ipaddr,p
znspace "%SYS"
set host=$system.INetInfo.LocalHostName()
set ipaddr=$system.INetInfo.HostNameToAddr(host)
do ##class(Config.Startup).Get(.p)
set url="http://"_ipaddr_":"_p("WebServerPort")_"/csp/sys/UtilHome.csp"
kill p,host,ipaddr
quit
zw url
just tested it. works excellent !
You can map PACKAGE [aka. SQL Schema] to another Namespasce (not a single table)
e.g. Bna.Utils to namespace %ALL or just to a specific namespace
so you have Table and Class (= the code) available.
.png)
If you want to share also DATA you need to map also the related Global
I met some issues in the past, where I miss any idea of how to check
In Windows it's netstat running from CMD as Admin
My preferred option: netstat -anop TCP (shortened)
C:\WINDOWS\system32>netstat -anop TCP Aktive Connection Proto Lokal Address Remote Address Status PID TCP 0.0.0.0:21 0.0.0.0:0 LISTEN 4924 TCP 0.0.0.0:80 0.0.0.0:0 LISTEN 4 TCP 0.0.0.0:135 0.0.0.0:0 LISTEN 1384 TCP 0.0.0.0:445 0.0.0.0:0 LISTEN 4 TCP 0.0.0.0:623 0.0.0.0:0 LISTEN 10684 TCP 0.0.0.0:1972 0.0.0.0:0 LISTEN 8004 TCP 0.0.0.0:2179 0.0.0.0:0 LISTEN 2348 TCP 0.0.0.0:16992 0.0.0.0:0 LISTEN 10684 TCP 0.0.0.0:41773 0.0.0.0:0 LISTEN 11408 TCP 0.0.0.0:42773 0.0.0.0:0 LISTEN 11408 TCP 0.0.0.0:49664 0.0.0.0:0 LISTEN 848 TCP 0.0.0.0:49665 0.0.0.0:0 LISTEN 652 TCP 0.0.0.0:52493 0.0.0.0:0 LISTEN 11408 TCP 0.0.0.0:52773 0.0.0.0:0 LISTEN 9476 TCP 0.0.0.0:58091 0.0.0.0:0 LISTEN 5156 TCP 0.0.0.0:58816 0.0.0.0:0 LISTEN 964 TCP 127.0.0.1:2375 0.0.0.0:0 LISTEN 11408 TCP 127.0.0.1:5354 0.0.0.0:0 LISTEN 4852 TCP 127.0.0.1:5905 127.0.0.1:58786 ESTABLISHED 5156 TCP 127.0.0.1:5905 127.0.0.1:58787 ESTABLISHED 5156 TCP 127.0.0.1:5905 127.0.0.1:58788 ESTABLISHED 5156
In Ubuntu (container) I tried netstat -at4p for a similar result while connected to SMP
:~/dev$ netstat -at4p Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.11:37033 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:52773 0.0.0.0:* LISTEN 476/httpd tcp 0 0 0.0.0.0:1972 0.0.0.0:* LISTEN 453/irisdb tcp 0 0 localhost:1972 localhost:44998 ESTABLISHED 1745/irisdb tcp 0 0 localhost:44998 localhost:1972 ESTABLISHED 479/httpd tcp 0 0 localhost:1972 localhost:45014 ESTABLISHED 1746/irisdb tcp 0 0 localhost:1972 localhost:44992 ESTABLISHED 1744/irisdb tcp 0 0 localhost:44984 localhost:1972 ESTABLISHED 479/httpd tcp 0 0 localhost:1972 localhost:44954 ESTABLISHED 1741/irisdb tcp 0 0 localhost:44992 localhost:1972 ESTABLISHED 479/httpd tcp 0 0 localhost:44968 localhost:1972 ESTABLISHED 479/httpd tcp 0 0 localhost:45014 localhost:1972 ESTABLISHED 479/httpd tcp 0 0 localhost:44954 localhost:1972 ESTABLISHED 479/httpd tcp 0 0 localhost:1972 localhost:44984 ESTABLISHED 1743/irisdb tcp 0 0 localhost:1972 localhost:44968 ESTABLISHED 1742/irisdb :~/dev$
might look similar in other *UX
$storage refers to the partition which holds only pointers into global buffers.
while the content of the global goes only to global buffers and
consumes no permanent space in your partition.
"TO_DATE('12/15/2023','MM/DD/YYYY')" is an SQL function call not a value
could you try straight ODBC format "2023-12-15" ?
Converting and using $H date format might be a different option
eventually terminal in *UX may end just with $c(10)
could you try to append some blank + semicolon ?
:alias enablebi do EnableDeepSee^%SYS.cspServer("/csp/"_$zcvt($namespace,"L")) ;You seem to lose the last character
I agree with @Brett Saviano:
$$$ ...refers to some #define ... and is a compiler directive
I tried:
USER>:alias wi write "/csp/"_$zcvt($namespace,"L")
USER>:wi
write "/csp/"_$zcvt($namespace,"L")
/csp/user
USER>:alias wi1 write "/csp/"_$$$LOWER($namespace)
USER>:wi1
write "/csp/"_$$$LOWER($namespace)
WRITE "/csp/"_$$$LOWER($namespace)
^
<SYNTAX>
USER>👍 SUPER 💪
from my local Class docs:
GetGlobalSizeBySubscript
This method will return the size of a global based on the number of database blocks the global resides in.
so you get blocks * blocksize ===> ALLOCATED size
Depending on Packing as %GSIZE shows The difference might be significant
Summary by Subscript will most likely show higher values as a pointer block
or even a data block (eg. with 8kb) may contain more than a single subscript
depending on the Global structure.
Take the default top subscript (aka. IDKEY) for Caché classes (Integer, >0) as an example
tSC is mostly a %Status object
with enough experience Zwrite tells you all you want and need to know
$SYSTEM.Status.DisplayError(tSC) is easier read. a matter of comfort
ChatGPT is just stupid and has no idea of IRIS / Caché
A TABLE will by default never have the same name as the GLOBAL that stores the content
>>>> HS.IHEX.RecordHistory and the global ^HS.IHEX.RecordHistory <<<<<
HS.IHEX.RecordHistory is definitely not a handcrafted table.
Thanks for the recognitions! 😀🖐
It's a very strong motivation to be productive.
Often to distract from personal struggles.
Many thanks to the DX+OEX+GM team for their help! 👏 🌸🌼🌹🌻💐
Hi @Daniel Aguilar
for every DB you have a default collation that is tied to DB:
you can see it in SMP System > Configuration > Local Databases > Database Properties.png)
this is the standard.
If the collation of your source server is Spanish, German, Fench, , ....
the DB may have used this national collation as default.
On your target serve you need to have this collation to be installed.
in SMP System > Configuration > Locale Definitions you see what is installed on your Caché instance.png)
You may need to add the missing collation table to your Caché instance:
.png)
in the previous screenshot you see the namespace as a blue link
and the names of the DB in the yellow highlighted
Just as described in your question
check if the date object var d=new Date();
is inside your routine or at least globally defined
like this
.png)
take a look to Mgmt Portal and check NAMESPACE definition
to see DB-file vs. Namespace.
In your case, I'd create a new namespace based on your DB-file to avoid conflicts.
>>> the same Db for Routine (=code) and Globals
Big CONGRATULATIONS to all winners !
It's a pleasure to follow your contributions.