v_responsibility_name VARCHAR2 (100) := 'XX AP Inquiry'; ---this
responsibility will get added to user through API v_application_name VARCHAR2 (100) := NULL; v_responsibility_key VARCHAR2 (100) := NULL; v_security_group VARCHAR2 (100) := NULL; v_description VARCHAR2 (100) := NULL; --this cursor is used to fetch employee list which are already having below responsibility CURSOR get_user IS SELECT fu.user_id, fu.user_name, frt.responsibility_name, TO_CHAR(furg.start_date,'DD-MON-YYYY') start_date, furg.end_date FROM fnd_user fu , fnd_user_resp_groups_direct furg , fnd_responsibility_vl frt WHERE fu.user_id = furg.user_id AND frt.responsibility_id = furg.responsibility_id AND frt.application_id = furg.responsibility_application_id AND NVL(furg.end_date,sysdate+1) > sysdate AND NVL(frt.end_date,sysdate +1) > sysdate AND NVL(fu.end_date,sysdate +1) > sysdate AND frt.responsibility_name ='Application Developer'; BEGIN ---This query is used to fetch required values of varaibale v_responsibility_name for assigning responsibility to user SELECT fa.application_short_name, fr.responsibility_key, fsg.security_group_key, frt.description INTO v_application_name, v_responsibility_key, v_security_group, v_description FROM apps.fnd_responsibility fr, fnd_application fa, fnd_security_groups fsg, fnd_responsibility_tl frt WHERE frt.responsibility_name = v_responsibility_name AND frt.LANGUAGE = USERENV ('LANG') AND frt.responsibility_id = fr.responsibility_id AND fr.application_id = fa.application_id AND fr.data_group_id = fsg.security_group_id; FOR i IN get_user LOOP fnd_user_pkg.addresp (username => i.user_name, resp_app => v_application_name, resp_key => v_responsibility_key, security_group => v_security_group, description => v_description, start_date => SYSDATE, end_date => NULL ); DBMS_OUTPUT.put_line ( 'Responsiblity '|| v_responsibility_name|| ' is attached to the user '|| i.user_name|| ' Successfully'); COMMIT; END LOOP; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line ( 'Unable to attach responsibility to user due to'|| SQLCODE|| ' '|| SUBSTR (SQLERRM, 1, 100)); END;