SELECT
fu.user_name AS "用户名",
fu.description AS "用户说明",
frv.responsibility_name AS "职责名称",
fur.start_date AS "分配开始日期",
fur.end_date AS "分配结束日期"
FROM
applsys.fnd_user fu,
apps.fnd_user_resp_groups_direct fur,
apps.fnd_responsibility_vl frv
WHERE
fu.user_id = fur.user_id
AND frv.responsibility_id = fur.responsibility_id
AND frv.application_id = fur.responsibility_application_id
AND NVL(fur.end_date, SYSDATE) >= SYSDATE -- 仅有效职责分配
AND NVL(fu.end_date, SYSDATE) >= SYSDATE -- 仅有效用户
AND frv.responsibility_name = '&responsibility_name'; -- 替换为具体职责名称,如'System Administrator'
查询详解
关键表作用:
FND_USER:存储用户基本信息(如user_name、description)。
FND_USER_RESP_GROUPS_DIRECT:记录用户与职责的直接分配关系(包含起止日期)。
FND_RESPONSIBILITY_VL:存储职责名称等描述性信息。
过滤条件:
NVL(fur.end_date, SYSDATE) >= SYSDATE 确保职责分配未过期。
NVL(fu.end_date, SYSDATE) >= SYSDATE 确保用户账户有效。
frv.responsibility_name = ‘&responsibility_name’ 指定目标职责名称,需替换具体值(注意大小写敏感)。
输出字段:用户名、用户说明、职责名称及分配期限,便于追踪权限分配情况。