Hi Stefan, My guess is that you are doing minimal processing with this file, so using a temporary file won’t actually speed up the process, (actually it will take longer), but it will make it easy to release controll back to the server, so that other users will be able to access the table and work with it. Also Alex, the issue of Navision restarting back to the begining, is only an issue with Dataports, and is probably the reason the Stefan is using a codeunit. I would not normally recommend a user using commit, but in this case it is the way to do it, and I think you have been around long enough to get it right. My recommendation would be as follows: I assume it is not practical to break up the file into smaller chunks, otherwise you would have done that. Determine what is a reasonable time to have control of the system, say 10 seconds, then estimate how many records can be read in this time. Call this a variable “NoRecsToCommit”::Boolean Create new fields “In Progress”::Boolean. Set true when importing. “Import File Name”::Text the name of the file you are importing. “Import Line No.”::Integer. Sequential line numbers modify your codeunit to count the number of lines imported, and each time you reach the “NoRecsToCommit” value, reset it, and then do a commit. (You may or may not need to add a GetLatestVersion here, and maybe a sleep comand, but you can experiment with that.). At the end of the import, add the following: Modifyall(“In Progress”,false); So what happens. Well each time the commit happens, the records will be committed to the database and other users will have access to the data. Warnings: Commit is a dangerus command if used incorrectly, do not try this at home. If the codeunit fails, then you will have a number of records already committed, you have two solution, you can write code to track these using the new fields added, or (my recommendation), delete ALL transactions with “In Progress” true, and start the dataport again. You must fully understand all code attached to this table, and you must create filters and tests, so that no form, or codeunit, or user has any access to any record with “In Progress” true. You will need to analyse performance. This process will definitely slow down your system. The repeated commits will cause a lot of transfers between commit cache and disk, and you will need to evaluate this against the requirement of users having access to the data. Please let me know how it goes. PS: Yes, I have done this before, and it does work.