Jobs view is not visible to read-only account users
As @Jeffrey pointed out, ALL_* view is not useful in your case. You should use DBA_* views because they show the records for all owners of the job objects.

The following sequence works just fine for me:

$ sqlplus /nolog

SQL&gt; connect / as sysdba
Connected.

SQL&gt; select distinct owner from dba_scheduler_job_run_details;

OWNER
------------------------------
EXFSYS
SPONGEBOB
SYS

SQL&gt; create or replace view sys.jcaf as
  2  select * from dba_scheduler_job_run_details
  3  where owner = 'EXFSYS';    
View created.

SQL&gt; grant select on sys.jcaf to spongebob;    
Grant succeeded.

SQL&gt; create public synonym jcaf_v for sys.jcaf;    
Synonym created.

SQL&gt; connect spongebob/passwd    
Connected.

SQL&gt; select distinct owner from jcaf_v;

OWNER
------------------------------
EXFSYS