gke_arce_rupe2
.rupe
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
generar_datos_usuarios()
Parameters
Name
Type
Mode
Definition
declare /* variables auxiliares para actualizar los registros */ aux_usu_id integer; aux_habilitado boolean; aux_fecha_deshabilitado timestamp; /* cursor que retorna los productos o servicios de los proveedores */ C_usuario CURSOR FOR SELECT u.usu_id FROM rupe.rupe_usuarios u where u.usu_tipo in (1,2); -- no se consideran los usuarios de los proveedores reg_usuario RECORD; BEGIN delete from rupe.exportar_usuarios_indicador; OPEN C_usuario; LOOP FETCH C_usuario INTO reg_usuario; EXIT WHEN NOT FOUND; SELECT u.usu_id, u.usu_habilitado INTO aux_usu_id, aux_habilitado FROM rupe.rupe_usuarios u WHERE u.usu_id = reg_usuario.usu_id; aux_fecha_deshabilitado := null; if not aux_habilitado then select ua.usu_ultmod_fecha from audit.rupe_usuarios_aud ua into aux_fecha_deshabilitado where ua.usu_id = aux_usu_id and ua.rev = (select min(rev) from audit.rupe_usuarios_aud r1 where r1.usu_habilitado = false and r1.usu_id = aux_usu_id and not exists (select * from audit.rupe_usuarios_aud r2 where r2.usu_habilitado = true and r2.usu_id = aux_usu_id and r2.usu_ultmod_fecha > r1.usu_ultmod_fecha)); end if; insert into rupe.exportar_usuarios_indicador values (aux_usu_id,aux_fecha_deshabilitado); END LOOP; CLOSE C_usuario; Raise debug 'finalizo el proceso de generar tabla auxiliar para exportar usuarios'; END;