gke_arce_rupe2
.rupe
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
migrar_cuentas_brou()
Parameters
Name
Type
Mode
Definition
declare salir boolean := FALSE; rev integer; /* variables auxiliares para actualizar los registros */ cnt_id_aux integer; /* serial ??*/ cnt_alcance_string_aux varchar(4000); cnt_ciudad_banco_aux varchar(255); cnt_ciudad_banco_intermediario_aux varchar(255); cnt_codigo_swift_aux varchar(255); cnt_codigo_swift_banco_intermedio_aux varchar(255); cnt_crea_fecha_aux timestamp; cnt_crea_origen_aux integer; cnt_crea_usu_aux varchar(255); cnt_descripcion_aux varchar(255); cnt_direccion_banco_destino_aux varchar(255); cnt_estado_datos_descripcion_aux varchar(255); cnt_fecha_valida_aux date; cnt_nombre_banco_aux varchar(255); cnt_nombre_banco_intermedio_aux varchar(255); cnt_nro_cuenta_aux varchar(255); cnt_numero_aba_aux varchar(255); cnt_sucursal_aux varchar(255); cnt_titular_cuenta_aux varchar(255); cnt_ultmod_fecha_aux timestamp; cnt_ultmod_origen_aux integer; cnt_ultmod_usu_aux varchar(255); cnt_usuario_valida_aux varchar(255); cnt_version_aux integer; cnt_ban_id_aux integer; cnt_ban_int_id_aux integer; cnt_estado_cuenta_bancaria_ecu_id_aux integer; cnt_estado_datos_aux integer; cnt_pais_banco_pai_id_aux integer; cnt_pais_banco_intermediaria_aux integer; cnt_proveedor_prv_id_aux integer; cnt_sucursal_id_aux integer; cnt_tipo_cuenta_bancaria_tcb_id_aux integer; cnt_tipo_moneda_mon_id_aux integer; cnt_iban_aux varchar(255); cnt_eliminado_aux boolean; /* cursor que retorna las cuentas bancarias del banco BROU (no eliminadas y en estado: Pendiente Validar o Validada)*/ C_cuenta_bancaria CURSOR FOR SELECT cb.cnt_id, cb.sba_codigo_sucursal, cb.cnt_nro_cuenta, cb.cnt_version, cb.Cuenta_BROU_Nueva FROM rupe.mapeo_cuentas_brou cb; reg_cuenta_bancaria RECORD; BEGIN /* invoco a la funcion new_revid que inserta un nuevo registro en la tabla audit.revinfo y retorna el indentificador del nuevo registro*/ rev:= rupe.new_revid(); OPEN C_cuenta_bancaria; /*Recorro todas las cuentas bancarias del BROU y actualizo numero de cuenta, versión, ultimo usuario de modificación, fecha de modificación. Se inserta un nuevo registro en la tabla de auditado*/ LOOP FETCH C_cuenta_bancaria INTO reg_cuenta_bancaria; EXIT WHEN NOT FOUND; /* Obtengo los datos actules de la cuenta bancaria de id = reg_cuenta_bancaria */ SELECT cb.cnt_id,cb.cnt_alcance_string,cb.cnt_ciudad_banco,cb.cnt_ciudad_banco_intermediario,cb.cnt_codigo_swift, cb.cnt_codigo_swift_banco_intermedio,cb.cnt_crea_fecha,cb.cnt_crea_origen,cb.cnt_crea_usu, cb.cnt_descripcion,cb.cnt_direccion_banco_destino,cb.cnt_estado_datos_descripcion,cb.cnt_fecha_valida, cb.cnt_nombre_banco,cb.cnt_nombre_banco_intermedio,cb.cnt_nro_cuenta,cb.cnt_numero_aba,cb.cnt_sucursal, cb.cnt_titular_cuenta,cb.cnt_ultmod_fecha,cb.cnt_ultmod_origen,cb.cnt_ultmod_usu,cb.cnt_usuario_valida, cb.cnt_version,cb.cnt_ban_id,cb.cnt_ban_int_id,cb.cnt_estado_cuenta_bancaria_ecu_id,cb.cnt_estado_datos, cb.cnt_pais_banco_pai_id,cb.cnt_pais_banco_intermediaria,cb.cnt_proveedor_prv_id,cb.cnt_sucursal_id, cb.cnt_tipo_cuenta_bancaria_tcb_id,cb.cnt_tipo_moneda_mon_id,cb.cnt_iban,cb.cnt_eliminado INTO cnt_id_aux,cnt_alcance_string_aux,cnt_ciudad_banco_aux,cnt_ciudad_banco_intermediario_aux,cnt_codigo_swift_aux, cnt_codigo_swift_banco_intermedio_aux,cnt_crea_fecha_aux,cnt_crea_origen_aux,cnt_crea_usu_aux, cnt_descripcion_aux,cnt_direccion_banco_destino_aux,cnt_estado_datos_descripcion_aux, cnt_fecha_valida_aux,cnt_nombre_banco_aux,cnt_nombre_banco_intermedio_aux,cnt_nro_cuenta_aux,cnt_numero_aba_aux, cnt_sucursal_aux,cnt_titular_cuenta_aux,cnt_ultmod_fecha_aux,cnt_ultmod_origen_aux,cnt_ultmod_usu_aux,cnt_usuario_valida_aux, cnt_version_aux,cnt_ban_id_aux,cnt_ban_int_id_aux,cnt_estado_cuenta_bancaria_ecu_id_aux,cnt_estado_datos_aux,cnt_pais_banco_pai_id_aux, cnt_pais_banco_intermediaria_aux,cnt_proveedor_prv_id_aux,cnt_sucursal_id_aux,cnt_tipo_cuenta_bancaria_tcb_id_aux, cnt_tipo_moneda_mon_id_aux,cnt_iban_aux,cnt_eliminado_aux FROM rupe.rupe_cuentas_bancarias cb WHERE cb.cnt_id = reg_cuenta_bancaria.cnt_id; /* inserto una nueva tupla en la tabla de auditado con la cuenta actualizada (el campo revtype representa tipo de operacion 0 add, 1 mod, 2 del, en este caso es 1) */ INSERT INTO audit.rupe_cuentas_bancarias_aud VALUES (cnt_id_aux,rev,1,cnt_alcance_string_aux,cnt_ciudad_banco_aux,cnt_ciudad_banco_intermediario_aux,cnt_codigo_swift_aux, cnt_codigo_swift_banco_intermedio_aux,cnt_crea_fecha_aux,cnt_crea_origen_aux,cnt_crea_usu_aux, cnt_descripcion_aux,cnt_direccion_banco_destino_aux,cnt_estado_datos_descripcion_aux, cnt_fecha_valida_aux,cnt_nombre_banco_aux,cnt_nombre_banco_intermedio_aux,reg_cuenta_bancaria.Cuenta_BROU_Nueva,cnt_numero_aba_aux, 'SUCURSAL POR DEFECTO',cnt_titular_cuenta_aux,current_timestamp,cnt_ultmod_origen_aux,'ADMIN',cnt_usuario_valida_aux, cnt_version_aux+1,cnt_ban_id_aux,cnt_ban_int_id_aux,cnt_estado_cuenta_bancaria_ecu_id_aux,cnt_estado_datos_aux,cnt_pais_banco_pai_id_aux, cnt_pais_banco_intermediaria_aux,cnt_proveedor_prv_id_aux,89,cnt_tipo_cuenta_bancaria_tcb_id_aux, cnt_tipo_moneda_mon_id_aux,cnt_iban_aux,cnt_eliminado_aux); /*Actualizo los campos numero de cuenta, ultimo usuario modificación, fecha modificación, numero de versión en el registro correspondiente*/ UPDATE rupe.rupe_cuentas_bancarias SET cnt_nro_cuenta = reg_cuenta_bancaria.Cuenta_BROU_Nueva , cnt_version = (cnt_version_aux + 1), cnt_ultmod_fecha = current_timestamp, cnt_ultmod_usu = 'ADMIN', cnt_sucursal_id = 89, cnt_sucursal = 'SUCURSAL POR DEFECTO' WHERE cnt_id = reg_cuenta_bancaria.cnt_id; END LOOP; CLOSE C_cuenta_bancaria; Raise debug 'finalizo el proceso de actualizar cuentas '; END;