nick@goya.com.au
Files
RefreshFM consist of three main files. The master file, which manages the process, and two control files that reference the data and do the imports.
The master file is called "RefreshFM.fp7". When you first set up your solution, RefreshFM generates the two "control" files called "Control_New.fp7" and "Control_Old.fp7". These act like Data Separation Model files, in that they contain no actual data themselves, just references to other Tables.
The control files are generated automatically as part of the setup process and are saved into the main RefreshFM.fp7 file whenever it's closed so that you never need to see the details of these two files.
The control files have a File Reference for every old and new file in your solution. For each File Reference, there is a list of Table Occurrences for every Table in the Old and New files respectively. The import script then runs in the New control file, and imports the data from the Old control file.
Configuration
The first time you set it up, RefreshFM will generate the Control_Old.fp7 file, and you put into it all of the File References and Table Occurrences. Then you do the same for the Control_New.fp7 file. And finally you create a script in the new file to do the import.
You can test the import process and check that everything has worked. You can compare the serial fields before and after and check record counts to make sure everything imported exactly as it should.
The import
Before the import begins, RefreshFM copies the live data files to a working directory. This means that at any point if you're not satisfied that the import has completed successfully, your old files with the live data haven't been touched, and you can simply resume using them.
If the import does complete successfully, it moves the original files to a backup folder before copying the New files to the original folder. So there is next to no risk of data loss.
Distribution
There is also a distribution licence that allows you to customise RefreshFM with your own details and has lots of options for end user updating of solutions.