gke_arce_rupe2
.rupe
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
migrar_familias()
Parameters
Name
Type
Mode
Definition
declare rev integer; family_cod varchar(255); family_id integer; familia_id integer; familia_codigo_familia varchar(255); familia_crea_fecha timestamp; familia_crea_origen integer; familia_crea_usu varchar(255); familia_descripcion VARCHAR(255); familia_fecha_baja date; familia_habilitado boolean; familia_motivo_baja varchar(255); familia_ultmod_fecha timestamp; familia_ultmod_origen integer; familia_ultmod_usu varchar(255); familia_version integer; familia_descripcion_nuevo VARCHAR(255); familia_fecha_baja_nuevo date; familia_motivo_baja_nuevo varchar(255); /* cursor que retorna las familias en sice*/ C_familia CURSOR FOR SELECT sa.codigo FROM rupe.sice_familias sa; reg_familia RECORD; BEGIN OPEN C_familia; /* Recorro todas la familias que hay en sice */ LOOP FETCH C_familia INTO reg_familia; EXIT WHEN NOT FOUND; rev:= rupe.new_revid(); familia_fecha_baja = NULL; familia_motivo_baja = NULL; familia_id = NULL; familia_codigo_familia = NULL; familia_crea_fecha = NULL; familia_crea_origen = NULL; familia_crea_usu = NULL; familia_descripcion = NULL; familia_habilitado = NULL; familia_ultmod_fecha = NULL; familia_ultmod_origen = NULL; familia_ultmod_usu = NULL; familia_version = NULL; familia_habilitado = FALSE; familia_descripcion_nuevo = NULL; familia_fecha_baja_nuevo = NULL; familia_motivo_baja_nuevo = NULL; select codigo into family_cod from sice_familias where codigo = reg_familia.codigo; select fs.fms_id, fs.fms_codigo_familia, fs.fms_crea_fecha, fs.fms_crea_origen, fs.fms_crea_usu, fs.fms_descripcion, fs.fms_fecha_baja, fs.fms_habilitado, fs.fms_motivo_baja, fs.fms_ultmod_fecha, fs.fms_ultmod_origen, fs.fms_ultmod_usu, fs.fms_version into familia_id, familia_codigo_familia, familia_crea_fecha, familia_crea_origen, familia_crea_usu, familia_descripcion, familia_fecha_baja, familia_habilitado, familia_motivo_baja, familia_ultmod_fecha, familia_ultmod_origen, familia_ultmod_usu, familia_version from rupe.rupe_familias_sice fs where fs.fms_codigo_familia = family_cod; select codigo, descripcion, fecha_baja, motivo_baja into family_cod,familia_descripcion_nuevo, familia_fecha_baja_nuevo, familia_motivo_baja_nuevo from sice_familias where codigo = reg_familia.codigo; if (familia_id is null) then familia_crea_usu = 'MIGRACION'; familia_ultmod_usu = 'MIGRACION'; familia_crea_origen = 5; familia_ultmod_origen = 5; if (familia_fecha_baja IS NOT NULL) THEN familia_habilitado = TRUE; end if; insert into rupe.rupe_familias_sice (fms_codigo_familia,fms_crea_fecha,fms_crea_origen,fms_crea_usu,fms_descripcion,fms_fecha_baja,fms_habilitado,fms_motivo_baja,fms_ultmod_fecha,fms_ultmod_origen,fms_ultmod_usu,fms_version) values (family_cod, current_timestamp, familia_crea_origen, familia_crea_usu, familia_descripcion_nuevo, familia_fecha_baja_nuevo, familia_habilitado, familia_motivo_baja_nuevo, current_timestamp, familia_ultmod_origen, familia_ultmod_usu, 0); select fam.fms_id into family_id from rupe.rupe_familias_sice fam where fam.fms_codigo_familia = family_cod; insert into audit.rupe_familias_sice_aud values (family_id,rev,0, family_cod, current_timestamp, familia_crea_origen, familia_crea_usu, familia_descripcion_nuevo, familia_fecha_baja_nuevo, familia_habilitado, familia_motivo_baja_nuevo, current_timestamp, familia_ultmod_origen, familia_ultmod_usu, 0); else if (familia_fecha_baja IS NOT NULL) THEN familia_habilitado = TRUE; end if; if ((familia_descripcion != familia_descripcion_nuevo) or (familia_fecha_baja != familia_fecha_baja_nuevo) or (familia_motivo_baja != familia_motivo_baja_nuevo)) THEN insert into audit.rupe_familias_sice_aud values (familia_id,rev,1, familia_codigo_familia, familia_crea_fecha, familia_crea_origen, familia_crea_usu, familia_descripcion_nuevo, familia_fecha_baja_nuevo, familia_habilitado, familia_motivo_baja_nuevo, current_timestamp, familia_ultmod_origen, 'MIGRACION', familia_version+1); update rupe.rupe_familias_sice set fms_descripcion = familia_descripcion_nuevo, fms_ultmod_fecha = current_timestamp, fms_ultmod_usu = 'MIGRACION', fms_habilitado = familia_habilitado, fms_fecha_baja = familia_fecha_baja_nuevo, fms_motivo_baja = familia_motivo_baja_nuevo, fms_version = (fms_version + 1) where fms_id = familia_id; end if; end if; END LOOP; CLOSE C_familia; Raise debug 'finalizo el proceso de actualizar familias '; END;