select distinct
a.application_name,
responsibility_name,
security_group_name, 
user_name,
u.START_DATE start_date,
u.END_DATE end_date,
u.LAST_LOGON_DATE,
PAPF.FULL_NAME

/*, greatest(u.start_date, ur.start_date, r.start_date) start_date,
decode(least(nvl(u.end_date,to_date('01/01/4712','DD/MM/YYYY')),
             nvl(ur.end_date,to_date('01/01/4712','DD/MM/YYYY')),
             NVL(R.END_DATE,TO_DATE('01/01/4712','DD/MM/YYYY'))
             ), TO_DATE('01/01/4712','DD/MM/YYYY'),'',
        least(nvl(u.end_date,  nvl(ur.end_date, r.end_date)),
              nvl(ur.end_date, nvl(u.end_date,  r.end_date)),
              nvl(r.end_date,  nvl(u.end_date,  ur.end_date))
             )
      ) end_date
 */           
from fnd_user u,fnd_user_resp_groups_all ur,
     fnd_responsibility_vl r,fnd_application_vl a, 
     fnd_security_groups_vl s,
     per_all_people_f PAPF
where a.application_id = r.application_id
and   u.user_id = ur.user_id
and   r.application_id = ur.responsibility_application_id
and   r.responsibility_id = ur.responsibility_id
and   ur.start_date <= sysdate
and   nvl(ur.end_date, sysdate + 1) > sysdate
and   u.start_date <= sysdate
and   nvl(u.end_date, sysdate + 1) > sysdate
and   r.start_date <= sysdate
and   nvl(r.end_date, sysdate + 1) > sysdate
and   ur.security_group_id = s.security_group_id
and   r.version in ('4','W','M')
--Restrictions added for custom report
AND    u.user_name NOT IN ('AUTOINSTALL','SYSADMIN','INTERFACE USER','WIZARD')
AND    u.user_name NOT LIKE 'BUYER%'
AND    u.user_name NOT LIKE 'IRC%'
AND    UPPER(r.RESPONSIBILITY_NAME) NOT IN ('PREFERENCES SSWA%')
AND     U.employee_id = PAPF.person_id(+)
AND    u.user_name = :USERNAME
order by user_name, application_name, responsibility_name, 
      security_group_name