SELECT
C.USER_NAME
, D.RESPONSIBILITY_NAME
, TO_CHAR(K.START_TIME, 'DD-MON-YY HH24:MI') START_TIME2
, TO_CHAR(K.END_TIME, 'DD-MON-YY HH24:MI') END_TIME2
FROM
FND_LOGINS U
, FND_LOGIN_RESPONSIBILITIES K
, FND_USER C
, FND_RESPONSIBILITY_VL D
WHERE
(
U.USER_ID = C.USER_ID
)
AND
(
K.RESPONSIBILITY_ID = D.RESPONSIBILITY_ID
)
AND
(
U.LOGIN_ID = K.LOGIN_ID
)
AND
(
K.RESP_APPL_ID = D.APPLICATION_ID
)
AND K.START_TIME BETWEEN
CASE
WHEN LENGTH(K.START_TIME) in (14, 15)
THEN TO_DATE(K.START_TIME, 'DD-MON-RR HH24:MI')
WHEN LENGTH(K.START_TIME) in (8, 9)
THEN TO_DATE(K.START_TIME, 'DD-MON-RR')
ELSE K.START_TIME
END
AND
CASE
WHEN LENGTH(K.END_TIME) in (14, 15)
THEN TO_DATE(K.END_TIME, 'DD-MON-RR HH24:MI')
WHEN LENGTH(K.END_TIME) in (8, 9)
THEN TO_DATE(K.END_TIME, 'DD-MON-RR') + 1
ELSE K.START_TIME
END
AND
(
(
K.END_TIME >=
CASE
WHEN LENGTH(K.START_TIME) in (14, 15)
THEN TO_DATE(K.START_TIME, 'DD-MON-RR HH24:MI')
WHEN LENGTH(K.START_TIME) in (8, 9)
THEN TO_DATE(K.START_TIME, 'DD-MON-RR')
ELSE K.END_TIME
END
)
OR
(
K.END_TIME IS NULL
AND U.PID IS NOT NULL
)
)
AND C.USER_NAME LIKE NVL(:USER_NAME, '%')
AND D.RESPONSIBILITY_NAME LIKE NVL(:RESPONSIBILITY_NAME, '%')
ORDER BY
&SORT_COLUMN