Migrar Asignacion Inicial Presupuestaria

De CidesaWiki

Saltar a navegación, buscar

1.- Migrar la asignacion de todas las partidas pero a nivel global, es decir, del periodo '00'.

2.- Cargamos la distribucion periodica en base al periodo 00:

   INSERT INTO CPASIINI   (CODPRE,NOMPRE,PERPRE,ANOPRE,MONASI,MONPRC,MONCOM,MONCAU,MONPAG,MONTRA,MONTRN,MONADI,MONDIM,MONAJU,MONDIS,DIFERE,STATUS ) 
   SELECT CODPRE,NOMPRE,
   B.PEREJE,ANOPRE,ROUND(MONASI/12,2) AS MONASI,MONPRC,MONCOM,MONCAU,MONPAG,
  MONTRA,MONTRN,MONADI,MONDIM,MONAJU,ROUND(MONASI/12,2) AS MONDIS,DIFERE,STATUS 
   FROM CPASIINI A,CPPEREJE B WHERE PERPRE='00'  ORDER BY CODPRE,PEREJE

3.-Identificamos los titulos con diferencia por redondeo

create or replace view cpdifasiini as select a.codpre,a.monasi,b.monto,(a.monasi-b.monto) as diferencia from cpasiini a,(select codpre,sum(monasi) as monto from cpasiini where perpre<>'00' group by codpre) b where a.codpre=b.codpre and a.perpre='00' and a.monasi<>b.monto


4.- Generar los script para actualizar los titulos con diferencias.

select 'UPDATE CPASIINI SET MONASI=MONASI+('||TO_CHAR(DIFERENCIA,'0.99')||') WHERE CODPRE='||CHR(39)||CODPRE||CHR(39)||' AND PERPRE='||CHR(39)||'12'||CHR(39)||';' from cpdifasiini

el query anterior me genera un update por cada titulo con diferencia, se deben asegurar que al correr el query se trae todos los registros, luego se copian toda la columna y la copian y ejecutan en la herramienta de base de datos de su preferencia.

6.- consulta nuevamente la vista cpdifasiini para asegurarse que viene vacia (sin titulops con diferencias)

select * from cpdifasiini;

Elaborado por: Oswaldo Gutierrez --- Subido por: Vanessa Escalona

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas