select u.user_name,
app.application_short_name,
fat.application_name,
fr.responsibility_key,
frt.responsibility_name,
fff.function_name,
fft.user_function_name,
icx.function_type,
icx.first_connect,
icx.last_connect
from icx_sessions icx,
fnd_user u,
fnd_application app,
fnd_application_tl fat,
fnd_responsibility fr,
fnd_responsibility_tl frt,
fnd_form_functions fff,
fnd_form_functions_tl fft
where 1 = 1
and u.user_id = icx.user_id
and icx.responsibility_application_id = app.application_id
and fat.application_id = icx.responsibility_application_id
and fat.language = 'ZHS'
and fr.application_id = icx.responsibility_application_id
and fr.responsibility_id = icx.responsibility_id
and frt.language = 'ZHS'
and frt.application_id = icx.responsibility_application_id
and frt.responsibility_id = icx.responsibility_id
and fff.function_id = icx.function_id
and fft.function_id = icx.function_id
and icx.disabled_flag != 'Y'
and icx.pseudo_flag = 'N'
and (icx.last_connect +
decode(fnd_profile.value('ICX_SESSION_TIMEOUT'),
null,
icx.limit_time,
0,
icx.limit_time,
fnd_profile.value('ICX_SESSION_TIMEOUT') / 60) / 24) >
sysdate
and icx.counter < icx.limit_connects;