without re-writing the scalar function to be an inline table valued function, i though getting intermediate results for the scalar function in a CTE or sub select would be easier:
i'm assuming the first two not null columns constitute a PK for the data at hand:
WITH myIntermediateResults
AS
(
SELECT rmc.*,
NewTargetDate = dbo.fn_GetTargetTimeInServiceHours(rmc.project_id, rmc.folder_id, rmc.sla_start_date, (rmc.hold_time + @target_time))
FROM #request_meet_criteria rmc
rmc.smx_active_flag = 0
)
update rmc
set rmc.sla_target_date = myIntermediateResults.NewTargetDate
from #request_meet_criteria rmc
INNER JOIN myIntermediateResults
ON rmc.project_id = myIntermediateResults.project_id
AND rmc.request_id = myIntermediateResults.request_id
Lowell