BD.FUNC.ACD FUNC CLI SEGMENTOS CREAR

De VIVAitwiki
Revisión del 15:11 11 nov 2021 de Bartosz (discusión | contribuciones) (Página creada con «==Parámetros== USE `nimitz`; DROP function IF EXISTS `nimitz`.`ACD_FUNC_CLI_SEGMENTOS_CREAR`; DELIMITER $$ USE `nimitz`$$ CREATE DEFINER=`adminNimitz`@`%` FUNCTION `ACD…»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegaciónIr a la búsqueda

Parámetros

USE `nimitz`; DROP function IF EXISTS `nimitz`.`ACD_FUNC_CLI_SEGMENTOS_CREAR`;

DELIMITER $$ USE `nimitz`$$ CREATE DEFINER=`adminNimitz`@`%` FUNCTION `ACD_FUNC_CLI_SEGMENTOS_CREAR`( PAR_C_ANI VARCHAR(32), PAR_C_UCID VARCHAR(20), PAR_C_VDN VARCHAR(45), PAR_B_ES_DESVIADA BOOL ) RETURNS varchar(64) CHARSET utf8

   MODIFIES SQL DATA
   DETERMINISTIC

BEGIN declare VAR_NO_HAY BOOLEAN;

declare VAR_ID_SEGMENTO INT;

declare VAR_B_ES_PROFESIONAL BOOL; declare VAR_ID_DATOS INT; declare VAR_C_CIP varchar(20); declare VAR_C_NOMBRE varchar(45); declare VAR_C_APELLIDO1 varchar(45); declare VAR_C_APELLIDO2 varchar(45); declare VAR_C_PROGRAMA varchar(45); declare VAR_D_FECHA_INCLUSION varchar(20); declare VAR_D_FECHA_ALTA varchar(20); declare VAR_C_RELACION_PACIENTE varchar(60); declare VAR_E_DEST_TRANSFER INT; declare VAR_E_CODI int(11); declare VAR_ES_DESVIADA int; declare VAR_C_VDN varchar(45);

declare SQL_SEGMENTOS CURSOR for select `ID` from `DAT_SEGMENTOS` where `C_UCID`=PAR_C_UCID AND (E_TIPO_SEGMENTO=200 or E_TIPO_SEGMENTO=250);

declare SQL_PACIENTES CURSOR for select TP.`ID`,TP.`E_CODI` from `CLI_TELEFONOS_PACIENTES` as TP INNER JOIN `CLI_DATOS_PACIENTES` as DP on TP.`ID_DATOS_PACIENTE`=DP.`ID` where TP.`C_ANI`=PAR_C_ANI;

declare SQL_PROFESIONALES CURSOR for select TPR.`ID`,TPR.`E_CODI`,DPR.`C_NOMBRE`,DPR.`C_APELLIDO1`,DPR.`C_APELLIDO2`, DPR.`C_REL_PACIENTE` from `CLI_TELEFONOS_PROFESIONALES` as TPR INNER JOIN `CLI_DATOS_PROFESIONALES` as DPR on TPR.`ID_DATOS_PROFESIONAL`=DPR.`ID` where TPR.`C_ANI`=PAR_C_ANI;

declare CONTINUE HANDLER FOR NOT FOUND set VAR_NO_HAY=TRUE;

set VAR_B_ES_PROFESIONAL=false; set VAR_ID_DATOS=NULL; set VAR_C_CIP=; set VAR_C_NOMBRE=; set VAR_C_APELLIDO1=; set VAR_C_APELLIDO2=; set VAR_C_PROGRAMA=; set VAR_D_FECHA_INCLUSION=; set VAR_D_FECHA_ALTA=; set VAR_C_RELACION_PACIENTE=; set VAR_E_DEST_TRANSFER=0; set VAR_E_CODI=0; set VAR_ES_DESVIADA=PAR_B_ES_DESVIADA; set VAR_C_VDN=PAR_C_VDN;



set VAR_NO_HAY=FALSE; set VAR_ID_SEGMENTO=0; open SQL_SEGMENTOS; fetch SQL_SEGMENTOS into VAR_ID_SEGMENTO; close SQL_SEGMENTOS;

if VAR_NO_HAY then return 'No existe segmento'; end if;

set VAR_NO_HAY=FALSE; set VAR_ID_DATOS=0; open SQL_PACIENTES; fetch SQL_PACIENTES into VAR_ID_DATOS, VAR_E_CODI; close SQL_PACIENTES;

if VAR_NO_HAY then set VAR_B_ES_PROFESIONAL=true; set VAR_NO_HAY=FALSE; set VAR_ID_DATOS=0; open SQL_PROFESIONALES; fetch SQL_PROFESIONALES into VAR_ID_DATOS, VAR_E_CODI, VAR_C_NOMBRE, VAR_C_APELLIDO1, VAR_C_APELLIDO2, VAR_C_RELACION_PACIENTE; close SQL_PROFESIONALES; if VAR_NO_HAY then set VAR_B_ES_PROFESIONAL=true; set VAR_ID_DATOS=NULL; set VAR_C_CIP=; set VAR_C_NOMBRE=; set VAR_C_APELLIDO1=; set VAR_C_APELLIDO2=; set VAR_C_PROGRAMA=; set VAR_D_FECHA_INCLUSION=; set VAR_D_FECHA_ALTA=; set VAR_C_RELACION_PACIENTE=; set VAR_E_DEST_TRANSFER=0; set VAR_E_CODI=0; end if; end if;


insert into `CLI_SEGMENTOS` ( `ID`, `B_ES_PROFESIONAL`, `ID_DATOS`, `C_CIP`, `C_NOMBRE`, `C_APELLIDO1`, `C_APELLIDO2`, `C_PROGRAMA`, `D_FECHA_INCLUSION`, `D_FECHA_ALTA`, `C_RELACION_PACIENTE`, `E_DEST_TRANSFER`, `E_CODI`, `B_ES_DESVIADA`, `C_VDN` ) values ( VAR_ID_SEGMENTO, VAR_B_ES_PROFESIONAL, VAR_ID_DATOS, VAR_C_CIP, VAR_C_NOMBRE, VAR_C_APELLIDO1, VAR_C_APELLIDO2, VAR_C_PROGRAMA, VAR_D_FECHA_INCLUSION, VAR_D_FECHA_ALTA, VAR_C_RELACION_PACIENTE, VAR_E_DEST_TRANSFER, VAR_E_CODI, VAR_ES_DESVIADA, VAR_C_VDN );


return 'OK'; end$$

DELIMITER ;