Ben Spead · Jan 14, 2022 go to post

@José Pereira , thank you for sharing!!  Please note that you have a small typo in your title - pratical > practical (no worries, if I wrote a D.C. article in Spanish you would lose count of all of the typo's ;) ).  

Ben Spead · Jan 14, 2022 go to post

Quick note that the Announcement has been updated to include links to the specific course PDFs as well as links to the online version of those courses where one is available.

We are still looking for some more people from our larger implementation community to take part in this Beta Test - please sign up today if you haven't already done so! (and THANK YOU in advance :) )

Ben Spead · Jan 12, 2022 go to post

Nice job everyone - congratulations and thank you for your contributions!! 

Ben Spead · Jan 11, 2022 go to post

You should still be able to get into the instance while it has an expired key ... you just can't make multiple simultaneous connections to it.  You can also grab the iris.dat files from the file system (which actually stores the globals) and then mount them to another instance.  Or you can just upgrade that instance to a new version of the Community Edition (which is likely the easiest approach)

Ben Spead · Jan 5, 2022 go to post

Rob ... this is incredibly rich - thank you for taking the time to write all of this up!!

Ben Spead · Dec 17, 2021 go to post

It should be safe to edit manually as long as you are not changing the piece numbers or changing the order around.  Simply changing the property name within  <Value>...</Value> of the storage definition should be fine if it is no longer used at all.  In our case, we have had instances in the past where we needed to change a property name and rather than creating a new property and migrating the data it proved to be safe and much more efficient to change the property name in both the property definition and the storage definition (as well as all of the places in the source code which refer to it).  The nice thing about this approach is that we've been able to simply do a Find/Replace in all of the source code and carefully review the diffs before submitting.  

If others are aware of gotcha's when changing the storage definition Value, I would be interested in hearing them.

Ben Spead · Dec 16, 2021 go to post

as Vivian explained, you can delete the property definition and then change the name in the storage definition to make it clear that that slot should be ignored.  This of course should be done while keeping versions of everything in source control so that the reason for the change is documented and discoverable in the future should someone need to understand why the property was removed.  

Ben Spead · Dec 10, 2021 go to post

Thanks for quick fix @Evgeny Shvarov!!  Also, thanks for the details that some types are not supported, that is good to know.  At this point I think I am good with letting it take it's best guess and then editing the class afterwards if needed.  With SQL LOAD coming hopefully there will be less need to one-off utilities that do this but I am thankful that it was available for what I needed this week!!

Ben Spead · Dec 9, 2021 go to post

Wow - this looks like it is going to be an incredibly helpful feature!!  Thank you for pointing out the new docs on it :)

Ben Spead · Dec 8, 2021 go to post

Partially answered my own question ... if I edit the auto-generated class' When property and set it to %Library.DateTime, I can then call the generated Import() classmethod of the auto-generated class and import will succeed.  So I am able to push forward ... is this the intended path to do this?  

Should I create an issue for the DateTime column to be property set as a DateTime object and not a Date object?  

Ben Spead · Dec 8, 2021 go to post

There appears to be an issue on Windows as it doesn't strip out the ":" from the filename when auto-generating the class( https://github.com/evshvarov/csvgen/issues/13). 

But beyond that I am stuck because is autodetecting my data/time column as Date and it is failing validation:

USER>s sc=##class(community.csvgen).Generate("C:\temp\badge\data.csv",,"my.data") 
USER>w $system.Status.GetErrorText(sc)                                          
ERROR #5540: SQLCODE: -400 Message: ERROR #5002: ObjectScript error: <ZODAT>zWhenOdbcToLogical+1^my.data.1  

This is that the file looks like:

What,Where,Who,When,CardNum,Fac/CustCode
Granted Access [31358],"MYSPACE ""IN"" READER","Smith, John",12/06/2021 03:46AM,31358,314

So it is blowing up when it tries to read "12/06/2021 03:46AM" into the When field, which it auto-generated as:

Property When As %Library.Date 

I could obviously hand-correct the auto-generated class but that wouldn't help if it just re-generates it the wrong way again when I try to do the import.

Any suggestions on a way around this?  Is there a way to force it to %Library.DateTime?  

Thanks!

Ben

Ben Spead · Dec 7, 2021 go to post

Well done to the winners!  Thank you for participating in the contest and contributing to our community as a result!!

Ben Spead · Nov 30, 2021 go to post

In case this is helpful for any other AOC noobs, the '130669-ab1f69bf' code doesn't go in the sponsor code field that you will be shown when you first create an account.  You need to click on the 'Private leaderboard' link in red to the right of that field, and that will bring you to a new page where you can enter the above code.

Ben Spead · Nov 23, 2021 go to post

Don't worry about it - I have been writing ObjectScript code for 18 years and I had no idea about this method - I have always done it the way you did in your example :)  Thanks for asking the question so I could learn something new as well!