Primer Commit
This commit is contained in:
79
DB/PROCEDURES/P_MANAGE_USERS_OLD.sql
Normal file
79
DB/PROCEDURES/P_MANAGE_USERS_OLD.sql
Normal file
@@ -0,0 +1,79 @@
|
||||
--------------------------------------------------------
|
||||
-- DDL for Procedure P_MANAGE_USERS_OLD
|
||||
--------------------------------------------------------
|
||||
set define off;
|
||||
|
||||
CREATE OR REPLACE EDITIONABLE PROCEDURE "ENVX_OPER"."P_MANAGE_USERS_OLD" (pi_id_role IN NUMBER,
|
||||
pi_id_sys_profile IN NUMBER,
|
||||
pi_status IN VARCHAR2,
|
||||
pi_user_name IN VARCHAR2,
|
||||
pi_ldap_user IN VARCHAR2,
|
||||
pi_user_mail IN VARCHAR2,
|
||||
pi_app_id NUMBER,
|
||||
pi_apex_role NUMBER) AS
|
||||
|
||||
|
||||
BEGIN
|
||||
|
||||
--Elimino los roles donde pertenezca el usuario--
|
||||
FOR c IN (
|
||||
SELECT DISTINCT
|
||||
user_name,
|
||||
id_apex_role
|
||||
FROM
|
||||
user_roles u,
|
||||
system_profile p,
|
||||
system_role r
|
||||
WHERE
|
||||
u.id_sys_profile = p.id_sys_profile
|
||||
AND p.id_role = r.id_role
|
||||
AND upper(user_name) = upper(pi_user_name)
|
||||
) LOOP
|
||||
|
||||
apex_acl.remove_user_role(p_application_id => pi_app_id,
|
||||
p_user_name => upper(pi_user_name),
|
||||
p_role_id => c.id_apex_role
|
||||
);
|
||||
|
||||
END LOOP;
|
||||
|
||||
|
||||
--Actualizar el perfil y rol correspondiente--
|
||||
UPDATE user_roles
|
||||
set id_sys_profile = pi_id_sys_profile,
|
||||
id_role = pi_id_role,
|
||||
user_mail = pi_user_mail
|
||||
where user_name = pi_user_name;
|
||||
|
||||
--Buscar si actualizo algun registro--
|
||||
IF sql%rowcount = 0 THEN
|
||||
|
||||
--Si no actualizo ninguno, inserto el registro--
|
||||
INSERT INTO user_roles (
|
||||
id_user,
|
||||
id_role,
|
||||
id_sys_profile,
|
||||
user_name,
|
||||
user_mail
|
||||
) VALUES (
|
||||
S_USER_ROLES_ID.nextval,
|
||||
pi_id_role,
|
||||
pi_id_sys_profile,
|
||||
pi_user_name,
|
||||
pi_user_mail
|
||||
);
|
||||
|
||||
END IF;
|
||||
|
||||
IF pi_status = 1 THEN
|
||||
--Agrego el rol de apex correspondiente--
|
||||
apex_acl.add_user_role(p_application_id => pi_app_id,
|
||||
p_user_name => upper(pi_user_name),
|
||||
p_role_id => pi_apex_role
|
||||
);
|
||||
END IF;
|
||||
|
||||
|
||||
END;
|
||||
|
||||
/
|
||||
Reference in New Issue
Block a user