Oracle Loop by User Name

时间:2017-04-25 18:01:30

标签: sql oracle loops

我找到了一个脚本,允许您通过提供用户名和职责名称来结束日期责任。我试图找出如何将其创建为循环,以便不必提供用户名。

以下逻辑: if(用户存在责任)   结束日期 其他   检查下一个用户

这是我用来通过用户名结束日期的脚本:

DECLARE
v_user_name                   VARCHAR2 (100) := 'PRAJKUMAR';
v_responsibility_name   VARCHAR2 (100) := 'Application Developer';
v_application_name        VARCHAR2 (100) := NULL;
v_responsibility_key        VARCHAR2 (100) := NULL;
v_security_group              VARCHAR2 (100) := NULL;
BEGIN
SELECT  fa.application_short_name,
        fr.responsibility_key,
        frg.security_group_key
INTO    v_application_name,
        v_responsibility_key,
        v_security_group
FROM    fnd_responsibility       fr,
        fnd_application            fa,
        fnd_security_groups  frg,
        fnd_responsibility_tl   frt 
WHERE   fr.application_id               = fa.application_id
AND     fr.data_group_id             = frg.security_group_id
AND     fr.responsibility_id          = frt.responsibility_id
AND     frt.LANGUAGE                 = USERENV ('LANG')
AND     frt.responsibility_name  = v_responsibility_name;

  fnd_user_pkg.delresp
  (    username           => v_user_name,
       resp_app            => v_application_name,
       resp_key             => v_responsibility_key, 
       security_group   => v_security_group 
  );

 COMMIT;

 DBMS_OUTPUT.put_line (   'Responsiblity '
    || v_responsibility_name
    || ' is removed from the user '
    || v_user_name
    || ' Successfully'
    );
END; 
/

参考:https://blogs.oracle.com/prajkumar/end-date-responsibility-for-oracle-fnd-user

0 个答案:

没有答案