56 lines
1.6 KiB
MySQL
56 lines
1.6 KiB
MySQL
|
|
--------------------------------------------------------
|
||
|
|
-- DDL for Procedure P_MANAGE_AUX_PROFILE
|
||
|
|
--------------------------------------------------------
|
||
|
|
set define off;
|
||
|
|
|
||
|
|
CREATE OR REPLACE EDITIONABLE PROCEDURE "ENVX_OPER"."P_MANAGE_AUX_PROFILE" (
|
||
|
|
pi_id_sys_profile_tree IN NUMBER,
|
||
|
|
pi_id_sys_profile IN NUMBER,
|
||
|
|
pi_id_step_flow IN NUMBER,
|
||
|
|
po_resultado OUT VARCHAR2
|
||
|
|
) AS
|
||
|
|
v_insert BOOLEAN := false;
|
||
|
|
v_aux NUMBER;
|
||
|
|
BEGIN
|
||
|
|
IF pi_id_sys_profile != pi_id_sys_profile_tree THEN
|
||
|
|
SELECT COUNT(1)
|
||
|
|
INTO v_aux
|
||
|
|
FROM request_sw_auxiliar_profile
|
||
|
|
WHERE id_step_flow = pi_id_step_flow
|
||
|
|
AND id_sys_profile = pi_id_sys_profile_tree;
|
||
|
|
|
||
|
|
IF v_aux > 0 THEN
|
||
|
|
v_insert := false;
|
||
|
|
po_resultado := 'El perfil ya se encuentra como auxiliar del paso seleccionado';
|
||
|
|
ELSE
|
||
|
|
v_insert := true;
|
||
|
|
END IF;
|
||
|
|
|
||
|
|
IF v_insert THEN
|
||
|
|
INSERT INTO request_sw_auxiliar_profile (
|
||
|
|
id_sw_aux_profile,
|
||
|
|
id_step_flow,
|
||
|
|
id_sys_profile,
|
||
|
|
status_aux_profile
|
||
|
|
) VALUES (
|
||
|
|
s_request_sw_aux_profile_id.NEXTVAL,
|
||
|
|
pi_id_step_flow,
|
||
|
|
pi_id_sys_profile_tree,
|
||
|
|
1
|
||
|
|
);
|
||
|
|
|
||
|
|
po_resultado := 'Perfil agregado como auxiliar';
|
||
|
|
END IF;
|
||
|
|
|
||
|
|
ELSE
|
||
|
|
po_resultado :=
|
||
|
|
CASE
|
||
|
|
WHEN pi_id_sys_profile_tree > 0 THEN
|
||
|
|
'El perfil ya se encuentra como auxiliar del paso seleccionado'
|
||
|
|
ELSE 'No puede agregar un rol como auxiliar, seleccione un perfil'
|
||
|
|
END;
|
||
|
|
END IF;
|
||
|
|
END;
|
||
|
|
|
||
|
|
/
|