Most welcome - good luck with the final conclusion of your work!
- Log in to post comments
Most welcome - good luck with the final conclusion of your work!
may I ask why you would want to do this? What is the downside of the methods all being in the same class?
I don't think there is any way of doing this other than manually. I think you'll need to create a new class and then copy the method definition into the new class.
Thank you @Matthew Giesmann !! I know a lot of work went into this effort, and that our beta testers have been using this successfully for many months.
Everyone - please make sure to provide feedback, especially if you see any issues. After a period of dual-use we will be retiring the old UI completely so if there are reasons users need to keep using the old UI for some reason we need to hear about the details ASAP.
Thank you @Gertjan Klein - that did it! (note, I fixed the missing ) in my example ... obviously I wrote that in my browser and not my IDE ;) )
Thank you @Jeffrey Drumm !!!
Are you exporting it as OBJ-only, or are you okay exporting it for a previous version which they will then load into their instance and compile?
E.g. if you use Do $System.OBJ.SetQualifiers("/exportversion=2017.2") it will export the code in Caché 2017.2 format. *However* this will not catch if you use syntax or updated APIs which were not supported in 2017.2. You should really get a copy of the target version of software from the WRC (kits or containers) and at least do a compilation test there.
wow - what an incredibly in-depth tutorial! thank you @Yuri Marx for the time you took putting this together for the Community!
very nice article! Nice to see this topic addressed to raise awareness with new users on how this works :)
thanks for the input Robert ... %All is powerful but won't work for me in this scenario.
300 unique packages makes this approach unwieldy
Thanks Clark - this is one of the approaches I hadn't thought of previously
We are using %ALL for some other things but unfortunately it won't apply in this case. Specifically, this is for a HS instance where we need to move auto-created classes into a new routine DB. So I can't add a mapping for each and every package (300 packages).
thanks Tim - this is along the lines of what I was thinking about. Much appreciated!
Thanks Chad - I think that this would be the lowest impact overhead approach if I don't copy the definitions directly via a clone or the globals
Thanks Vik ... that sounds like a good approach to play with!
Thanks Matt, I am trying to avoid using the OS as the middle-man in this case as we have 300+ namespaces to do this on and so should be scripted. I can create a %Method that would do this but was hoping for a quick command that could just do the transfer
seriously! it's amazing how much knowledge there is to be gleaned within this community :)
Bravo gentlemen!! thank you for your continued investment in our community :)
Another very cool aspect of the feature :) So it looks like this is just a built-in alias which ships with InterSystems IRIS.
nice intro - thank you!
@Dmitry Maslennikov - thank you! Docs reference? Do you know what the ":" syntax is?
Holy cow @Chad Severtson, that's really cool! Do you know when that was added / where I can find more information? I don't see it in the docs on SQL Shell (https://docs.intersystems.com/iris20221/csp/docbook/Doc.View.cls?KEY=GS…).
Also, what is the ":" shorthand for and where else can it be used?
thank you for sharing the answer :)
Thank you for circling back on this and sharing your solution Tim :)
here it s in practice for those interested:
USER>d $system.SQL.Shell() SQL Command Line Shell ---------------------------------------------------- The command prefix is currently set to: <<nothing>>. Enter <command>, 'q' to quit, '?' for help. [SQL]USER>>select $zversion 1. select $zversion Expression_1 IRIS for Windows (x86-64) 2022.1.2 (Build 574U) Fri Jan 13 2023 15:08:27 EST 1 Rows(s) Affected statement prepare time(s)/globals/cmds/disk: 0.1884s/34,356/143,526/0ms execute time(s)/globals/cmds/disk: 0.0007s/0/394/0ms cached query class: %sqlcq.USER.cls1
nice! Thanks ... I didn't know you could do things like Select $zversion :)
A great primer on a classic design pattern used in ObjectScript. Thanks Robert!
Congrats to the winners and thank you to everyone who took time to contribute :)
glad to help!
I may be mistaken, but I believe that "Apply" will persist the change and keep you on that screen, while "Update" will persist the change and close the screen. Does it seem to work that way? (I don't have a TC instance here to test with a.t.m.)