Sorry Truncating tables does not allow for direct recovery. The thing I would do is create permament temp tables, move your data to those, truncate the main tables, run your next process, on fail move the data back to the main tables, on success truncate the permanent temp tables you put them in.