gke_arce_rupe2
.rupe
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
migrar_sub_clases()
Parameters
Name
Type
Mode
Definition
declare rev integer; family_cod varchar(255); family_id integer; sub_family_cod varchar(255); sub_family_id integer; clase_codigo varchar(255); clase_id integer; subClase_codigo varchar(255); subClase_id integer; subClase_codigo_clase varchar(255); subClase_codigo_sub_clase varchar(255); subClase_codigo_familia varchar(255); subClase_codigo_sub_familia varchar(255); subClase_crea_fecha timestamp; subClase_crea_origen integer; subClase_crea_usu varchar(255); subClase_descripcion VARCHAR(255); subClase_fecha_baja date; subClase_habilitado boolean; subClase_motivo_baja varchar(255); subClase_ultmod_fecha timestamp; subClase_ultmod_origen integer; subClase_ultmod_usu varchar(255); subClase_version integer; subClase_clase_id integer; subClase_descripcion_nuevo VARCHAR(255); subClase_fecha_baja_nuevo date; subClase_motivo_baja_nuevo varchar(255); /* cursor que retorna las sub clases en sice*/ C_subClase CURSOR FOR SELECT sa.fami_cod, sa.subf_cod, sa.clas_cod, sa.cod FROM rupe.sice_sub_clases sa; reg_subClase RECORD; BEGIN OPEN C_subClase; /* Recorro todas las sub clases que hay en sice */ LOOP FETCH C_subClase INTO reg_subClase; EXIT WHEN NOT FOUND; rev:= rupe.new_revid(); subClase_fecha_baja = NULL; subClase_motivo_baja = NULL; subClase_id = NULL; subClase_codigo_familia = NULL; subClase_crea_fecha = NULL; subClase_crea_origen = NULL; subClase_crea_usu = NULL; subClase_descripcion = NULL; subClase_habilitado = NULL; subClase_ultmod_fecha = NULL; subClase_ultmod_origen = NULL; subClase_ultmod_usu = NULL; subClase_version = NULL; subClase_habilitado = FALSE; subClase_descripcion_nuevo = NULL; subClase_fecha_baja_nuevo = NULL; subClase_motivo_baja_nuevo = NULL; subClase_codigo_clase = NULL; subClase_codigo_sub_clase = NULL; subClase_codigo_familia = NULL; subClase_codigo_sub_familia = NULL; select fami_cod, subf_cod, clas_cod, cod into family_cod, sub_family_cod, clase_codigo, subClase_codigo from rupe.sice_sub_clases where fami_cod = reg_subClase.fami_cod and subf_cod = reg_subClase.subf_cod and clas_cod = reg_subClase.clas_cod and cod = reg_subClase.cod; select fs.scs_id, fs.scs_codigo_clase, fs.scs_codigo_familia,fs.scs_codigo_sub_clase, fs.scs_codigo_sub_familia, fs.scs_crea_fecha, fs.scs_crea_origen, fs.scs_crea_usu, fs.scs_descripcion, fs.scs_fecha_baja, fs.scs_habilitado, fs.scs_motivo_baja, fs.scs_ultmod_fecha, fs.scs_ultmod_origen, fs.scs_ultmod_usu, fs.scs_version, fs.scs_clase_cls_id into subClase_id, subClase_codigo_clase, subClase_codigo_familia,subClase_codigo_sub_clase, subClase_codigo_sub_familia, subClase_crea_fecha, subClase_crea_origen, subClase_crea_usu, subClase_descripcion, subClase_fecha_baja, subClase_habilitado, subClase_motivo_baja, subClase_ultmod_fecha, subClase_ultmod_origen, subClase_ultmod_usu, subClase_version, subClase_clase_id from rupe.rupe_sub_clases_sice fs where fs.scs_codigo_familia = family_cod and fs.scs_codigo_sub_familia= sub_family_cod and fs.scs_codigo_clase = clase_codigo and fs.scs_codigo_sub_clase = subClase_codigo; select fami_cod, subf_cod, clas_cod, cod, descripcion, fecha_baja, motivo_baja into family_cod, sub_family_cod, clase_codigo, subClase_codigo, subClase_descripcion_nuevo, subClase_fecha_baja_nuevo, subClase_motivo_baja_nuevo from sice_sub_clases where cod = reg_subClase.cod and fami_cod = reg_subClase.fami_cod and subf_cod = reg_subClase.subf_cod and clas_cod = reg_subClase.clas_cod; /*obtengo el id de la clase */ select fm.cls_id into clase_id from rupe.rupe_clases_sice fm where fm.cls_codigo_familia = family_cod and fm.cls_codigo_sub_familia = sub_family_cod and fm.cls_codigo_clase = clase_codigo; if (subClase_id is null) then subClase_habilitado = FALSE; subClase_crea_usu = 'MIGRA'; subClase_ultmod_usu = 'MIGRA'; subClase_crea_origen = 1; subClase_ultmod_origen = 1; if (subClase_fecha_baja_nuevo IS NULL) THEN subClase_habilitado = TRUE; end if; insert into rupe.rupe_sub_clases_sice (scs_codigo_clase, scs_codigo_familia,scs_codigo_sub_clase,scs_codigo_sub_familia,scs_crea_fecha,scs_crea_origen,scs_crea_usu,scs_descripcion,scs_fecha_baja,scs_habilitado,scs_motivo_baja,scs_ultmod_fecha,scs_ultmod_origen,scs_ultmod_usu,scs_version,scs_clase_cls_id) values (clase_codigo,family_cod,subClase_codigo, sub_family_cod, current_timestamp, subClase_crea_origen, subClase_crea_usu, subClase_descripcion_nuevo, subClase_fecha_baja_nuevo, subClase_habilitado, subClase_motivo_baja_nuevo, current_timestamp, subClase_ultmod_origen, subClase_ultmod_usu, 0, clase_id); select fam.scs_id into subClase_id from rupe.rupe_sub_clases_sice fam where fam.scs_codigo_familia = family_cod and fam.scs_codigo_clase = clase_codigo and fam.scs_codigo_sub_familia= sub_family_cod and fam.scs_codigo_sub_clase = subClase_codigo; insert into audit.rupe_sub_clases_sice_aud values (subClase_id,rev,0,clase_codigo,family_cod,subClase_codigo, sub_family_cod, current_timestamp, subClase_crea_origen, subClase_crea_usu, subClase_descripcion_nuevo, subClase_fecha_baja_nuevo, subClase_habilitado, subClase_motivo_baja_nuevo, current_timestamp, subClase_ultmod_origen, subClase_ultmod_usu, 0, clase_id); else if (subClase_fecha_baja_nuevo IS NULL) THEN subClase_habilitado = TRUE; end if; if ((subClase_clase_id != clase_id) or (subClase_descripcion != subClase_descripcion_nuevo) or (subClase_fecha_baja != subClase_fecha_baja_nuevo) or (subClase_motivo_baja != subClase_motivo_baja_nuevo)) THEN insert into audit.rupe_sub_clases_sice_aud values (subClase_id,rev,1,subClase_codigo_clase, subClase_codigo_familia,subClase_codigo_sub_clase,subClase_codigo_sub_familia, subClase_crea_fecha, subClase_crea_origen, subClase_crea_usu, subClase_descripcion_nuevo, subClase_fecha_baja_nuevo, subClase_habilitado, subClase_motivo_baja_nuevo, current_timestamp, subClase_ultmod_origen, 'MIGRA', subClase_version+1,clase_id); update rupe.rupe_sub_clases_sice set scs_descripcion = subClase_descripcion_nuevo, scs_ultmod_fecha = current_timestamp, scs_ultmod_usu = 'MIGRA', scs_habilitado = subClase_habilitado, scs_fecha_baja = subClase_fecha_baja_nuevo, scs_motivo_baja = subClase_motivo_baja_nuevo, scs_version = (scs_version + 1), scs_clase_cls_id = clase_id where scs_id = subClase_id; end if; end if; END LOOP; CLOSE C_subClase; Raise debug 'finalizo el proceso de actualizar las sub clases '; END;