Robert Cemper · Jan 18, 2023 go to post

expression into :var   stores the content of the expression into a local host variable var 
in your case you seem to get from STRING(...) 2 expression stored in to variables CODE  and  VALUE
this construct is typical for embedded SQL

Robert Cemper · Jan 18, 2023 go to post

You should really read the docs in detail

LOAD DATA ......<filename>
 'D:\Intersystem\IRISHealth\Mgr\'   is just a directory, not a file
and you need all access rights
I would expect something like 'D:\Intersystem\IRISHealth\Mgr\tablename.txt'
 
Did you use $system.SQL.Shell() to launch it ?

Robert Cemper · Jan 17, 2023 go to post

from the command line you may start SQL shell  >  DO $SYSTEM.SQL.Shell()
and then use LOAD DATA  as described here LOAD DATA
 

Robert Cemper · Jan 16, 2023 go to post

I found this during the cleanup of old files. 
Created when DeepSee was announced at some German Symposium ages ago.

Robert Cemper · Jan 2, 2023 go to post

Looks like an encoding issue.
Encoding in Studio is most likely different from your terminal settings.
And phyton has no idea about your surface settings.
Run this line in Studio and in Terminal and you see what's happening.
Matching ends after the end of 7bit ASCII encoding.

f j=0:1:64 w ! f i=0:1:63 w $c(j*64+i)

Robert Cemper · Dec 26, 2022 go to post

The content of Column COMMENT is expected to be $LB() format.
The most likely reason is : this property contains some ages-old junk 

This works:

SELECT 
ID,
CPFName,
%INTERNAL(Comments),
Name, Product, SectionHeader, Version
FROM Config.ConfigFile

Cache for Windows (x86-64) 2018.1.7 (Build 721U)

Robert Cemper · Dec 25, 2022 go to post

Now also the Leader of our ranking has completed

Thanks to @Kevin An
- His code passed successfully Code Quality
- And the checks with test data set 1 and set 2 are OK
Congratulations!

Robert Cemper · Dec 25, 2022 go to post

Alea iacta est !
The race is done.  We see 3 leaders and I have checked the first repo.
Thanks to @Robert Barbiaux:     
- His code passed successfully Code Quality
- And the checks with test data set 1 and set 2 are OK
Congratulations!

Merry Xmas to all members of the Community!
 

Robert Cemper · Dec 24, 2022 go to post

@Kevin An ,  
I really appreciate your suggestion. For a long list of candidates, 
BUT. with only 3..4 possible participants in the winning ranks the effort is acceptable.
So it provides for me a deeper insight into your creativity.
- AoC is the first filter >>> "outsourced"
- Code Quality is the second >>> "normalized and automated"
- Calculations + Results is the last. >>> by own hands for now.
I take this burden with pride.
Though this personal view shouldn't prevent anyone
to create a better template for NEXT year.
 

Robert Cemper · Dec 24, 2022 go to post

The final day of AOC  is approaching.
It is still 1 day to reach the magic 50 stars.
I plan to take my last ranking on my morning (CET) of Dec.26
Good luck and Merry Xmas.
Test data + results on GitHub will be updated as​ I have them​​​​​ available.

Robert Cemper · Dec 23, 2022 go to post

I have published 2 sets of test data on GitHub with results verified by AoC.
You may use it to check the independency of your code from specific input.
That's what I will use for verification of the correct calculation.

HTH

Robert Cemper · Dec 23, 2022 go to post

It's the classic impedance mismatch:

  • AOC goes for time and numbers.
    For the numbers, you may calculate them, gamble, get inspired, or ...
  • this contest goes straight for ObjectScript and I will verify the calculation
Robert Cemper · Dec 20, 2022 go to post

BIG THANKS to @Dmitry Maslennikov for your detailed analysis!
To me, this looks like Retro-Trip.
Back to NMP world  (No  Mouse Please)  with Terminal, Telnet, Console Interface.
It's a big chance for a broad revival of all the old command line utilities
that are still around and working well. (some still using dot syntax).

And thanks also to @Guillaume Rongier to underline the motivation
- "breaking down the monolith"
- "make the product more modular"

Other industries have shown us what that piece-by-piece dropping means.

Robert Cemper · Dec 18, 2022 go to post

Hi folks !

It's just another week to finalize Advent Of Code 2022. 
Though the ranking didn't change much recently there are still 14 exercises to be done.
- But keep in mind that the ranking is just the first hurdle to take.
- Next, your code in ObjectScript has to be provided in a public repo on GitHub
- Besides the formal verification with Code Quality (use the provided template)
also, the calculations will be verified with a neutral dataset that is not yours.

So good luck and happy coding.

Robert

Robert Cemper · Dec 17, 2022 go to post

but I found no  .github/workflow/ as in the official template. also module.xml doesn't match the content.

Robert Cemper · Dec 17, 2022 go to post

is there a line limit in code quality?
2000 line by class * 1 class by day over 10 days is not impressive
???? I didn't get your message!
 

Robert Cemper · Dec 13, 2022 go to post

Your example uncovers that you are mixing up 2 different things

#1)
There are Objects that extend  %RegisteredObject  (or some derivate of it.
properties in these classes get automatically generated methods.
like the ....Get you  @Eduard Lebedyuk  wrote this related article.

Useful auto-generated methods
you find those properties also in the realted %Dictioary classes.
 

#2)
Your example is a %DynamicObject and something total different.
There is the JSON style object
but it has nothing to do with the classic object architecture
implemented in Caché and IRIS.
Mixing of methods between those 2 implementations is just not foreseen.
Example:
%DynamicObjeckts have an Iterartor. Unknown to %RegisteredObject.
and many more

Robert Cemper · Dec 13, 2022 go to post

Use BREAK with a postcondition depending on Username 
or some other personal switch (eg. PPG)

Robert Cemper · Dec 11, 2022 go to post

It seems there are different Studio versions around that cause confusion,

Could be a Keyboard dependency ? 
I use a German keyboard  where # is close / on a US keyboard,
might be * or ! on a French keyboard  (just guessing)