1 2 Previous Next 18 Replies Latest reply: Sep 21, 2011 2:34 AM by User317378 Go to original post RSS
      • 15. Re: delete a responsability
        Hussein Sawwan-Oracle
        Keith,

        What is your application release?

        Please see if the solutions in these docs help.

        Duplicate Responsibility Attached To User Causing ORA-1422 FND_USER_RESP_GROUPS_API.UPDATE_ASSIGNMENT [ID 580164.1]
        Missing SYSADMIN Responsibility After Upgrade To 12.1.3 [ID 1246824.1] -- Skip Step 4

        Thanks,
        Hussein
        • 16. Re: delete a responsability
          User317378
          Hi Hussein,

          thanks for the update.

          EBS: 12.1.3

          I don't think i gave a clear description of what i'm trying to do in my last post.

          Correct details are as follows:

          I have responsibility XX_FEX_RESP_02 which gets inherited from the role XXC_FEX_EMP_01.

          I have approx 500 users with about 200 of them not requiring the responsibility XX_FEX_RESP_02.

          When I run the script i get the error in previous post which is generated I believe because the responsibilty is inherited and is not a direct responsibilty.

          Can the api fnd_user_resp_groups_api.update_assignment be used for responsibilities and roles?

          Thanks,
          Keith
          • 17. Re: delete a responsability
            Hussein Sawwan-Oracle
            Keith,

            Please see (Is there a Stardard API Which Can be Used to Disable or End Date a Responsibility? [ID 394784.1]).

            Thanks,
            Hussein
            • 18. Re: delete a responsability
              User317378
              Hi Hussein,

              that's the api i'm using. It works fine when the responsibility is a direct responsibility but it is failing when the responsibility is an indirect responsibility inherited from a role.


              I'm using the following code to end_date the responsibilities:
              Declare
               
                --cursor to get all inactive users
               
                CURSOR cur_inactive_user  
               
                IS
               SELECT fu.user_id, frt.responsibility_id, frt.application_id, furg.SECURITY_GROUP_ID, frt.RESPONSIBILITY_NAME, furg.start_date, furg.end_date
              FROM
                       fnd_user_resp_groups furg,
                       FND_RESPONSIBILITY fr,
                       fnd_responsibility_tl frt,
                       fnd_user fu
              WHERE fu.user_name in ('LISTOFUSERS',
              )
              AND   fu.user_id = furg.user_id
              AND   furg.responsibility_id = fr.RESPONSIBILITY_ID
              AND   frt.responsibility_id = fr.RESPONSIBILITY_ID
              AND   frt.RESPONSIBILITY_NAME='Employee Self Service'
              --AND furg.responsibility_id =  21364
              ORDER BY 1;
               
              BEGIN 
               
              FOR rec_inactive_user IN cur_inactive_user
               
              LOOP
               
              --checking if the responsibility is assigned to the user
               
              IF (fnd_user_resp_groups_api.assignment_exists
               
                 (rec_inactive_user.user_id,
               
                  rec_inactive_user.responsibility_id,
               
                  rec_inactive_user.application_id, 
               
                  rec_inactive_user.security_group_id)) then                                                                
               
                  -- Call API to End date the responsibility
               
                  fnd_user_resp_groups_api.update_assignment
               
                   (user_id  => rec_inactive_user.user_id,
               
                    responsibility_id => rec_inactive_user.responsibility_id,
               
                    responsibility_application_id => rec_inactive_user.application_id, 
               
                    security_group_id =>  rec_inactive_user.security_group_id ,
               
                    start_date => rec_inactive_user.start_date ,
               
                    end_date => '06-SEP-11',
               
                    description => NULL);      
               
                  COMMIT;                                                                                          
               
              END IF;
               
              END LOOP;                  
               
              END; 
              1 2 Previous Next