Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE
- l_ish_nos pesp_ifce_svc_hist.ish_nos%TYPE;
- l_ish_nos_ant pesp_ifce_svc_hist.ish_nos%TYPE;
- l_solicitud pesp_ifce_svc_hist.sol_nro_solic%TYPE := 1013125;
- l_renglon pesp_ifce_svc_hist.ren_nro_renglon%TYPE := 1;
- l_error VARCHAR2 (1000) := NULL;
- CURSOR c_svc_hist (
- p_solicitud NUMBER,
- p_renglon NUMBER,
- p_ish_nos NUMBER
- )
- IS
- SELECT tpe_codigo,
- ish_nos,
- tmv_cod_os_trasos,
- ish_npa,
- ish_nxx,
- ish_line,
- ish_ctrol_date,
- ish_eff_date,
- ish_contac_date,
- ish_cliente,
- ish_cuenta,
- ish_domi_codigo_i,
- ish_geo_codigo_i,
- ish_tipg_codigo_i,
- ish_foto,
- ish_old_npa,
- ish_old_nxx,
- ish_old_line,
- ish_old_cntl_date,
- ish_fec_fact,
- ish_iva_svc,
- ish_tmov,
- srv_codigo,
- sol_nro_solic,
- ren_nro_renglon,
- ish_mov_sigeco,
- ish_cliente_usu,
- ish_cuenta_usu,
- ish_domi_codigo_dist,
- ish_geo_codigo_dist,
- ish_tipg_codigo_dist,
- fecha_creacion,
- usuario_creacion,
- fecha_ult_mod,
- usuario_ult_mod,
- ish_nro_tarjeta
- FROM pesp_ifce_svc_hist
- WHERE sol_nro_solic = p_solicitud
- AND ren_nro_renglon = p_renglon
- AND ish_nos = p_ish_nos;
- c1 c_svc_hist%ROWTYPE;
- CURSOR c_cgo_hist (p_ish_nos_ant NUMBER)
- IS
- SELECT tpe_codigo,
- ish_nos,
- tmv_cod_os_trasos,
- ihc_trans_code,
- ihc_seq,
- ihc_qty,
- ihc_recurrente,
- ihc_importe,
- ihc_cuotas,
- ihc_variable,
- ihc_operador,
- fecha_creacion,
- usuario_creacion,
- fecha_ult_mod,
- usuario_ult_mod,
- ihc_prefix_code
- FROM pesp_ifce_cgo_hist
- WHERE ish_nos = p_ish_nos_ant;
- c2 c_cgo_hist%ROWTYPE;
- CURSOR c_com_hist (p_ish_nos_ant NUMBER)
- IS
- SELECT tpe_codigo,
- ish_nos,
- tmv_cod_os_trasos,
- ich_commision_code,
- ich_seq,
- ich_revised_qty_commision,
- ich_commision_trans_code,
- ich_commision_rate,
- ich_recurrente,
- fecha_creacion,
- usuario_creacion,
- fecha_ult_mod,
- usuario_ult_mod
- FROM pesp_ifce_com_hist
- WHERE ish_nos = p_ish_nos_ant;
- c3 c_com_hist%ROWTYPE;
- CURSOR c_rni_hist (p_ish_nos_ant NUMBER)
- IS
- SELECT tpe_codigo,
- ish_nos,
- tmv_cod_os_trasos,
- irh_npa,
- irh_nxx,
- irh_rngo_desde,
- irh_rngo_hasta,
- fecha_creacion,
- usuario_creacion,
- fecha_ult_mod,
- usuario_ult_mod
- FROM pesp_ifce_rni_hist
- WHERE ish_nos = p_ish_nos_ant;
- c4 c_rni_hist%ROWTYPE;
- BEGIN
- FOR c1 IN (SELECT sol_nro_solic, ren_nro_renglon
- FROM pesp_renglon
- WHERE (sol_nro_solic, ren_nro_renglon) IN ( (l_solicitud, l_renglon)))
- LOOP
- l_solicitud := c1.sol_nro_solic;
- l_renglon := c1.ren_nro_renglon;
- l_ish_nos := l_solicitud || l_renglon || 999; --> si tira error de constraint, cambiar 888 por 777 o 999 etc
- BEGIN
- SELECT ish_nos
- INTO l_ish_nos_ant
- FROM pesp_ifce_svc_hist
- WHERE sol_nro_solic = l_solicitud
- AND ren_nro_renglon = l_renglon
- AND ROWNUM = 1;
- EXCEPTION
- WHEN OTHERS
- THEN
- DBMS_OUTPUT.put_line ('Error' || SQLERRM);
- l_error := ('Error ' || SQLERRM);
- END;
- BEGIN
- FOR c1 IN c_svc_hist (l_solicitud, l_renglon, l_ish_nos_ant)
- LOOP
- DBMS_OUTPUT.put_line (
- c1.tpe_codigo || '-' || TO_CHAR (l_ish_nos)
- );
- INSERT INTO pesp_ifce_mov_svc (tpe_codigo,
- ims_nos,
- tmv_cod_os_trasos,
- ims_npa,
- ims_nxx,
- ims_line,
- ims_cntl_date,
- ims_eff_date,
- ims_contac_date,
- ims_cliente,
- ims_cuenta,
- ims_domi_codigo_i,
- ims_geo_codigo_i,
- ims_tipg_codigo_i,
- ims_foto,
- ims_old_npa,
- ims_old_nxx,
- ims_old_line,
- ims_old_cntl_date,
- ims_fec_fact,
- ims_iva_svc,
- ims_tmov,
- srv_codigo,
- sol_nro_solic,
- ren_nro_renglon,
- ims_mov_sigeco,
- ims_cliente_usu,
- ims_cuenta_usu,
- ims_domi_codigo_dist,
- ims_geo_codigo_dist,
- ims_tipg_codigo_dist,
- fecha_creacion,
- usuario_creacion,
- fecha_ult_mod,
- usuario_ult_mod,
- ims_nro_tarjeta)
- VALUES (c1.tpe_codigo,
- l_ish_nos,
- c1.tmv_cod_os_trasos,
- c1.ish_npa,
- c1.ish_nxx,
- c1.ish_line,
- c1.ish_ctrol_date,
- c1.ish_eff_date,
- c1.ish_contac_date,
- c1.ish_cliente,
- c1.ish_cuenta,
- c1.ish_domi_codigo_i,
- c1.ish_geo_codigo_i,
- c1.ish_tipg_codigo_i,
- 'N',
- c1.ish_old_npa,
- c1.ish_old_nxx,
- c1.ish_old_line,
- c1.ish_old_cntl_date,
- c1.ish_fec_fact,
- c1.ish_iva_svc,
- c1.ish_tmov,
- c1.srv_codigo,
- c1.sol_nro_solic,
- c1.ren_nro_renglon,
- c1.ish_mov_sigeco,
- c1.ish_cliente_usu,
- c1.ish_cuenta_usu,
- c1.ish_domi_codigo_dist,
- c1.ish_geo_codigo_dist,
- c1.ish_tipg_codigo_dist,
- c1.fecha_creacion,
- c1.usuario_creacion,
- SYSDATE,
- USER,
- c1.ish_nro_tarjeta);
- END LOOP;
- EXCEPTION
- WHEN OTHERS
- THEN
- DBMS_OUTPUT.put_line ('Error en C1');
- DBMS_OUTPUT.put_line ('Error' || SQLERRM);
- l_error := ('Error ' || SQLERRM);
- END;
- BEGIN
- FOR c2 IN c_cgo_hist (l_ish_nos_ant)
- LOOP
- INSERT INTO pesp_ifce_mov_cgo (tpe_codigo,
- ims_nos,
- imc_trans_code,
- imc_seq,
- imc_qty,
- imc_recurrente,
- imc_importe,
- imc_cuotas,
- imc_variable,
- imc_operador,
- fecha_creacion,
- usuario_creacion,
- fecha_ult_mod,
- usuario_ult_mod,
- imc_prefix_code)
- VALUES (c2.tpe_codigo,
- l_ish_nos,
- c2.ihc_trans_code,
- c2.ihc_seq,
- c2.ihc_qty,
- c2.ihc_recurrente,
- c2.ihc_importe,
- c2.ihc_cuotas,
- c2.ihc_variable,
- c2.ihc_operador,
- c2.fecha_creacion,
- c2.usuario_creacion,
- SYSDATE,
- USER,
- c2.ihc_prefix_code);
- END LOOP;
- EXCEPTION
- WHEN OTHERS
- THEN
- DBMS_OUTPUT.put_line ('Error en C2');
- DBMS_OUTPUT.put_line ('Error' || SQLERRM);
- l_error := ('Error ' || SQLERRM);
- END;
- BEGIN
- FOR c3 IN c_com_hist (l_ish_nos_ant)
- LOOP
- INSERT INTO pesp_ifce_comision (tpe_codigo,
- ims_nos,
- ico_commision_code,
- ico_seq,
- ico_revised_qty_commision,
- ico_commision_trans_code,
- ico_commission_rate,
- ico_recurrente,
- fecha_creacion,
- usuario_creacion,
- fecha_ult_mod,
- usuario_ult_mod)
- VALUES (c3.tpe_codigo,
- l_ish_nos,
- c3.ich_commision_code,
- c3.ich_seq,
- c3.ich_revised_qty_commision,
- c3.ich_commision_trans_code,
- c3.ich_commision_rate,
- c3.ich_recurrente,
- c3.fecha_creacion,
- c3.usuario_creacion,
- SYSDATE,
- USER);
- END LOOP;
- EXCEPTION
- WHEN OTHERS
- THEN
- DBMS_OUTPUT.put_line ('Error en C3');
- DBMS_OUTPUT.put_line ('Error' || SQLERRM);
- l_error := ('Error ' || SQLERRM);
- END;
- BEGIN
- FOR c4 IN c_rni_hist (l_ish_nos_ant)
- LOOP
- INSERT INTO pesp_ifce_mov_rni (tpe_codigo,
- ims_nos,
- imr_npa,
- imr_nxx,
- imr_rngo_desde,
- imr_rngo_hasta,
- fecha_creacion,
- usuario_creacion,
- fecha_ult_mod,
- usuario_ult_mod)
- VALUES (c4.tpe_codigo,
- l_ish_nos,
- c4.irh_npa,
- c4.irh_nxx,
- c4.irh_rngo_desde,
- c4.irh_rngo_hasta,
- c4.fecha_creacion,
- c4.usuario_creacion,
- SYSDATE,
- USER);
- END LOOP;
- EXCEPTION
- WHEN OTHERS
- THEN
- DBMS_OUTPUT.put_line ('Error en C4');
- DBMS_OUTPUT.put_line ('Error' || SQLERRM);
- l_error := ('Error ' || SQLERRM);
- END;
- IF l_error IS NULL
- THEN
- DBMS_OUTPUT.put_line ('No Hice COMMIT!');
- ELSE
- ROLLBACK;
- DBMS_OUTPUT.put_line ('Hice ROLLBACK!');
- END IF;
- END LOOP;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement