-------------------------------------------------------- -- 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; /