• The procedure does several Inserts/Updates, some of which are executions of other stored procedures. If you can identify which table and column is causing the error then check the datatype of the target column. It could be that the procedure is trying to insert/update into a numeric datatype column with an nvarchar. (If you don't know exactly which column is causing the error, you will just have to laboriously compare all the parameters to their eventual destination columns where applicable.)

    A common example of this might be where a procedure has a parameter value such as 'Y' or 'N' (a non-numeric value) and it's trying to insert it into a column that has a BIT or INT datatype. Whether this is good db design or not is another topic altogether, but a situation like the example would require some sort of IF or CASE statement to catch the parameter of one type and CAST/CONVERT it to the proper type.