iSeries SAVF tool

Part of working in the iSeries footprint entails exchanging programs and data between machines. Something that has always messed me around is the fact that whilst an iSeries (or AS/400) save file is forward compatible (i.e. something saved on V2R0M0 will, with some caveats, restore on any machine with a greater version), it is not generally possible to restore something saved on a higher version to a previous version machine. I understand that IBM improve their machine overtime, and that a program compiled for a particular version will (may?) be binary incompatible with a prior release; however I am reasonably sure that the structure and format of DB2/400 files hasn't changed since the System 38 in the early eighties. So why can't I restore files? Further, IBM has gone to enourmous lengths to obfusticate any stuff inside of a save file, up to and including writing the save file data to "read ony" memory space. Fortunately, when the save file no longer lives in the QSYS data space, the gloves can come off.

Thus, the attached tool is the result of this frustration: It will "patch" a savf to a different version, allowing objects saved on VxRyMz to be restored on a previous version - notwithstanding what target version was specified in the original save command. Note that this is not foolproof, and certain objects (especially programs) may well not restore on the earlier version specified. But it might work for you. It can also extract data from an file inside of the savf file. 

WARNING - This tool alters the content of a save file, and there is no guarantee that the alteration will not break the file. Back it up or copy it before use!

Due credit to Leif Svalgaard without whom this tool would not be possible! I dunno if he is still active, but as at 2014 his web site was still up. He is a really really clever bloke!

 

Notes on use:

readSavf.zip

Print viewSitemapMailform