Consulta sobre error en carga de BBDD Pilagá 2010

Hola, estoy realizando la carga de datos desde el sistema Pilagá al Wichi 6.0.0. Tenemos una base de datos por cada año desde el 2010. Pude cargar correctamente (usando la Guía Técnica y algunas consultas previas a este foro) todos los años desde el 2011 al 2016 inclusive. Con la base de datos del 2010 me figura el siguiente error con la relación d_unidad_gestion:

2017/04/18 14:31:25 - d_unidad_gestion - Dispatching started for transformation [d_unidad_gestion]
org.pentaho.di.core.exception.KettleDatabaseException:
An error occurred executing SQL:
SELECT cod_unidad_gestion as unidad_gestion_codigo
        , descripcion as unidad_gestion_desc
FROM sau_pd_unidad_gestion;
ERROR: relation "sau_pd_unidad_gestion" does not exist
  Position: 95
        at org.pentaho.di.core.database.Database.openQuery(Database.java:1716)
        at org.pentaho.di.trans.steps.tableinput.TableInput.doQuery(TableInput.java:224)
        at org.pentaho.di.trans.steps.tableinput.TableInput.processRow(TableInput.java:138)
        at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.postgresql.util.PSQLException: ERROR: relation "sau_pd_unidad_gestion" does not exist
  Position: 95
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:405)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:285)
        at org.pentaho.di.core.database.Database.openQuery(Database.java:1705)
        ... 4 more
2017/04/18 14:31:25 - base_pilaga.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Unexpected error
2017/04/18 14:31:25 - base_pilaga.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException:
2017/04/18 14:31:25 - base_pilaga.0 - An error occurred executing SQL:
2017/04/18 14:31:25 - base_pilaga.0 - SELECT cod_unidad_gestion as unidad_gestion_codigo
2017/04/18 14:31:25 - base_pilaga.0 -   , descripcion as unidad_gestion_desc
2017/04/18 14:31:25 - base_pilaga.0 - FROM sau_pd_unidad_gestion;
2017/04/18 14:31:25 - base_pilaga.0 - ERROR: relation "sau_pd_unidad_gestion" does not exist
2017/04/18 14:31:25 - base_pilaga.0 -   Position: 95
2017/04/18 14:31:25 - base_pilaga.0 -
2017/04/18 14:31:25 - base_pilaga.0 -   at org.pentaho.di.core.database.Database.openQuery(Database.java:1716)
2017/04/18 14:31:25 - base_pilaga.0 -   at org.pentaho.di.trans.steps.tableinput.TableInput.doQuery(TableInput.java:224)
2017/04/18 14:31:25 - base_pilaga.0 -   at org.pentaho.di.trans.steps.tableinput.TableInput.processRow(TableInput.java:138)
2017/04/18 14:31:25 - base_pilaga.0 -   at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2017/04/18 14:31:25 - base_pilaga.0 -   at java.lang.Thread.run(Thread.java:745)
2017/04/18 14:31:25 - base_pilaga.0 - Caused by: org.postgresql.util.PSQLException: ERROR: relation "sau_pd_unidad_gestion" does not exist
2017/04/18 14:31:25 - base_pilaga.0 -   Position: 95
2017/04/18 14:31:25 - base_pilaga.0 -   at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198)
2017/04/18 14:31:25 - base_pilaga.0 -   at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927)
2017/04/18 14:31:25 - base_pilaga.0 -   at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
2017/04/18 14:31:25 - base_pilaga.0 -   at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561)
2017/04/18 14:31:25 - base_pilaga.0 -   at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:405)
2017/04/18 14:31:25 - base_pilaga.0 -   at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:285)
2017/04/18 14:31:25 - base_pilaga.0 -   at org.pentaho.di.core.database.Database.openQuery(Database.java:1705)
2017/04/18 14:31:25 - base_pilaga.0 -   ... 4 more
child index = 1, logging object : org.pentaho.di.core.logging.LoggingObject@969a2b0 parent=5e76319e-8c72-4a86-8ec2-7c31a225723c

¿Puede generarse de alguna forma esa tabla faltante?

Desde ya, muchas gracias.
Saludos, Elián.

Hola Elian! wichi soporta a partir de la versión 2.0.0 de pilaga. Que versión de pilaga es la de la base 2010?
Saludos,
Sabrina.

Hola Sabrina, gracias por la respuesta.
No se que versión de Pilagá generó esa base de datos. ¿Ese dato queda guardado?¿Está relacionado con la tabla par_version (la adjunto como imagen)?

Saludos, Elián.


par_version.png

par_version.png

Hola Elian, si es justo el campo descripción de la tabla par_version, por lo que veo desde la 2010 hacia atrás tenes versiones anteriores a la 2.0.0, por lo tanto no funciona la importación.
Tenemos un ticket pendiente de desarrollo para poder importar versiones anteriores a la 2.0.0.
Saludos,
Sabrina

Hola Sabrina, gracias de vuelta.
Más allá de esa incompatibilidad, agrego un dato más: la base de datos del Pilagá 2011 la pude cargar correctamente. Sin embargo, creo que su versión es anterior a la 2.0.0 (adjunto una captura de su tabla par_version). ¿Podrá ser que además de la versión haya otro problema o es que estoy leyendo mal la tabla?
Saludos, Elián.


par_version_pilaga_2011.jpg

par_version_pilaga_2011.png

Hola Elian, estas en lo correcto, el archivo de validaciones que tiene wichi para pilaga contempla lo siguiente:


^2.0.0$
^2.0.1$
^2.0.2$
^2.0.3$
^2.1.0$
^2.1.1$
^2.1.2$
^2.2.0$
^2.3.0$


^0..
^1.4..

^1.5..
^1.6..

^1.7..
^1.8..

^1.9..
^1.10..

^1.11..*
^1.12.1

Pero no especifica que pasa con las versiones desde la 1.12.2 a la anterior a la 2.0.0. Justo vos estas entre esas versiones en varios años.
Tendríamos que hacer una prueba de la base de datos para ver si podemos adaptarla para que la importe.
Saludos,
Sabrina.

Buenísimo, muchas gracias por las aclaraciones y por la ayuda. Quedará para otro momento la carga del 2010 .
Saludos, Elián.

Hola Elian: te pasamos el script para aplicar sobre la base pilaga 2010. El mismo crea 4 tablas vacías.
Luego correr el ETL de carga Pilaga.

En wichi van a quedar vacías las dimensiones:

  • Unidad de Gestión
  • Tesorería

saludos!
Mariano


create.sql (2.1 KB)

Muchas gracias Mariano. Lo voy a correr y cualquier cosa te comento.
Saludos, Elián.

Hola de vuelta. Ante todo gracias de vuelta por la ayuda y la celeridad en las respuestas. Pude cargar finalmente la BBDD de Pilagá 2010 usando la creación de tablas vacías. Tuve un problema que pude resolver y dejo registrado por las dudas le pueda servir a alguien más:
El sistema mostró el error:

2017/04/24 14:37:41 - d_comprobante - Loading transformation from XML file [file:///usr/local/wichi_6.0.0/etl/carga_de_datos/pilaga/importacion/pilaga_tmp/pilaga_tmp_d_comprobante.ktr]
2017/04/24 14:37:41 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp
2017/04/24 14:37:41 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp
2017/04/24 14:37:41 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp
2017/04/24 14:37:41 - pilaga_tmp_d_comprobante - Iniciado despacho de la transformación [pilaga_tmp_d_comprobante]
2017/04/24 14:37:41 - d_comprobante.0 - Connected to database [siu_dsa] (commit=0)
2017/04/24 14:37:41 - d_comprobante.txt.0 - Se omitió la fila encabezado en el archivo "/home/wichi_carpeta_para_descargas/pilaga_directorio_txt/d_comprobante.txt"
2017/04/24 14:37:41 - pilaga_tmp_d_comprobante - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : ¡Errores detectados!
2017/04/24 14:37:41 - d_comprobante.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Because of an error, this step can't continue:
2017/04/24 14:37:41 - d_comprobante.0 - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : org.pentaho.di.core.exception.KettleValueException:
2017/04/24 14:37:41 - d_comprobante.0 - Unexpected conversion error while converting value [importe String] to a Number
2017/04/24 14:37:41 - d_comprobante.0 -
2017/04/24 14:37:41 - d_comprobante.0 - importe String : couldn't convert String to number
2017/04/24 14:37:41 - d_comprobante.0 -
2017/04/24 14:37:41 - d_comprobante.0 - importe String : couldn't convert String to number : non-numeric character found at position 3 for value [95,0]
2017/04/24 14:37:41 - d_comprobante.0 -
2017/04/24 14:37:41 - d_comprobante.0 -
2017/04/24 14:37:41 - d_comprobante.0 -
2017/04/24 14:37:41 - d_comprobante.0 -         at org.pentaho.di.core.row.value.ValueMetaBase.getNumber(ValueMetaBase.java:1691)
2017/04/24 14:37:41 - d_comprobante.0 -         at org.pentaho.di.core.row.value.ValueMetaBase.convertData(ValueMetaBase.java:3540)
2017/04/24 14:37:41 - d_comprobante.0 -         at org.pentaho.di.core.row.value.ValueMetaBase.convertBinaryStringToNativeType(ValueMetaBase.java:1281)
2017/04/24 14:37:41 - d_comprobante.0 -         at org.pentaho.di.core.row.value.ValueMetaBase.getString(ValueMetaBase.java:1481)
2017/04/24 14:37:41 - d_comprobante.0 -         at org.pentaho.di.core.row.RowMeta.getString(RowMeta.java:309)
2017/04/24 14:37:41 - d_comprobante.0 -         at org.pentaho.di.core.row.RowMeta.getString(RowMeta.java:817)
2017/04/24 14:37:41 - d_comprobante.0 -         at org.pentaho.di.trans.steps.tableoutput.TableOutput.writeToTable(TableOutput.java:377)
2017/04/24 14:37:41 - d_comprobante.0 -         at org.pentaho.di.trans.steps.tableoutput.TableOutput.processRow(TableOutput.java:118)
2017/04/24 14:37:41 - d_comprobante.0 -         at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2017/04/24 14:37:41 - d_comprobante.0 -         at java.lang.Thread.run(Thread.java:745)
2017/04/24 14:37:41 - d_comprobante.0 - Caused by: org.pentaho.di.core.exception.KettleValueException:
2017/04/24 14:37:41 - d_comprobante.0 - importe String : couldn't convert String to number
2017/04/24 14:37:41 - d_comprobante.0 -
2017/04/24 14:37:41 - d_comprobante.0 - importe String : couldn't convert String to number : non-numeric character found at position 3 for value [95,0]
2017/04/24 14:37:41 - d_comprobante.0 -
2017/04/24 14:37:41 - d_comprobante.0 -
2017/04/24 14:37:41 - d_comprobante.0 -         at org.pentaho.di.core.row.value.ValueMetaBase.convertStringToNumber(ValueMetaBase.java:803)
2017/04/24 14:37:41 - d_comprobante.0 -         at org.pentaho.di.core.row.value.ValueMetaBase.getNumber(ValueMetaBase.java:1631)
2017/04/24 14:37:41 - d_comprobante.0 -         ... 9 more
2017/04/24 14:37:41 - d_comprobante.0 - Caused by: org.pentaho.di.core.exception.KettleValueException:
2017/04/24 14:37:41 - d_comprobante.0 - importe String : couldn't convert String to number : non-numeric character found at position 3 for value [95,0]
2017/04/24 14:37:41 - d_comprobante.0 -
2017/04/24 14:37:41 - d_comprobante.0 -         at org.pentaho.di.core.row.value.ValueMetaBase.convertStringToNumber(ValueMetaBase.java:794)
2017/04/24 14:37:41 - d_comprobante.0 -         ... 10 more
2017/04/24 14:37:41 - Replace in string.0 - Procesamiento finalizado (EN=0, SA=0, LE=2, ES=2, AC=0, ER=0)
2017/04/24 14:37:41 - d_comprobante.0 - Procesamiento finalizado (EN=0, SA=0, LE=1, ES=0, AC=0, ER=1)

Dicho error es de la misma naturaleza del comentado en el post: http://foro.comunidad.siu.edu.ar/index.php?topic=12007: el sistema busca realizar la importación de números donde el separador decimal esperado es incorrecto (coma en vez de punto). Se soluciona modificando el archivo que define el separador esperado. En este caso el archivo es …/etl/carga_de_datos/pilaga/importacion/pilaga_tmp/pilaga_tmp_d_comprobante.ktr y el campo a modificar es quedando finalmente:

      <field>
        <name>importe</name>
        <type>Number</type>
        <format/>
        <currency/>
        <decimal>,</decimal>
        <group/>
        <length>15</length>
        <precision>2</precision>
        <trim_type>both</trim_type>
      </field>

Saludos, Elián.

Buenísimo Elian!
Gracias por la observación.
saludos! Mariano