You may want to take a look at my example in OEX of running
a Websocklet client in Node,js controlled and exchanging data over Global access
using IRIS-NativeAPI-Nodejs
Related Article in DC
- Log in to post comments
You may want to take a look at my example in OEX of running
a Websocklet client in Node,js controlled and exchanging data over Global access
using IRIS-NativeAPI-Nodejs
Related Article in DC
So in worst case you just deal with 27 "locations" for the next years.
Though I have no idea how overseas areas are handled in FR and NL (you are closest).
Good luck !![]()
I did something similar a few years back for an ISC internal project.
I required 2 tables to achieve this
- mapping of the location to timezone code (geographic coordinates are often misleading, STATIC)
- rules and offset from UTC (daylight Saving Y/N, the window when to apply,...) might be flexible
- $ZTZ is your friend and the Docs are really excellent also for special cases
A further complication is mobile use.
example:
- You go to Summit in Seattle. (UTC-7)
- you need to arrange a concall with a customer in Amsterdam (UTC+2) (CEST!)
- and meeting in Nov. (UTC+1) back to normal time
- And you need to know the time zone used by your notebook (local or home or other?)
For the notebook, I used some JavaScript as the app was written in ZEN (10 yrs.back)
and it was mine and I could control it.
see more in my Article Global Time Management
I took a look into Caché 2018.
%DisplayFormatted is still useless for your case.
It calls the method %Display() which allows having a different delimiter:
It just doesn't use or support it. It is forgotten until today.
So default $C(9) "TAB" is used.
You may need to open the output file yourself and then
use it with a %Next Loop writing it line by line.
So you may also control your headers.
It looks like this method was not foreseen to be used in real applications.
in addition, you may force your column headers in the SQL statement
set sql = "select ID as ""row"", name as ""myname"" from MyClass"
Finalement!
Alors on dance!
Thanks for this video and get moving faces to the mostly invisible actors in DC, OEX, GM
It would be great to have a link to a personal video also in DC accounts.
???
From your description, it is obvious that you write ALL global streams just to default ^CacheStream.
To separate them you may set individual Globals for streaming (e.g depending on use-case)
Class %Library.GlobalBinaryStream has this parameter + property:// Default location: can be overridden at run-time
Parameter STOREGLOBALNAME = "^CacheStream"; /// Root is Global Location (name and top subscripts)
Property StoreRoot As %String(MAXLEN = 5000) [ InitialExpression = {..#STOREGLOBALNAME}, Private ]; Property rollback As %String [ MultiDimensional, Private ];
You can change this default using the method
{
Do ..Clear()
Set ..StoreRoot=value,i%%Location=value
Quit $$$OK
}
Did you check the use of CPIPE ?
Open Exchange Execute Server Commands from Caché / Ensemble / IRIS
Just to complete it:
iris.cpf could be understood as kind of .ini file that is loaded during system start. Regular access during normal operation would be a desaster to perfomance.
Default Samples.Person use the implicit ID.
You need to change or write your own Method %IdSet or Define your own property as ID
Suggestion:
add
Property Val as Serials.Value;
in your main class
andClass Serial.Value
Property Single as %String;
Property Tsh as %String;
Property T4 as %String;
Property T5 as %String;}
in SQL you see it as columns
Val_Single
Val_Tsh
Val_T4
Val_T5
many thanks, for teaching this lesson on basics.
Correct.
That's what $query() was designed for. Roughly 55+ years ago. (with a different name)
https://docs.intersystems.com/iris20221/csp/docbook/Doc.View.cls?KEY=RCOS_fquery
$QUERY() needs a Global reference:
I have edited my reply after the first send
and better use %node as indirection is context sensitive.
You just miss setting node to the found value and the indirection for the node reference
Set node = $Query(^TestGlobal("NotConfigured"))
WRITE !,node
FOR {
SET queryary=$QUERY(@node)
QUIT:queryary=""
WRITE !,queryary
SET node=queryary
}
to avoid issues with variable scoping use %node instead of node for proper work of indirection
Thank you Mark!
And thanks for the hint on help(iris).
You hit the point:
The post was mainly meant as an interim filler until some more precise doc is available.
And also as a follow-up to my previous published exercises.
And for the actual contest, I needed a subject nobody else touched on before.
Does NewHeaderId allow NULL or is it required ?in addition, you could try '' instead of NULL
I joined with an article and a video.
Might be an inspiration for other writers.
CloudStudio is now also available with Docker Support and on Online Demo Server
Make sure you have git and Docker desktop installed.
Clone/git pull the repo into any local directory
git https://github.com/rcemper/Dataset-OEX-reviews.git
Run the IRIS container with your project:
docker-compose up -d --build
http://localhost:42773/cloudstudio/CloudStudio.Index.cls
Thanks for asking!
you get <FILEFULL> in the directory e:\eos\ and this is full. Whatever file you write there.
could E:\ be your journal location ? or temp ?
Thanks for info1
to use ECP you need a MultiServer License. Entree (the smallest, cheapest) is note suited for it.
Between 2 servers you may use this:
Table creation is excellent !
Just used it, works perfect.
Version 0.0.2
Improved Statistic #5 "Winner's Profile" as Rank vs. Contest table
Thanks for the feedback.
I'm fine, thanks for asking!