Since the practical limit to the number of logical files you should combine into a SuperFile is about a hundred, you'll need to periodically run a process that physically combines all the incremental logical files and combines them into a single logical file that replaces them all, like this:
IMPORT $; IMPORT Std; OUTPUT($.DeclareData.SuperFile2,,'~$.DeclareData::SUPERFILE::People14',OVERWRITE);
This will write a new file containing all the records from all the sub-files in the SuperFile.
Once you've done that, you'll need to clear all the component SuperFiles and add the new all-the-data-there-is data file into the BaseFile, like this (this code is contained in SuperFile6.ECL):
IMPORT $; IMPORT Std; SEQUENTIAL( Std.File.StartSuperFileTransaction(), Std.File.ClearSuperFile($.DeclareData.BaseFile), Std.File.ClearSuperFile($.DeclareData.WeeklyFile), Std.File.ClearSuperFile($.DeclareData.DailyFile), Std.File.AddSuperFile($.DeclareData.BaseFile,'~$.DeclareData::SUPERFILE::People14'), Std.File.FinishSuperFileTransaction());
This action clears out the Base SuperFile, adds the reference to the new all-inclusive logical file, then clears all the incremental SuperFiles.
Re-running the above COUNT action should still result in 620,000.
Once again, edit the code from SuperFile4.ECL to add ProgGuide.SubFile5 and ProgGuide.SubFile6 to the DailyFile, like this:
IMPORT $; IMPORT Std; SEQUENTIAL( Std.File.StartSuperFileTransaction(), Std.File.AddSuperFile($.DeclareData.DailyFile,$.DeclareData.SubFile5), Std.File.AddSuperFile($.DeclareData.DailyFile,$.DeclareData.SubFile6), Std.File.FinishSuperFileTransaction());
Once you've done that, re-running the above COUNT action should now result in 1,000,000.