Você está na página 1de 5

create or replace package body PKG_DELIVERY_REPLICADOR is

PROCEDURE DELSI_CREA_PRODUCTO(
e_tped_codigo_buscado IN DELT_TIPO_PEDIDO.TPED_CODIGO%TYPE,
e_tped_nombre IN DELT_TIPO_PEDIDO.TPED_NOMBRE%TYPE,
e_ps_id IN DELT_PROD_SERV.PS_ID%TYPE,
e_ps_numero IN DELT_PROD_SERV.PS_NUMERO%TYPE,
e_ps_nombre IN DELT_PROD_SERV.PS_NOMBRE%TYPE,
e_ps_flag_ps IN DELT_PROD_SERV.PS_FLAG_PS%TYPE,
e_ps_sts IN DELT_PROD_SERV.PS_STS%TYPE,
e_ps_descr IN DELT_PROD_SERV.PS_DESCR%TYPE,
e_ps_cod_sap IN DELT_PROD_SERV.PS_COD_SAP%TYPE
)IS
e_tped_codigo DELT_TIPO_PEDIDO.TPED_CODIGO%TYPE;
e_tped_codigo_encontrado DELT_TIPO_PEDIDO.TPED_CODIGO%TYPE;
e_tped_codsap DELT_TIPO_PEDIDO.TPED_CODSAP%TYPE;
e_tped_cmindreag DELT_TIPO_PEDIDO.TPED_CMINDREAG%TYPE;
e_tped_cmaxreag DELT_TIPO_PEDIDO.TPED_CMAXREAG%TYPE;
e_tped_flgreag DELT_TIPO_PEDIDO.TPED_FLGREAG%TYPE;
e_tped_descr DELT_TIPO_PEDIDO.TPED_DESCR%TYPE;
e_tprod_cmaxdiadev DELT_TIPO_PEDIDO.TPROD_CMAXDIADEV%TYPE;
e_tprod_cmaxreagdev DELT_TIPO_PEDIDO.TPROD_CMAXREAGDEV%TYPE;
e_flu_codigo DELT_TIPO_PEDIDO.FLU_CODIGO%TYPE;
e_seg_codigo DELT_TIPO_PEDIDO.SEG_CODIGO%TYPE;
e_tped_sts DELT_TIPO_PEDIDO.TPED_STS%TYPE;
e_tprod_codigo DELT_CATEGORIA.TPROD_CODIGO%TYPE;
e_ps_id_encontrado DELT_PS_TPED.PS_ID%TYPE;
e_bho_nombre DELT_BANDA_HORARIA.BHO_NOMBRE%TYPE;
e_tid_codigo DELT_BANDA_HORARIA.TID_CODIGO%TYPE;
e_cdist_codigo DELT_BANDA_HORARIA.CDIST_CODIGO%TYPE;
e_bho_hor_inicio DELT_BANDA_HORARIA.BHO_HOR_INICIO%TYPE;
e_bho_hor_fin DELT_BANDA_HORARIA.BHO_HOR_FIN%TYPE;
e_bho_flg_cambio DELT_BANDA_HORARIA.BHO_FLG_CAMBIO%TYPE;
e_tra_codigo DELT_BANDA_HORARIA.TRA_CODIGO%TYPE;
e_bhp_fec_cambio DELT_BANDA_HORARIA.BHP_FEC_CAMBIO%TYPE;
e_bho_sts DELT_BANDA_HORARIA.BHO_STS%TYPE;
e_dist_codigo DELT_REL_DEL_PROD.DIST_CODIGO%TYPE;
e_prov_codigo DELT_REL_DEL_PROD.PROV_CODIGO%TYPE;
e_dep_codigo DELT_REL_DEL_PROD.DEP_CODIGO%TYPE;
e_tdel_codigo DELT_REL_DEL_PROD.TDEL_CODIGO%TYPE;
e_rdp_sts DELT_REL_DEL_PROD.RDP_STS%TYPE;
BEGIN
e_tped_codigo := DELSQ_TIPO_PEDIDO.NEXTVAL;
BEGIN
SELECT tped.tped_codigo,
tped.tped_codsap, tped.tped_cmindreag, tped.tped_cmaxreag, tped.tp
ed_flgreag,
tped.tped_descr, tped.tprod_cmaxdiadev, tped.tprod_cmaxreagdev, tp
ed.flu_codigo,
tped.seg_codigo, tped.tped_sts, tped.tprod_codigo
INTO e_tped_codigo_encontrado,
e_tped_codsap, e_tped_cmindreag, e_tped_cmaxreag, e_tped_flgreag,
e_tped_descr, e_tprod_cmaxdiadev, e_tprod_cmaxreagdev, e_flu_codigo,
e_seg_codigo, e_tped_sts, e_tprod_codigo
FROM DELT_TIPO_PEDIDO tped
WHERE tped.tped_codigo = e_tped_codigo_buscado;
END;
BEGIN
SELECT pstped.ps_id
INTO e_ps_id_encontrado
FROM DELT_PS_TPED pstped
WHERE pstped.tped_codigo = e_tped_codigo_buscado;
END;
BEGIN
SELECT bah.bho_nombre, bah.tid_codigo, bah.tped_codigo,
bah.cdist_codigo, bah.bho_hor_inicio, bah.bho_hor_fin,
bah.bho_flg_cambio, bah.tra_codigo, bah.bhp_fec_cambio,
bah.bho_sts
INTO e_bho_nombre, e_tid_codigo, e_tped_codigo,
e_cdist_codigo, e_bho_hor_inicio, e_bho_hor_fin,
e_bho_flg_cambio, e_tra_codigo, e_bhp_fec_cambio,
e_bho_sts
FROM DELT_BANDA_HORARIA bah
WHERE bah.tped_codigo = e_tped_codigo_buscado;
END;
BEGIN
SELECT rdp.dist_codigo, rdp.prov_codigo, rdp.dep_codigo,
rdp.tdel_codigo, rdp.rdp_sts
INTO e_dist_codigo, e_prov_codigo, e_dep_codigo,
e_tdel_codigo, e_rdp_sts
FROM DELT_REL_DEL_PROD rdp
WHERE rdp.tped_codigo = e_tped_codigo_buscado;
END;
IF e_tped_codigo_encontrado IS NOT NULL THEN
PKG_DELIVERY_REPLICADOR.DELSI_INSERTAR_TPED(
e_tped_codigo,
e_tped_nombre,
e_tped_codsap,
e_tped_cmindreag,
e_tped_cmaxreag,
e_tped_flgreag,
e_tped_descr,
e_tprod_cmaxdiadev,
e_tprod_cmaxreagdev,
e_flu_codigo,
e_seg_codigo,
e_tped_sts,
e_tprod_codigo);
PKG_DELIVERY_REPLICADOR.DELSI_RELAC_PS_TPED(
e_tped_codigo,
e_ps_id);
PKG_DELIVERY_REPLICADOR.DELSI_INSERTAR_BAND_HOR(
e_bho_nombre,
e_tid_codigo,
e_tped_codigo,
e_cdist_codigo,
e_bho_hor_inicio,
e_bho_hor_fin,
e_bho_flg_cambio,
e_tra_codigo,
e_bhp_fec_cambio,
e_bho_sts);
PKG_DELIVERY_REPLICADOR.DELSI_INSERTAR_DEL_PROD(
e_tped_codigo,
e_dist_codigo,
e_prov_codigo,
e_dep_codigo,
e_tdel_codigo,
e_rdp_sts);
END IF;
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR ( -20100, 'Procedure DELSI_CREA_PRODUCTO, Er
ror ' ||SQLERRM);
END DELSI_CREA_PRODUCTO;
PROCEDURE DELSI_INSERTAR_TPED(
e_tped_codigo IN DELT_TIPO_PEDIDO.TPED_CODIGO%TYPE,
e_tped_nombre IN DELT_TIPO_PEDIDO.TPED_NOMBRE%TYPE,
e_tped_codsap IN DELT_TIPO_PEDIDO.TPED_CODSAP%TYPE,
e_tped_cmindreag IN DELT_TIPO_PEDIDO.TPED_CMINDREAG%TYPE,
e_tped_cmaxreag IN DELT_TIPO_PEDIDO.TPED_CMAXREAG%TYPE,
e_tped_flgreag IN DELT_TIPO_PEDIDO.TPED_FLGREAG%TYPE,
e_tped_descr IN DELT_TIPO_PEDIDO.TPED_DESCR%TYPE,
e_tprod_cmaxdiadev IN DELT_TIPO_PEDIDO.TPROD_CMAXDIADEV%TYPE,
e_tprod_cmaxreagdev IN DELT_TIPO_PEDIDO.TPROD_CMAXREAGDEV%TYPE,
e_flu_codigo IN DELT_TIPO_PEDIDO.FLU_CODIGO%TYPE,
e_seg_codigo IN DELT_TIPO_PEDIDO.SEG_CODIGO%TYPE,
e_tped_sts IN DELT_TIPO_PEDIDO.TPED_STS%TYPE,
e_tprod_codigo IN DELT_CATEGORIA.TPROD_CODIGO%TYPE
)IS
BEGIN
INSERT INTO DELT_TIPO_PEDIDO
(tped_codigo, tped_nombre,
tped_codsap, tped_cmindreag,
tped_cmaxreag, tped_flgreag,
tped_descr, tprod_cmaxdiadev,
tprod_cmaxreagdev, flu_codigo,
seg_codigo, tped_sts,
tped_usu_cre, tped_fec_cre,
tprod_codigo)
VALUES
(e_tped_codigo,
e_tped_nombre, e_tped_codsap,
e_tped_cmindreag, e_tped_cmaxreag,
e_tped_flgreag, e_tped_descr,
e_tprod_cmaxdiadev, e_tprod_cmaxreagdev,
e_flu_codigo, e_seg_codigo,
e_tped_sts, PKG_DELIVERY_REPLICADOR.cpkgdel_cod_usu_admin,
SYSDATE, e_tprod_codigo);
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR ( -20100, 'Procedure DELSI_INSERTAR_TPED, Er
ror ' ||SQLERRM);
END DELSI_INSERTAR_TPED;
PROCEDURE DELSI_RELAC_PS_TPED(
e_tped_codigo IN DELT_PS_TPED.TPED_CODIGO%TYPE,
e_ps_id IN DELT_PS_TPED.PS_ID%TYPE
)IS
BEGIN
INSERT INTO DELT_PS_TPED
(ps_id, tped_codigo)
VALUES
(e_ps_id, e_tped_codigo);
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR ( -20100, 'Procedure DELSI_RELAC_PS_TPED, Er
ror ' ||SQLERRM);
END DELSI_RELAC_PS_TPED;
PROCEDURE DELSI_INSERTAR_BAND_HOR(
e_bho_nombre IN DELT_BANDA_HORARIA.BHO_NOMBRE%TYPE,
e_tid_codigo IN DELT_BANDA_HORARIA.TID_CODIGO%TYPE,
e_tped_codigo IN DELT_BANDA_HORARIA.TPED_CODIGO%TYPE,
e_cdist_codigo IN DELT_BANDA_HORARIA.CDIST_CODIGO%TYPE,
e_bho_hor_inicio IN DELT_BANDA_HORARIA.BHO_HOR_INICIO%TYPE,
e_bho_hor_fin IN DELT_BANDA_HORARIA.BHO_HOR_FIN%TYPE,
e_bho_flg_cambio IN DELT_BANDA_HORARIA.BHO_FLG_CAMBIO%TYPE,
e_tra_codigo IN DELT_BANDA_HORARIA.TRA_CODIGO%TYPE,
e_bhp_fec_cambio IN DELT_BANDA_HORARIA.BHP_FEC_CAMBIO%TYPE,
e_bho_sts IN DELT_BANDA_HORARIA.BHO_STS%TYPE
)IS
BEGIN
insert into delt_banda_horaria
(bho_codigo, bho_nombre, tid_codigo,
tped_codigo, cdist_codigo, bho_hor_inicio,
bho_hor_fin, bho_flg_cambio, tra_codigo,
bhp_fec_cambio, bho_sts, bho_usu_cre,
bho_fec_cre)
values
(DELSQ_BANDA_HORARIA.NEXTVAL, e_bho_nombre, e_tid_codigo,
e_tped_codigo, e_cdist_codigo, e_bho_hor_inicio,
e_bho_hor_fin, e_bho_flg_cambio, e_tra_codigo,
e_bhp_fec_cambio, e_bho_sts, PKG_DELIVERY_REPLICADOR.cpkgdel_cod_usu_admi
n,
SYSDATE);
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR ( -20100, 'Procedure DELSI_INSERTAR_BAND_HOR
, Error ' ||SQLERRM);
END DELSI_INSERTAR_BAND_HOR;
PROCEDURE DELSI_INSERTAR_DEL_PROD(
e_tped_codigo IN DELT_REL_DEL_PROD.TPED_CODIGO%TYPE,
e_dist_codigo IN DELT_REL_DEL_PROD.DIST_CODIGO%TYPE,
e_prov_codigo IN DELT_REL_DEL_PROD.PROV_CODIGO%TYPE,
e_dep_codigo IN DELT_REL_DEL_PROD.DEP_CODIGO%TYPE,
e_tdel_codigo IN DELT_REL_DEL_PROD.TDEL_CODIGO%TYPE,
e_rdp_sts IN DELT_REL_DEL_PROD.RDP_STS%TYPE
)IS
BEGIN
INSERT INTO delt_rel_del_prod
(tped_codigo, dist_codigo, prov_codigo,
dep_codigo, tdel_codigo, rdp_sts,
rdp_usu_cre, rdp_fec_cre)
VALUES
(e_tped_codigo, e_dist_codigo, e_prov_codigo,
e_dep_codigo, e_tdel_codigo, e_rdp_sts,
PKG_DELIVERY_REPLICADOR.cpkgdel_cod_usu_admin, SYSDATE);
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR ( -20100, 'Procedure DELSI_INSERTAR_DEL_PROD
, Error ' ||SQLERRM);
END DELSI_INSERTAR_DEL_PROD;

end PKG_DELIVERY_REPLICADOR;