SELECT sj.name AS job_name, sj.enabled AS enabled, sjs.last_run_outcome AS run_status, sjs.last_outcome_message AS last_run_status_message, sjs.last_run_duration/10000*3600 + sjs.last_run_duration/100%100*60 + sjs.last_run_duration%100 AS run_duration, CASE sjs.last_run_date WHEN 0 THEN NULL ELSE CONVERT( VARCHAR(25), TODATETIMEOFFSET(msdb.dbo.agent_datetime(sjs.last_run_date,sjs.last_run_time), DATEPART(TZoffset, SYSDATETIMEOFFSET())), 126) END AS last_run_date_time, sja.next_scheduled_run_date AS next_run_date_time FROM msdb..sysjobs AS sj LEFT JOIN msdb..sysjobservers AS sjs ON sj.job_id = sjs.job_id LEFT JOIN ( SELECT job.job_id, max(act.session_id) AS s_id, CONVERT( VARCHAR(25), TODATETIMEOFFSET(max(act.next_scheduled_run_date), DATEPART(TZoffset, SYSDATETIMEOFFSET())), 126) AS next_scheduled_run_date FROM msdb..sysjobs AS job LEFT JOIN msdb..sysjobactivity AS act ON act.job_id = job.job_id GROUP BY job.job_id ) AS sja ON sja.job_id = sj.job_id WHERE enabled = 1