CREATE OR REPLACE PROCEDURE sp_fco_alta_reportes_ala
(
       	pch_codigo         char,
       	pch_nombre         char,
       	pch_maneja_EPS     char,
       	pch_maneja_FPO     char,
       	pch_iss_integrado  char,
       	pch_maneja_SUC     char,
        pch_maneja_ARP		 char,
        pch_maneja_ISS		 char,
       	pch_maneja_rep     char,        
       	pch_maneja_mm      char,                
       	pvc_ruta           varchar2,
       	pvc_ruta_salida    varchar2,
        pch_orden          char        
)
AS
    vti_existe			  number(1);
BEGIN
  vti_existe := 0;
  BEGIN
      SELECT 1 INTO vti_existe
      FROM fco_reportes_ala
      WHERE codigo = pch_codigo;
	EXCEPTION
			WHEN OTHERS THEN vti_existe := 0;	      
  END;

  IF vti_existe = 1 THEN
	BEGIN
		UPDATE fco_reportes_ala 
	  	SET Nombre = pch_nombre,
        	Maneja_EPS = pch_maneja_EPS,
        	Maneja_FPO = pch_maneja_FPO,
        	ISS_Integrado = pch_iss_integrado,
        	Maneja_SUC = pch_maneja_SUC,
	      	Maneja_ARP = pch_maneja_ARP,
	      	Maneja_ISS = pch_maneja_ISS,
          maneja_rep = pch_maneja_rep,
	      	maneja_mm = pch_maneja_mm,          
        	ruta_rep   = Replace(pvc_ruta,'/','\'),
	      	ruta_mm = Replace(pvc_ruta_salida,'/','\'),
          orden = pch_orden
	  	WHERE
	      	Codigo = pch_codigo;
	EXCEPTION
		WHEN OTHERS THEN
		raise_application_error(-20001, 'Error al tratar de cambiar en la tabla [fco_reportes_ala]');
		return;
	END;    
  ELSE
	BEGIN
		INSERT INTO fco_reportes_ala VALUES 
		( pch_codigo,
      pch_nombre,
      pch_maneja_EPS,
      pch_maneja_FPO,
      pch_ISS_Integrado,
      pch_maneja_SUC,
      pch_maneja_ARP,
      pch_maneja_ISS,
      pch_maneja_rep,
      pch_maneja_mm,
      Replace(pvc_ruta,'/','\'),
      Replace(pvc_ruta_salida,'/','\'),
      pch_orden
      );
	EXCEPTION
		WHEN OTHERS THEN 
			raise_application_error(-20001, 'Error al tratar de insertar en la tabla [fco_reportes_ala]');
			return;
	END;
  END IF;	
  	COMMIT WORK;
END;
/
CREATE PUBLIC SYNONYM sp_fco_alta_reportes_ala FOR ADAM.sp_fco_alta_reportes_ala;
GRANT EXECUTE ON sp_fco_alta_reportes_ala TO adama;

