CREATE OR REPLACE PROCEDURE sp_fco_cambio_riesgos
(
	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,
	C13K  		number,
  C14A      number,
  C15A      number,
  C17A      number,
	C28A  		number,
	C28B  		number,
  C29A      number,
  C30A      varchar2,
  C30B      varchar2
)
/******************************************************************************************/
/*** Nombre:      sp_fco_cambio_riesgos                                                	***/
/*** Modulo:      ADAM V3. (Fiscal Colombiano)                                          ***/
/*** Descripcion: permite al usuario corregir las leves inconsistencias que             ***/
/***    ocasionalmente puedan presentarse en el reporte ALA ARP             		***/
/***              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,'') || ''',' ||
     	' C13K=' || NVL(TO_CHAR(C13K),'0') || ',' ||
     	' C14A=' || NVL(TO_CHAR(C14A),'0') || ',' ||
     	' C15A=' || NVL(TO_CHAR(C15A),'0') || ',' ||
     	' C17A=' || NVL(TO_CHAR(C17A),'0') || ',' ||
     	' C28A=' || NVL(TO_CHAR(C28A),'0') || ',' ||
     	' C28B=' || NVL(TO_CHAR(C28B),'0') || ',' ||
     	' C29A=' || NVL(TO_CHAR(C29A),'0') || ',' ||
     	' C30A=''' || NVL(C30A,'') || ''',' ||
     	' C30B=''' || NVL(C30B,'') || '''' ||
    	' WHERE CIA=''' || CIA || '''' ||
    	' AND COD_TRAB=''' || COD_TRAB || '''' ||
    	' AND C17A <> 0';

        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_riesgos FOR ADAM.sp_fco_cambio_riesgos;
GRANT EXECUTE ON sp_fco_cambio_riesgos TO adama;
