CREATE OR REPLACE VIEW vw_fco_administradoras
AS
-- EPS
SELECT c.compania, NVL(a.codigo, EPS.dato) AS codigo, RTRIM(EPS.descripcion) AS descripcion,
a.registro_fiscal, a.digito_verificacion, a.direccion, a.telefono, 
a.cod_super, a.cod_alterno, 'EPS' AS tipo, a.agrupacion, a.forma_presentacion,
a.departamento, a.municipio
FROM datos_agr_trab EPS, companias c, fco_administradoras a
WHERE 1=1
AND a.codigo = EPS.dato(+)
AND a.tipo = 'EPS'
AND RTRIM(EPS.agrupacion) = RTRIM(NVL((SELECT x.dato FROM vw_fdt_parametros x 
                          WHERE x.pais = 'COL' AND x.compania = c.compania
                          AND parametro = 'autoliq' AND secuencia = 21), 'EPS'))
UNION ALL
-- AFP
SELECT c.compania, NVL(a.codigo, AFP.dato), RTRIM(AFP.descripcion),
a.registro_fiscal, a.digito_verificacion, a.direccion, a.telefono, 
a.cod_super, a.cod_alterno, 'AFP', a.agrupacion, a.forma_presentacion,
a.departamento, a.municipio
FROM datos_agr_trab AFP, companias c, fco_administradoras a
WHERE 1=1
AND a.codigo = AFP.dato(+)
AND a.tipo = 'AFP'
AND RTRIM(AFP.agrupacion) = RTRIM(NVL((SELECT x.dato FROM vw_fdt_parametros x 
                          WHERE x.pais = 'COL' AND x.compania = c.compania
                          AND parametro = 'autoliq' AND secuencia = 22), 'AFP'))
UNION ALL
-- CCF
SELECT c.compania, NVL(a.codigo, CCF.dato), RTRIM(CCF.descripcion),
a.registro_fiscal, a.digito_verificacion, a.direccion, a.telefono, 
a.cod_super, a.cod_alterno, 'CCF', a.agrupacion, a.forma_presentacion,
a.departamento, a.municipio
FROM datos_agr_trab CCF, companias c, fco_administradoras a
WHERE 1=1
AND a.codigo = CCF.dato(+) 
AND a.tipo = 'CCF'
AND RTRIM(CCF.agrupacion) = RTRIM(NVL((SELECT x.dato FROM vw_fdt_parametros x 
                          WHERE x.pais = 'COL' AND x.compania = c.compania
                          AND parametro = 'parafiscal' AND secuencia = 1), 'CAJAS'));

CREATE PUBLIC SYNONYM vw_fco_administradoras FOR ADAM.vw_fco_administradoras;
GRANT ALL ON vw_fco_administradoras TO ADAMA;
