BPM on Part to update PartWhse

Doing a bit of clean up on a BPM that we think is causing the “Row has been modified by another user and couldn’t be updated” error.

I was going to make the change to look through the ttPartWhse tables instead of the db table. Is there any time the ttPartWhse would not be the table to look at? This would be done as a pre-process BPM.

foreach (var temp in (from ttPart_Row in ttPart select ttPart_Row))
{
	foreach(var PartWhse in Db.PartWhse.Where(pw=> pw.PartNum == temp.PartNum && pw.WarehouseCode == "Stock" && pw.Company == temp.Company))
	{		
		if (temp.TrackSerialNum == true )
		{	
					PartWhse.SystemAbc = "S";
				
		}
		else
		{
					PartWhse.SystemAbc = temp.UDField<System.String>("PurABC_c");
		}
		
					PartWhse.ManualABC = true;
			}
}

Is this Running in Pre or Post? and what method?

This is running on the Erp.Part.Update /Pre Processing

Just use the ttTable then?