I could imagine 2 variants:

  • creating a "clone" of the CSP based "synchronous" Queries we know from C/E to have the unique session
  • just using xDBC based tools such as Squirrel, DBeaver, WinSQL, ..... which is probably better since SMP mimics ODBC mode, but doesn't use real xDBC connection
  • external xDBC provides a 1:1 connection as a terminal session would do.     

You are CORRECT
In Caché/Ensemble SMP uses straightforward CSP and you have %session object and %request ...
I verified IRIS 2022.2 and 2022.3:
- SMP runs Queries differently and  neither %session nor %request is visible
by variable »  %inBackground = 1 it indicates working in background
and once completed the Job is gone, but SMP is still around

I use the suggested common method for length calculation

/// write ##class(Golf.Task2).length()
ClassMethod length(
	class = {$classname()},
	method = "Build") As %Integer
{
  #dim methodObj As %Dictionary.MethodDefinition
  set methodObj = ##class(%Dictionary.MethodDefinition).IDKEYOpen(class, method)
  quit methodObj.Implementation.Size
}

also in terminal:
USER>p
         s (b,h)="*" f L=f:-1:1  w ?L,b,! s b=b_h_h
         F i=1:1:f K s,c S ($P(s," ",f-i+1),$P(c,"#",i*2))="" W s,c,!
 
 
 

You are on the right path, I use deuw and see

some differences grown by history

  • sort ÄÖÜ + ß (sharp S) after Z as by ASCII
  • sort Ä after A, Ö after O, Ü after U  but before Z
  • ignore trema. sort Ä=A, Ö=O, Ü=U   no idea about ß

4 and 5 may contribute to the lastest nonsense of German Language Authoroties
that introduced sharp_S also in uppercase.
<we lived since ever without it and didn't miss anything>

Your case:
You can't change the collation of an existing Global
But you can apply a different collation before first use in SMP
to overwrite default collation of the  DB
System > Configuration > Local Databases > Globals > New Global 

So you set up a global ^TEMP3  with collation German3
and run MERGE ^TEMP3=^TEMP  and have a new collation.


Some time back I set that to have different index collations for
German, Hungarian, Italian, French, Slovenian, ...
see my post Multi Language Sort

Hi @Mark Charlton 

I started a new repo with a WORKING template.
then took a copy of your classes in a valid directory structure
Class MC2022AOC.Day10  should be stored ic src/MC2022AOC/Day10.cls

You may clone this repo to continue. Anyhow Quality Check is happy now.
intersystems_iris_community/qck-WIT-AOC2022
repo: rcemper/qck-WIT-AOC2022