I'm not entirely sure what you mean by your "file 2" which contains all the common functions? Typically, a framework structure based upon a data driven set of tables does not include code in the the files being used. The files (in your case file 1 and file 2) are simply the data used to drive the test. Code, including common functions, are written as either script functions in units in TC or as keyword tests. A framework of script code is then created to read those files and, depending upon what is found, execute the specific code.
An example of something that I created for this purpose can be found at
http://blog.smartbear.com/post/11-07-11/automation-framework---a-new-table-driven-technique-using-testcomplete/