SQL语句 - 批量给全部用户分配某个职责


declare 
  -- Local variables here
  x_owner  varchar2(30);
  cursor   cur_resp is
  select  t.user_name,'职责的名字' RESP_NAME  from Fnd_user  t  ---需要修改

where not exists
(

select 1
  from FND_USER_RESP_GROUPS_DIRECT fug,
       fnd_responsibility_tl       frt,
       fnd_user                    fu
  where frt.LANGUAGE='ZHS'
  AND FUG.RESPONSIBILITY_ID=FRT.RESPONSIBILITY_ID
  AND FU.USER_ID=FUG.user_id
  AND FU.USER_NAME=T.USER_NAME
  AND FRT.RESPONSIBILITY_NAME='职责的名字')  ---需要修改
  ;
  x_rowid                 varchar2(100);
  x_resp_id               number;
  x_resp_appl_id          number;
  X_USER_ID               number;
  
begin
  -- Test statements here

  for rec in cur_resp  loop
    select fu.USER_ID into X_USER_ID 
    from fnd_user fu
    where fu.USER_NAME = rec.user_name;
    
    select fr.RESPONSIBILITY_ID,
           FR.APPLICATION_ID
         into x_resp_id,x_resp_appl_id
      from Fnd_Responsibility_Tl FR
      where fr.LANGUAGE='ZHS'
       and fr.RESPONSIBILITY_NAME = rec.resp_name;
       
       
      fnd_user_resp_groups_api.Insert_Assignment(user_id => X_USER_ID,---Insert_Assignment 替换为 Update_Assignment 是否合适
                                                 responsibility_id => x_resp_id,
                                                 responsibility_application_id => x_resp_appl_id,
                                                 start_date => to_date('2000-01-01','yyyy-mm-dd'),
                                                 end_date => null,
                                                 description => '导入分配');

      commit;
      dbms_output.put_line(rec.user_name||',Assignment Success!');
  end loop;
  
exception
  when others then
    dbms_output.put_line('ERROR:'||SQLERRM);
end;


本文标题:SQL语句 - 批量给全部用户分配某个职责

本文链接:http://catonisland.cn/post/251.html

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章