Locking data in a module after import
We have a requirement where the client wants to fix data in a module after an import so as to prevent accidental override of data if another user run the import process in the same module.
Is there a way to implement this locking of data.
There may be a more 'official' way to do this but here is how I've accomplished this. Create a new line item in the module you are importing into. Once you have the data imported, do a straight reference formula in the new line item pointing at the original (where your imported data resides) . Once you have entered the reference formula and all data has populated, simply delete the formula itself. The data will now stay static and not update as there is no longer a formula.1
You're right that this is a challenging request, without implementing a strong business process to prevent overwriting the data (perhaps through dashboard instruction text).
Another option would be to enable Workflow for that list, so that after the import is run for the first time the user marks the data as Completed, which then turns each completed list item to Read Only data. Of course the typical Workflow considerations still apply, so maybe not the best solution, but definitely something to consider when it comes to locking only a subset of data within what should be a read/write module.
You can also try to build a staging module and a final module.
The staging module will only send data to the final module when a boolean (lock load) is ticked, in that way you can control when you want to update the data.2
@Prateek_S someone just posted a Job Aid that might be useful to give that impression of locking. This is assuming the "locking" is required only for specific line items.
Another way is to play with access right if the "locking" is required on module level. The original import could be done into a module which is given WRITE access only for Model Admin and READ for all users.
Hope it helps.