CREATE OR REPLACE PROCEDURE ADAM.sp_fco_cambio_cias_datos_adi
(
  pch_compania             char,
  pch_tipo_id              char,
  pch_cod_dpto             char,
  pvc_cod_ciudad           varchar2,
  pvc_fax                  varchar2,
  pvc_nit_ARP              varchar2,
  pvc_nombre_ARP           varchar2,
  pch_clase_aportante      char,
  pch_forma_presentacion   char,
  pch_sucursal_pagadora    char,
  pch_nro_patronal         char,
  pvc_nombre_retenedor     varchar2,
  pvc_cedula_retenedor     varchar2,
  pvc_agencias             varchar2,
  pti_arp_iss              number,
--Agregado JAS, Reporte Dian Grasco
  pvc_dir_ARP              varchar2,
  pvc_tel_ARP              varchar2,
  pvc_nit_SENA             varchar2,
  pvc_nombre_SENA          varchar2,
  pvc_dir_SENA             varchar2,
  pvc_tel_SENA             varchar2,
  pvc_nit_ICBF             varchar2,
  pvc_nombre_ICBF          varchar2,
  pvc_dir_ICBF             varchar2,
  pvc_tel_ICBF             varchar2,
  pvc_cod_admon            varchar2
)
AS
vti_existe	 number(1);
BEGIN
   vti_existe := 0;
   BEGIN
      SELECT 1
      INTO vti_existe
      FROM fco_cias_datos_adi
      WHERE compania = pch_compania;
   EXCEPTION
      WHEN OTHERS THEN vti_existe := 0;
   END;

   IF vti_existe = 1 THEN
      UPDATE
          fco_cias_datos_adi
      SET
          tipo_id = pch_tipo_id,
          cod_dpto = pch_cod_dpto,
          cod_ciudad = pvc_cod_ciudad,
          fax = pvc_fax,
          nit_ARP = pvc_nit_ARP,
          nombre_ARP = pvc_nombre_ARP,
          clase_aportante = pch_clase_aportante,
          forma_presentacion = pch_forma_presentacion,
          sucursal_pagadora = pch_sucursal_pagadora,
          nro_patronal = pch_nro_patronal,
          nombre_retenedor = pvc_nombre_retenedor,
          cedula_retenedor = pvc_cedula_retenedor,
          agencias = pvc_agencias,
          arp_iss = pti_arp_iss,
          dir_ARP = pvc_dir_ARP,
          tel_ARP = pvc_tel_ARP,
          nit_SENA = pvc_nit_SENA,
          nombre_SENA = pvc_nombre_SENA,
          dir_SENA = pvc_dir_SENA,
          tel_SENA = pvc_tel_SENA,
          nit_ICBF = pvc_nit_ICBF,
          nombre_ICBF = pvc_nombre_ICBF,
          dir_ICBF = pvc_dir_ICBF,
          tel_ICBF = pvc_tel_ICBF,
          cod_admon = pvc_cod_admon
      WHERE
          compania = pch_compania;
   ELSE
       INSERT INTO fco_cias_datos_adi(compania, tipo_id, cod_dpto, cod_ciudad, fax, 
       nit_arp, nombre_arp, clase_aportante, forma_presentacion, sucursal_pagadora, 
       nro_patronal, nombre_retenedor, cedula_retenedor, agencias, arp_iss, 
       dir_arp, tel_arp, nombre_sena, nit_sena, dir_sena, tel_sena, nombre_icbf, 
       nit_icbf, dir_icbf, tel_icbf, cod_admon)
       VALUES (pch_compania, pch_tipo_id, pch_cod_dpto, pvc_cod_ciudad, pvc_fax,
               pvc_nit_ARP, pvc_nombre_ARP, pch_clase_aportante, pch_forma_presentacion,
               pch_sucursal_pagadora, pch_nro_patronal, pvc_nombre_retenedor, pvc_cedula_retenedor,
               pvc_agencias, pti_arp_iss, pvc_dir_ARP, pvc_tel_ARP, pvc_nit_SENA, pvc_nombre_SENA,
               pvc_dir_SENA, pvc_tel_SENA, pvc_nit_ICBF, pvc_nombre_ICBF, pvc_dir_ICBF, pvc_tel_ICBF,
               pvc_cod_admon);

   END IF;

	COMMIT;
END;
/
