Halting a multi-step Agent job without resorting to "Quit the job reporting success"?
One solution is to use multiple job steps and branch depending on the success/failure condition of the business condition - but that means the job will produce that &quot;dreaded&quot; yellow triangle and red circle for the step.
A second solution is to use 3 jobs and call one of two jobs based on the result of the business condition.
STEP 1 : Do something
STEP x : Test for business condition
    IF dbo.fnBusinessCondition = 1 
       EXECUTE msdb.dbo.sp_start_job 'Job2'
    else
       EXECUTE msdb.dbo.sp_start_job 'Job3'