CREATE OR REPLACE PROCEDURE sp_fco_proc_traslados_fpo
(
	i_compania       char,
	i_anio		 char,
	i_mes		 char
)
AS
	w_trabajador 	char(10);
	w_nueva		char(10);

	CURSOR cr_traslados IS
	SELECT	trabajador, fpo_nueva
 	FROM	fco_traslados_fpo
	WHERE	compania = i_compania AND
		SUBSTR(TO_CHAR(fecha_cambio,'YYYYMMDD'),1,6) = i_anio || LPad(LTrim(RTrim(i_mes)), 2, '0');
BEGIN
	OPEN cr_traslados;
	LOOP
		FETCH cr_traslados INTO w_trabajador, w_nueva;
		EXIT WHEN cr_traslados%NOTFOUND;

		UPDATE 	REL_TRAB_AGR
		SET	dato = w_nueva
		WHERE	compania = i_compania
		AND	trabajador = w_trabajador
		AND	Trim(agrupacion) = Trim(nvl((SELECT dato FROM vw_fdt_parametros x
     WHERE pais = 'COL' AND x.compania = rel_trab_agr.compania
       AND x.parametro = 'autoliq' AND x.secuencia = 22), 'FPO'));
        END LOOP;
	CLOSE cr_traslados;

  	UPDATE fco_traslados_fpo SET estado = 1
	WHERE	compania = i_compania AND
		SUBSTR(TO_CHAR(fecha_cambio,'YYYYMMDD'),1,6) = i_anio || LPad(LTrim(RTrim(i_mes)), 2, '0');

    COMMIT WORK;

END;
/
CREATE PUBLIC SYNONYM sp_fco_proc_traslados_fpo FOR ADAM.sp_fco_proc_traslados_fpo;
GRANT EXECUTE ON sp_fco_proc_traslados_fpo TO adama;
