Diferencia entre revisiones de «Subir Planillas Web»

De Wiki
Saltar a: navegación, buscar
(Ejecutar el Script de publicación de la Planilla Virtual)
 
(No se muestran 51 ediciones intermedias de 3 usuarios)
Línea 1: Línea 1:
 +
= METODO NUEVO=
 +
 +
== Motivo del Nuevo Método ==
 +
 +
Se describe este nuevo procedimiento debido a que se genero unas modificaciones en el Script que sube las bases a la '''Planilla Virtual''' y se automatizo el armado de la estructura correcta de las bases del '''Sistema de Recibos'''
 +
 +
== Estructura Inicial ==
 +
 +
Para poder llevar a cabo este procedimiento se debe encontrar la siguiente estructura:
 +
 +
    T:\reportes\recibos\datos\AAAAMM\|- recibo1.DBF            Donde:
 +
                                      |- recibo2.DBF                  AAAA=Año de 4 digitos
 +
                                      |- recibo3.DBF                    MM= Mes de 2 digitos
 +
 +
== Interfaz ==
 +
 +
[[Imagen:Gen_bases_recib2.PNG]]
 +
 +
 +
== Procedimiento de Ejecución ==
 +
 +
=== Generar Archivos para Planilla Virtual ===
 +
 +
# Verificar que se encuentre la Estructura Inicial.
 +
# Ingresar al Sistema '''Werken 2.0'''.
 +
# Ingresar a la opción '''Operaciones'''.
 +
# Ingresar a la opción '''Post-Liquidación'''.
 +
# Seleccionar la opción '''Generar Bases para Sistema de Recibos''' y presionar el botón '''Ejecutar'''.
 +
# A continuación se abrirá la ventana que se muestra en el apartado de '''Interfaz''' (OJO; previo a esto mostrará un cartel de advertencia, pero es para el procedimiento anterior).
 +
# Seleccionar el periodo correspondiente (Mes y Año).
 +
# Presionar el botón '''Generar Recibos Planilla Virtual'''.
 +
# Se generará en '''T:\Planilla_Virtual\AAAAMM''' los archivos '''recibo1.DBF''', '''recibo2.DBF''' y '''recibo3.DBF'''.
 +
# Verificar que el nombre de los archivos generados en '''T:\Planilla_Virtual\AAAAMM''' respeten la siguiente estructura: '''recibo#.DBF''', donde '''recibo#''' debe estar en minúscula y la extensión '''.DBF''' en mayuscula. De no ser así corregirlo.
 +
# Ingresar en '''recibo2.DBF''' y '''recibo3.DBF'''. Ir al final de cada archivo y borrar los registros que se encuentren en blanco. Se suelen generar registros basura que generan errores al subir los archivos, por lo cual hay que borrarlos.
 +
## Seleccionar los registros en blanco
 +
## En la ventana de comandos ingresar la instrucción '''PACK'''.
 +
 +
=== Posicionar los Archivos para la Planilla Virtual ===
 +
 +
# Conectarse por '''ftp''' al '''200.16.30.9'''
 +
## Loguearse con el usuario '''dgp''' e ingresar la contraseña correspondiente.
 +
# Copiar los archivos '''recibo1.DBF''', '''recibo2.DBF''' y '''recibo3.DBF''' que se encuentran en '''T:\Planilla_Virtual\AAAAMM''' a '''/htdocs/sitios/sitiodgp/planilla_web/recibos/'''. Es importante recordar el formato del nombre del archivo recibo#.DBF (nombre en minúscula y extensión en mayúscula).
 +
 +
=== Vaciar la Base de Datos Temporal ===
 +
 +
# Desde cualquier navegador web, ingresar al '''phpPgAdmin'''.
 +
## Conectarse a '''http://www.dgp.unc.edu.ar/Pg/'''.
 +
## Loguearse con el usuario: '''dgppostgres''' e ingresar la contraseña correspondiente.
 +
# Ingresar a la Base de Datos '''haberes_temp'''.
 +
# Vaciar las tablas '''recibo1''', '''recibo2''' y '''recibo3'''.
 +
# Limpiar las tablas '''recibo1''', '''recibo2''' y '''recibo3'''.
 +
## Dentro de la opción de limpieza seleccionar las opciones:'''Full''' y ''' Analizar'''
 +
 +
=== Ejecutar el Script para subir los datos a la Base Temporal ===
 +
 +
# Conectarse por '''ssh''' al '''200.16.30.9'''.
 +
# Loguearse con el usuario '''dgp''' e ingresar la clave correspondiente.
 +
# Loguearse como usario '''root''' a través del siguiente comando:
 +
 +
    '''su --'''
 +
 +
Una vez logueado como '''root''', ingresar los siguientes comandos:
 +
 +
    cd htdocs/sitios/sitiodgp/planilla_web/
 +
    ./subir_planillas.pl
 +
 +
Esto carga las tablas recibo1,recibo2 y recibo3 de la base '''haberes_temp'''.
 +
 +
'''Control Solo en el caso de que se pierdan datos:''' Desde FOX contar las cantidades de los registros de las tablas recibo1.DBF, recibo2.DBF y recibo3.DBF de T:\Planilla_Virtual\AAAAMM. Hacer lo mismo para las tablas recibo1, recibo2 y recibo3 de la base de datos habares_temp. Si no coincide, no continuar y ver donde esta el problema(habia un bug en subir_planillas.pl, que ya  se arreglo en abril 2012)
 +
Además desde Fox debemos verificar cuantos archivos '''deleteados''' hay, ya que estos no son subidos a las planillas Web y pueden representar una diferencia entre la cantidad de registros de la planilla web y los registros de la DBF que estamos trabajando. Para ello:
 +
 +
    Ejemplo:
 +
            use c:\recib\201206\recibo3 in 0
 +
            select recibo3
 +
            set dele off
 +
            brow for deleted()
 +
            count for deleted() to a
 +
            ?a
 +
             
 +
            '''a--> es la variable que almacena la cantidad de archivos deleteados'''
 +
 +
=== Ejecutar el Script de publicación de la Planilla Virtual ===
 +
 +
# Loguearse como '''postgres''' vía '''ssh''' a través del comando '''su postgres'''.
 +
# Hacer el dump de la base haberers_temp a través de los siguientes comandos:
 +
    cd
 +
    /usr/bin/pg_dump -U postgres -d haberes_temp > ./haberesMMAA_final.sql
 +
# Levantar el dump a la base de datos '''haberes''' a través de los siguientes comandos:
 +
    # cd
 +
    # /usr/bin/psql -U postgres haberes < ./haberesmmaa_final.sql
 +
# Verificar que se hayan publicado los datos en la web.
 +
 +
=== Control Final ===
 +
 +
Una vez finalizada la subida a la planilla virtual, ejecutar la siguiente consulta desde PHP PgAdmin
 +
 +
    select tipo_conce,sum(impo_conc)
 +
    from recibo3
 +
    where nro_liqui>=menorNroLiqui AND nro_liqui<=mayorNroLiqui
 +
    group by tipo_conce
 +
 +
    * menorNroLiqui= Menor número de liquidación correspondiente al periodo de liquidación correspondiente
 +
    * mayorNroLiqui= Mayor número de liquidación correspondiente al periodo de liquidación correspondiente
 +
 +
= METODO ANTERIOR =
 +
 +
¡¡¡¡ Importante !!!!hay q cambiar el script  htdocs/sitios/sitiodgp/planilla_web/subir_planillas.pl
 +
q hizo martin para q borre r1 r2 y r3 de haberes_temp antes de incorporar los dbfs
 +
esto es para evitar subir datos duplicados a la base final
 +
 
==Archivos Necesarios==
 
==Archivos Necesarios==
 
===Origen de datos===
 
===Origen de datos===
Línea 5: Línea 115:
 
  recibo3.DBF
 
  recibo3.DBF
  
  Estos deben ser los del mes a procesar. Lo mejor es tomarlos de donde se imprimen los recibos
+
  Estos deben ser los del mes a procesar. Lo mejor es tomarlos de donde se imprimen los recibos.
 +
Debe de mes liquidado osea el anterior.
 
   
 
   
 
  Ejemplo
 
  Ejemplo
  T:\reportes\recibos\datos\201008
+
  T:\reportes\recibos\datos\AAAAMM
 
  donde T ==> \\dgpxeon\transacciones-pampa
 
  donde T ==> \\dgpxeon\transacciones-pampa
 +
 
===Destino Temporal===
 
===Destino Temporal===
 
  Lo que se hace es copiarlos a una carpeta local para trabajarlos
 
  Lo que se hace es copiarlos a una carpeta local para trabajarlos
  
 
  Ejemplo:
 
  Ejemplo:
  C:\RECIB\0810
+
  C:\RECIB\MMAA
  
 
===Limpieza===
 
===Limpieza===
 
  Se hace con VFP6 o cualquier editos de dfbs
 
  Se hace con VFP6 o cualquier editos de dfbs
 
====recibo1====
 
====recibo1====
  Afortunadamente este archivo no debe ser editado
+
  Debemos eliminar la liquidación duplicada 950 que es la /8
 +
=====¿Como lo hacemos?=====
 +
  use c:\ubicacion\recibo1.dbf
 +
sele recibo1
 +
brow
 +
seleccion la liquidacion duplica y consola escribo pack
 +
 
 +
====recibo2====
 +
  Borro los archivos deleteados
 +
=====¿Como lo hacemos?=====
 +
use c:\ubicacion\recibo2.dbf
 +
sele recibo2
 +
pack
 +
 
 +
====recibo3====
 +
  Borro los archivos deleteados
 +
=====¿Como lo hacemos?=====
 +
use c:\ubicacion\recibo3.dbf
 +
sele recibo3
 +
pack
 +
 
 
====recibo2====
 
====recibo2====
 
=====Eliminar columnas=====
 
=====Eliminar columnas=====
 +
 +
 
  f_baja
 
  f_baja
 
  f_perm
 
  f_perm
 
  recibo
 
  recibo
 
  rec_barra
 
  rec_barra
 +
anti_meses
 
  anti_anios
 
  anti_anios
  anti_meses
+
   
 +
 
 +
¿Cómo Eliminar Columnas?
 +
 
 +
use c:\"ubicacion"
 +
brows
 +
modify structure
 +
ó
 +
alter table recibo2 drop column f_baja
 +
alter table recibo2 drop column f_perm
 +
alter table recibo2 drop column recibo
 +
alter table recibo2 drop column rec_barra
 +
alter table recibo2 drop column anti_anios
 +
alter table recibo2 drop column anti_meses
 +
 
 
=====Control de datos erroneros=====
 
=====Control de datos erroneros=====
 
======Numeros de recibos en 0======
 
======Numeros de recibos en 0======
Línea 34: Línea 183:
 
  brow for isnull(tot_reten)
 
  brow for isnull(tot_reten)
 
  brow for empty(tot_reten)
 
  brow for empty(tot_reten)
 +
 +
en horas dedic no debe haber campos vacios o nulos
 +
brow for empty(hs_dedica)
 +
brow for isnull(hs_dedica)
 +
 +
en dias_retro idem horas_dedic
 +
 +
*no encontre como preguntarq este vacio, x q si pregunto por empty() me trae tambien los q valen cero
  
 
====recibo3====
 
====recibo3====
 
=====Eliminar columnas=====
 
=====Eliminar columnas=====
 
  codc_uacad
 
  codc_uacad
 +
 +
alter table recibo3 drop column codc_uacad
 +
 
=====Control de datos erroneros=====
 
=====Control de datos erroneros=====
 
======Año y mes retro======
 
======Año y mes retro======
 
  selec * from recibo3 where ano_retro=9999 and mes_retro=99  
 
  selec * from recibo3 where ano_retro=9999 and mes_retro=99  
 +
 +
select recibo3
 
  replace ano_retro with 0, mes_retro with 0 for ano_retro=9999
 
  replace ano_retro with 0, mes_retro with 0 for ano_retro=9999
 
  replace ano_retro with 0, mes_retro with 0 for mes_retro=99
 
  replace ano_retro with 0, mes_retro with 0 for mes_retro=99
 +
 
======Nro de renglon======
 
======Nro de renglon======
 
  replace all nro_renglo with 1 for nro_renglo=0
 
  replace all nro_renglo with 1 for nro_renglo=0
Línea 49: Línea 212:
 
======Registros sin datos======
 
======Registros sin datos======
 
  brow for isnull(nro_liqui)
 
  brow for isnull(nro_liqui)
 +
======Novedad 1 erroneo======
 +
En novedad1 '''NO''' debe haber campos vacios o nulos
 +
brow for empty(novedad1)
 +
brow for isnull(novedad1)
 +
 +
======Nro de renglon erroneo======
 +
En nro_renglo '''NO''' debe haber campos vacios o nulos
 +
brow for empty(nro_renglo)
 +
brow for isnull(nro_renglo)
 +
 +
======Nro recibo erroneo======
 +
En nro_recib '''NO''' debe haber campos vacios o nulos
 +
brow for empty(nro_recibo)
 +
brow for isnull(nro_recibo)
 +
 
==Destino Final de los DBFS==
 
==Destino Final de los DBFS==
 
===Conexion===
 
===Conexion===
Línea 77: Línea 255:
 
  recibo2
 
  recibo2
 
  recibo3
 
  recibo3
  Luego hacer limpieza full analyse
+
  Luego hacer limpieza full analyse (selectall/limpiar->execute)
  
 
==Ejecucion del script==
 
==Ejecucion del script==
Línea 84: Línea 262:
 
  usuario dgp
 
  usuario dgp
 
  clave  *****
 
  clave  *****
 +
Ahora me logueo como root
 +
 
===Ejecucion===
 
===Ejecucion===
 
   
 
   
Línea 91: Línea 271:
 
  Esto carga las tablas
 
  Esto carga las tablas
 
  recibo1,recibo2 y recibo3  
 
  recibo1,recibo2 y recibo3  
  de la base haberes_temp  
+
  de la base haberes_temp
 +
===Control===
 +
Desde fox contar las cantidades de los registros en las 3 dbfs.
 +
Hacer lo mismo en la base habares_temp en las 3 tablas.
 +
Si no coincide, no continuar y ver donde esta el problema(habia un bug
 +
en subir_planillas.pl, que ya  se arreglo en abril 2012)
 +
 
 +
Además desde Fox debemos verificar cuantos archivos '''deleteados''' hay, ya que estos no son subidos a las planillas Web y pueden representar una diferencia entre la cantidad de registros de la planilla web y los registros de la DBF que estamos trabajando. Para ello:
 +
 
 +
  Ejemplo:
 +
 
 +
  use c:\recib\201206\recibo3 in 0
 +
 
 +
  select recibo3
 +
  set dele off
 +
  brow for deleted()
 +
  count for deleted() to a
 +
  ?a
 +
 
 +
  '''a--> es la variable que almacena la cantidad de archivos deleteados'''
 +
 
 
==Bajada y subida==
 
==Bajada y subida==
 
  Una vez que se cargaron las tablas en habers_temp
 
  Una vez que se cargaron las tablas en habers_temp
Línea 103: Línea 303:
 
  su postgres
 
  su postgres
 
===dump de la base haberers_temp===
 
===dump de la base haberers_temp===
  cd
+
  # cd
  /usr/bin/pg_dump -d haberes_temp > ./haberes0810_final.sql
+
  # /usr/bin/pg_dump -d haberes_temp > ./haberesmmaa_final.sql
===levantado del dump a la base haberes
+
 
  cd
+
===levantado del dump a la base haberes===
  /usr/bin/psql haberes < ./haberes0810_final.sql
+
  # cd
 +
# /usr/bin/psql haberes < ./haberesmmaa_final.sql
  
 
==Creditos==
 
==Creditos==
  El script de conversio de dbfs a postgres fue desarrollado por Martin Villalba
+
  El script de conversion de dbfs a postgres fue desarrollado por Martin Villalba
 +
 
 +
==Notas==
 +
 
 +
===En caso de subirla mal===
 +
 
 +
====Buscamos el mes====
 +
=====En este caso buscamos año 2012 mes 05=====
 +
select * from recibo1 where per_liano=2012 and per_limes=05
 +
====Liquidaciones a borrar====
 +
--------
 +
979
 +
980
 +
981
 +
982
 +
--------
 +
 
 +
=====Borramos=====
 +
delete from recibo3 where nro_liqui in (979,980,981,982)

Revisión actual del 09:31 5 may 2014

Contenido

METODO NUEVO

Motivo del Nuevo Método

Se describe este nuevo procedimiento debido a que se genero unas modificaciones en el Script que sube las bases a la Planilla Virtual y se automatizo el armado de la estructura correcta de las bases del Sistema de Recibos

Estructura Inicial

Para poder llevar a cabo este procedimiento se debe encontrar la siguiente estructura:

    T:\reportes\recibos\datos\AAAAMM\|- recibo1.DBF             Donde:
                                     |- recibo2.DBF                   AAAA=Año de 4 digitos
                                     |- recibo3.DBF                    MM= Mes de 2 digitos

Interfaz

Gen bases recib2.PNG


Procedimiento de Ejecución

Generar Archivos para Planilla Virtual

  1. Verificar que se encuentre la Estructura Inicial.
  2. Ingresar al Sistema Werken 2.0.
  3. Ingresar a la opción Operaciones.
  4. Ingresar a la opción Post-Liquidación.
  5. Seleccionar la opción Generar Bases para Sistema de Recibos y presionar el botón Ejecutar.
  6. A continuación se abrirá la ventana que se muestra en el apartado de Interfaz (OJO; previo a esto mostrará un cartel de advertencia, pero es para el procedimiento anterior).
  7. Seleccionar el periodo correspondiente (Mes y Año).
  8. Presionar el botón Generar Recibos Planilla Virtual.
  9. Se generará en T:\Planilla_Virtual\AAAAMM los archivos recibo1.DBF, recibo2.DBF y recibo3.DBF.
  10. Verificar que el nombre de los archivos generados en T:\Planilla_Virtual\AAAAMM respeten la siguiente estructura: recibo#.DBF, donde recibo# debe estar en minúscula y la extensión .DBF en mayuscula. De no ser así corregirlo.
  11. Ingresar en recibo2.DBF y recibo3.DBF. Ir al final de cada archivo y borrar los registros que se encuentren en blanco. Se suelen generar registros basura que generan errores al subir los archivos, por lo cual hay que borrarlos.
    1. Seleccionar los registros en blanco
    2. En la ventana de comandos ingresar la instrucción PACK.

Posicionar los Archivos para la Planilla Virtual

  1. Conectarse por ftp al 200.16.30.9
    1. Loguearse con el usuario dgp e ingresar la contraseña correspondiente.
  2. Copiar los archivos recibo1.DBF, recibo2.DBF y recibo3.DBF que se encuentran en T:\Planilla_Virtual\AAAAMM a /htdocs/sitios/sitiodgp/planilla_web/recibos/. Es importante recordar el formato del nombre del archivo recibo#.DBF (nombre en minúscula y extensión en mayúscula).

Vaciar la Base de Datos Temporal

  1. Desde cualquier navegador web, ingresar al phpPgAdmin.
    1. Conectarse a http://www.dgp.unc.edu.ar/Pg/.
    2. Loguearse con el usuario: dgppostgres e ingresar la contraseña correspondiente.
  2. Ingresar a la Base de Datos haberes_temp.
  3. Vaciar las tablas recibo1, recibo2 y recibo3.
  4. Limpiar las tablas recibo1, recibo2 y recibo3.
    1. Dentro de la opción de limpieza seleccionar las opciones:Full y Analizar

Ejecutar el Script para subir los datos a la Base Temporal

  1. Conectarse por ssh al 200.16.30.9.
  2. Loguearse con el usuario dgp e ingresar la clave correspondiente.
  3. Loguearse como usario root a través del siguiente comando:
    su --

Una vez logueado como root, ingresar los siguientes comandos:

    cd htdocs/sitios/sitiodgp/planilla_web/
    ./subir_planillas.pl

Esto carga las tablas recibo1,recibo2 y recibo3 de la base haberes_temp.

Control Solo en el caso de que se pierdan datos: Desde FOX contar las cantidades de los registros de las tablas recibo1.DBF, recibo2.DBF y recibo3.DBF de T:\Planilla_Virtual\AAAAMM. Hacer lo mismo para las tablas recibo1, recibo2 y recibo3 de la base de datos habares_temp. Si no coincide, no continuar y ver donde esta el problema(habia un bug en subir_planillas.pl, que ya se arreglo en abril 2012) Además desde Fox debemos verificar cuantos archivos deleteados hay, ya que estos no son subidos a las planillas Web y pueden representar una diferencia entre la cantidad de registros de la planilla web y los registros de la DBF que estamos trabajando. Para ello:

    Ejemplo: 
            use c:\recib\201206\recibo3 in 0
            select recibo3
            set dele off
            brow for deleted()
            count for deleted() to a
            ?a
             
            a--> es la variable que almacena la cantidad de archivos deleteados

Ejecutar el Script de publicación de la Planilla Virtual

  1. Loguearse como postgres vía ssh a través del comando su postgres.
  2. Hacer el dump de la base haberers_temp a través de los siguientes comandos:
    cd
    /usr/bin/pg_dump -U postgres -d haberes_temp > ./haberesMMAA_final.sql
  1. Levantar el dump a la base de datos haberes a través de los siguientes comandos:
    # cd 
    # /usr/bin/psql -U postgres haberes < ./haberesmmaa_final.sql
  1. Verificar que se hayan publicado los datos en la web.

Control Final

Una vez finalizada la subida a la planilla virtual, ejecutar la siguiente consulta desde PHP PgAdmin

    select tipo_conce,sum(impo_conc)
    from recibo3
    where nro_liqui>=menorNroLiqui AND nro_liqui<=mayorNroLiqui
    group by tipo_conce
   * menorNroLiqui= Menor número de liquidación correspondiente al periodo de liquidación correspondiente
   * mayorNroLiqui= Mayor número de liquidación correspondiente al periodo de liquidación correspondiente

METODO ANTERIOR

¡¡¡¡ Importante !!!!hay q cambiar el script htdocs/sitios/sitiodgp/planilla_web/subir_planillas.pl

q hizo martin para q borre r1 r2 y r3 de haberes_temp antes de incorporar los dbfs
esto es para evitar subir datos duplicados a la base final 

Archivos Necesarios

Origen de datos

recibo1.DBF
recibo2.DBF
recibo3.DBF
Estos deben ser los del mes a procesar. Lo mejor es tomarlos de donde se imprimen los recibos.
Debe de mes liquidado osea el anterior.

Ejemplo
T:\reportes\recibos\datos\AAAAMM 
donde T ==> \\dgpxeon\transacciones-pampa

Destino Temporal

Lo que se hace es copiarlos a una carpeta local para trabajarlos
Ejemplo:
C:\RECIB\MMAA

Limpieza

Se hace con VFP6 o cualquier editos de dfbs

recibo1

 Debemos eliminar la liquidación duplicada 950 que es la /8
¿Como lo hacemos?
use c:\ubicacion\recibo1.dbf
sele recibo1
brow
seleccion la liquidacion duplica y consola escribo pack

recibo2

 Borro los archivos deleteados
¿Como lo hacemos?
use c:\ubicacion\recibo2.dbf
sele recibo2
pack

recibo3

 Borro los archivos deleteados
¿Como lo hacemos?
use c:\ubicacion\recibo3.dbf
sele recibo3
pack

recibo2

Eliminar columnas
f_baja
f_perm
recibo
rec_barra
anti_meses 
anti_anios

¿Cómo Eliminar Columnas?

use c:\"ubicacion"
brows
modify structure 
ó
alter table recibo2 drop column f_baja
alter table recibo2 drop column f_perm
alter table recibo2 drop column recibo
alter table recibo2 drop column rec_barra
alter table recibo2 drop column anti_anios
alter table recibo2 drop column anti_meses
Control de datos erroneros
Numeros de recibos en 0
replace all nro_recibo with 1 for nro_recibo=0
tot_reten en NULL (deberias ser cero)
brow for isnull(tot_reten)
brow for empty(tot_reten)
en horas dedic no debe haber campos vacios o nulos
brow for empty(hs_dedica) 
brow for isnull(hs_dedica)
en dias_retro idem horas_dedic
  • no encontre como preguntarq este vacio, x q si pregunto por empty() me trae tambien los q valen cero

recibo3

Eliminar columnas
codc_uacad
alter table recibo3 drop column codc_uacad
Control de datos erroneros
Año y mes retro
selec * from recibo3 where ano_retro=9999 and mes_retro=99 
select recibo3
replace ano_retro with 0, mes_retro with 0 for ano_retro=9999
replace ano_retro with 0, mes_retro with 0 for mes_retro=99
Nro de renglon
replace all nro_renglo with 1 for nro_renglo=0
Nro de recibo
replace all nro_recibo with 1 for nro_recibo=0
Registros sin datos
brow for isnull(nro_liqui)
Novedad 1 erroneo

En novedad1 NO debe haber campos vacios o nulos

brow for empty(novedad1) 
brow for isnull(novedad1)
Nro de renglon erroneo

En nro_renglo NO debe haber campos vacios o nulos

brow for empty(nro_renglo) 
brow for isnull(nro_renglo)
Nro recibo erroneo

En nro_recib NO debe haber campos vacios o nulos

brow for empty(nro_recibo) 
brow for isnull(nro_recibo)

Destino Final de los DBFS

Conexion

Conectarse por ftp a 200.16.30.9
usuario dgp
clave   *****

Copia

copiarlos a 
/htdocs/sitios/sitiodgp/planilla_web/recibos/

Importante el nombre debe ser
recibo1.DBF (nombre en minuscula, extension en mayuscula)

Vaciar la base

Esto se puede hacer desde phpPgAdmin

Conexion

entrar a 
http://www.dgp.unc.edu.ar/Pg/
usuario: dgppostgres
pass:    ******

Elegir Bd

Entrar a la base 
haberes_temp

Vaciado

vaciar las tablas 
recibo1
recibo2
recibo3
Luego hacer limpieza full analyse (selectall/limpiar->execute)

Ejecucion del script

Conexion

Conectarse Via ssh a 200.16.30.9
usuario dgp
clave   *****
Ahora me logueo como root

Ejecucion

cd htdocs/sitios/sitiodgp/planilla_web/
./subir_planillas.pl

Esto carga las tablas
recibo1,recibo2 y recibo3 
de la base haberes_temp

Control

Desde fox contar las cantidades de los registros en las 3 dbfs.
Hacer lo mismo en la base habares_temp en las 3 tablas.
Si no coincide, no continuar y ver donde esta el problema(habia un bug 
en subir_planillas.pl, que ya  se arreglo en abril 2012)

Además desde Fox debemos verificar cuantos archivos deleteados hay, ya que estos no son subidos a las planillas Web y pueden representar una diferencia entre la cantidad de registros de la planilla web y los registros de la DBF que estamos trabajando. Para ello:

  Ejemplo: 
  
  use c:\recib\201206\recibo3 in 0
  
  select recibo3
  set dele off
  brow for deleted()
  count for deleted() to a
  ?a
  
  a--> es la variable que almacena la cantidad de archivos deleteados

Bajada y subida

Una vez que se cargaron las tablas en habers_temp

Loguearse como postgres

siempre via ssh
lo mejor es hacerse root
su
pass:*****

y luego hacerse postgres
su postgres

dump de la base haberers_temp

# cd
# /usr/bin/pg_dump -d haberes_temp > ./haberesmmaa_final.sql

levantado del dump a la base haberes

# cd
# /usr/bin/psql haberes < ./haberesmmaa_final.sql

Creditos

El script de conversion de dbfs a postgres fue desarrollado por Martin Villalba

Notas

En caso de subirla mal

Buscamos el mes

En este caso buscamos año 2012 mes 05
select * from recibo1 where per_liano=2012 and per_limes=05

Liquidaciones a borrar

--------
979
980
981
982
--------
Borramos
delete from recibo3 where nro_liqui in (979,980,981,982)