I believe that the status="CANCELLED" AND table="OUTCOME_STATUS" will give only one row for each ID in this table. But for safer side I am using Max() while fetching hist_start column value.
Then you can use following update statement to do your job -
UPDATE Table_Name t_1
SET Hist_End = (SELECT MAX(t_2.Hist_Start)
FROM Table_Name t_2
WHERE t_2.Status = 'CANCELLED'
AND t_2."TABLE" = 'OUTCOME_STATUS'
AND t_2.Id = t_1.Id)
WHERE t_1."TABLE" IN ('DOC_STATUS', 'ENTRY_STATUS')
AND t_1.Hist_End IS NULL;