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