Question
· Jul 21, 2020

moving code between IRIS and CACHÉ

I face the challenge to have a bunch of classes on IRIS and CACHÉ in parallel
until all systems are migrated to IRIS.

Applying changes in Caché development environment and moving  to IRIS is no problem

But if I have to apply a fix on IRIS there seems to be no clean way back to Caché. My actual workaround is Copy/Paste from IRIS_Studio to Caché_Studio.
That works for 1 Class or a few but not for a full package.

Has Atelier or VScode a better solution for this situation?

Pls. suggest.

Discussion (3)3
Log in or sign up to continue

Unfortunately, I don't have yet, any good solution for now, as store your sources in XML format. You can export them with /exportversion=cache2018.1  flag, with your Studio SourceControl class. IRIS will upgrade source code for Caché and downgrade when you export them with the flag.

Btw, you can have sources in XML and use the modern VSCode-ObjectScript editor.

Working with customers who use Cache based products, while myself using primarily IRIS based products I have run into this difficulty more than once.

The only work-around I have found has been to manipulate the header of the export file generated by an IRIS system before importing into a Cache based system, not exactly easy or guaranteed to work.

The other option is to keep your code exported in an external code repository and then after you make fixes to the code re-deploy the changes to IRIS and Cache.

Hi Robert,

Have you tired to export in UDL format (the UDL format is the document that we edit in Studio, VSCode, or in Atelier) via classmethod ExportUDL from the class %SYSTEM.OBJ

https://docs.intersystems.com/irisforhealth20201/csp/documatic/%25CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25SYS&CLASSNAME=%25SYSTEM.OBJ#METHOD_ExportUDL

To import you can use the classmethods Load, LoadDir  or any other method that load code from disk,. Or you can import from Studio to.

https://docs.intersystems.com/irisforhealth20201/csp/documatic/%25CSP.Documatic.cls?PAGE=CLASS&LIBRARY=%25SYS&CLASSNAME=%25SYSTEM.OBJ#METHOD_Load

For me worked export from:

IRIS for Windows (x86-64) 2020.1 (Build 215U) Mon Mar 30 2020 20:14:44 EDT

And import in:

Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2017.2.2 (Build 865U) Mon Jun 25 2018 10:50:02 EDT