CREATE OR REPLACE PROCEDURE sp_fco_cambio_salud
(
    CIA  	char,
    TABLA      	varchar2,
    COD_TRAB   	char,
    C11A  	char,
    C13A  	char,
    C13B  	char,
    C13C  	char,
    C13D  	char,
    C13E  	char,
    C13F  	char,
    C13G  	char,
    C13H  	char,
    C13I  	char,
    C13J  	char,
    C14A       	number,
    C15A       	number,
    C17A       	number,
    C24A       	number,
    C25A  	varchar2,
    C25B       	number,
    C26A  	varchar2,
    C26B       	number,
    C27A       	number
)
/******************************************************************************************/
/*** Nombre:      sp_fco_cambio_salud                                                ***/
/*** Modulo:      ADAM V3. (Fiscal Colombiano)                                          ***/
/*** Descripcion: permite al usuario corregir las leves inconsistencias que             ***/
/***    	  ocasionalmente puedan presentarse en el reporte ALA Salud             ***/
/***              o en el medio magnético        					***/
/******************************************************************************************/
AS
	w_sql  VARCHAR(3000);
    	nombre_cursor	integer;
    	iRows		integer;
BEGIN
	w_sql := 'UPDATE ' || TABLA ||
     	' SET' ||
	' C11A=''' || NVL(C11A,'C') || ''',' ||
     	' C13A=''' || NVL(C13A,'') || ''',' ||
     	' C13B=''' || NVL(C13B,'') || ''',' ||
     	' C13C=''' || NVL(C13C,'') || ''',' ||
     	' C13D=''' || NVL(C13D,'') || ''',' ||
     	' C13E=''' || NVL(C13E,'') || ''',' ||
     	' C13F=''' || NVL(C13F,'') || ''',' ||
     	' C13G=''' || NVL(C13G,'') || ''',' ||
     	' C13H=''' || NVL(C13H,'') || ''',' ||
     	' C13I=''' || NVL(C13I,'') || ''',' ||
     	' C13J=''' || NVL(C13J,'') || ''',' ||
        ' C14A=' || NVL(TO_CHAR(C14A),'0') || ',' ||
        ' C15A=' || NVL(TO_CHAR(C15A),'0') || ',' ||
        ' C17A=' || NVL(TO_CHAR(C17A),'0') || ',' ||
        ' C24A=' || NVL(TO_CHAR(C24A),'0') || ',' ||
     	' C25A=''' || NVL(C25A,'') || ''',' ||
        ' C25B=' || NVL(TO_CHAR(C25B),'0') || ',' ||
     	' C26A=''' || NVL(C26A,'') || ''',' ||
        ' C26B=' || NVL(TO_CHAR(C26B),'0') || ',' ||
        ' C27A=' || NVL(TO_CHAR(C27A),'0') ||
    	' WHERE CIA=''' || CIA || '''' ||
    	' AND COD_TRAB=''' || COD_TRAB || '''';

        BEGIN
		nombre_cursor := dbms_sql.open_cursor;
		dbms_sql.parse(nombre_cursor, w_sql, dbms_sql.v7);
		iRows := dbms_sql.execute(nombre_cursor);
		dbms_sql.close_cursor(nombre_cursor);
	EXCEPTION
        	WHEN OTHERS THEN
		raise_application_error(-20001, 'Error al Actualizar la Tabla');
		return;
	END;
	commit work;
END;
/
CREATE PUBLIC SYNONYM sp_fco_cambio_salud FOR ADAM.sp_fco_cambio_salud;
GRANT EXECUTE ON sp_fco_cambio_salud TO adama;

