Thanks opc.
Each file is different but the load process is the same: reset the validto date, then load the new data and default the valid to date to the end of the century.
I have 21 'copies' of the sequence container and have had to rename the SQL task and Bull Inert Task within each one. The SQL Task is a dynamic script derived from the Task Name which is "tablename_date" with a (REPLACE(@[System::TaskName],'_date','') in the expression. The Bulk Insert task derives it's flatFileConnection from the Task Name. I was hoping to do it from the container name but it is no great hardship.