Robert Cemper · Jan 31, 2022 go to post
set def=##class(%Dictionary.CompiledClass).%OpenId("Sample.Person.JSON")
write def.SqlSchemaName
Sample_Person
write def.SqlTableName
JSON
Robert Cemper · Jan 31, 2022 go to post

example:

set def=##class(%Dictionary.CompiledClass).%OpenId("oex.Dir")
write def.SqlSchemaName
oex
write def.SqlTableName
Dir 

Robert Cemper · Jan 27, 2022 go to post

A serious problem I also struggled with.
I think inside IRIS there is not much chance to get across the MAXSTRING limit.
 

Robert Cemper · Jan 21, 2022 go to post

Hi Werner,
The default of Namespace USER is to be mapped as Interoperability (aka ENSEMBLE) - enabled.
If you create a new namespace, deselect the Interoperability-Enabled checkbox. 

You may of course also just delete Namespace USER and create a new one.
OR remove the mapping directly from iris.cpf. 
 

Robert Cemper · Jan 21, 2022 go to post

Big THANKS to @Yuri Marx  (getting red cheeks) 
You confirm, that my intention to pass along the accumulated experience works.
And I'm glad I can contribute to this community which I had in mind (~ 15years back)
but couldn't realize myself. 
So I have also to thank @Evgeny Shvarov and his team that made my "dream" true and successful.
  

Robert Cemper · Jan 20, 2022 go to post

typo in first (mailed) version:  DO $SYSTEM.SQL.Shell()   
dot instead of colon.

Robert Cemper · Jan 19, 2022 go to post

from bash or whatever run csession to log into your instance.  then

user>ZN "myNamespace"
nsp>do $system.SQL.Shell()
nsp>>select * from Ens_Util.Log where ConfigName='SFTPTo.HQ.SAFETRACE.DFT' AND Text LIKE '%Put Stream%' and TimeLogged LIKE '%2021-10-16%'


and off it goes

Robert Cemper · Jan 16, 2022 go to post

But you can install a 2nd (new version) Instance on your server in parallel and mount the OLD iris.DAT
just as an additional DB. And then copy whatever you need. 

Robert Cemper · Jan 13, 2022 go to post

OK!  I just learned from @Benjamin De Boe  on Discord
LOAD DATAQ is a DDL statement!
Not a SQL statement.

So Goodbye to SQL-Functions, ClassMethod_Procedures, and whatever nice stuff.
Therefore VALUES clause is just a borrowed syntax without deeper meaning! 

I start to doubt the advantage of this feature.
 

Robert Cemper · Jan 11, 2022 go to post

if you have access to WRC you may ask for an evaluation license
(also for community edition)

Robert Cemper · Jan 10, 2022 go to post

SQL needs to write to a persistent element.
A TRIGGER may work eventually if it runs BEFORE data validations - not sure
OR you fiddle around the data type and do the conversion there in the Code Generator for ClassMethod OdbcToLogical to accept a 2nd format,  :-((
 

Robert Cemper · Jan 9, 2022 go to post

If the table is based on an IRIS Class (ii.e. not generated by DDL)
You may try 

/// helper for input
Property InputDate As %String;
/// real used date
Property MyDate As %Date [ SqlComputeCode = { set {*} =$ZDH({InputDate},4)},
                            SqlComputed, SqlComputeOnChange = InputDate ];
Robert Cemper · Jan 9, 2022 go to post

in a normal SQL INSERT using TO_DATE('12/5/1948','DD/MM/YYYY') works inside VALUES()
just a guess for LOAD DATA

Robert Cemper · Jan 3, 2022 go to post

As you can project ANY ClassMethod as SQL PROCEDURE I see no obvious limit to your intention.
Call yoru JAVA from IRIS with any of the available interfaces   (or nodjs, or Python, or .....)
inside a ClassMethod that you present them as  SQL_PROCEDURE.

Robert Cemper · Jan 3, 2022 go to post

Hi! though this looks like a nice feature it is not so useful if not portable and
even available in ZPM.
I use since ~ever~  my 3..5 char abbreviated extensions in %ZLANG...*
to add such abbreviations I have even created my helper to add it o the fly
Helper for ObjectScript Language Extensions with OEX + Video

And sorry where is the difference between :sql  to ZSQL or zsql  (insensible to any mix of case) ?
In addition in %ZLANG* your shortcut can also be a multiline function. 
 

Robert Cemper · Dec 27, 2021 go to post

Correct:  Your version is: 
 Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2017.1 (Build 792U) Mon Mar 20 2017 19:19:52 EDT
Backport of %JSON classes to Caché is not available

Robert Cemper · Dec 26, 2021 go to post

Whoever provided your Cache and Ensemble, 2018.1
should be able to do it. If he has a contract

Robert Cemper · Dec 26, 2021 go to post

you get access if your product has a service contract with ISC
WRC = Worldwide Response Center

Robert Cemper · Dec 25, 2021 go to post

2021-12-25 22:24:55 UTC - DC Leaderboard final update
Only 4 of 22 registered community members  have  completed all 25 exercises and reached 50 stars  

My own contribution at pos. #3 was disqualified by using Embedded Python.