Error en proceso ETL Pilagá

Les dejo el detalle del error (La parte relevante).

Aprovecho para consultar, hasta que versión de Pilagá soporta Wichi, imagino que tengo que apuntar 2016 a la base de cierre de 2016, 2015 a la base de cierre de 2015, etc.

Esto lo probé con la base actual (2017) y con la base de 2016, para los ejercicios correspondientes.

Saludos!

2017/03/21 16:18:41 - principal_importacion_pilaga_tmp - Starting entry [d_comprobante]
2017/03/21 16:18:41 - d_comprobante - Loading transformation from XML file [file:///opt/pentaho/etl/carga_de_datos/pilaga/importacion/pilaga_tmp/pilaga_tmp_d_comprobante.ktr]
2017/03/21 16:18:41 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp
2017/03/21 16:18:41 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp
2017/03/21 16:18:41 - cfgbuilder - Warning: The configuration parameter [org] is not supported by the default configuration builder for scheme: sftp
2017/03/21 16:18:41 - pilaga_tmp_d_comprobante - Dispatching started for transformation [pilaga_tmp_d_comprobante]
2017/03/21 16:18:41 - d_comprobante.0 - Connected to database [siu_dsa] (commit=0)
2017/03/21 16:18:41 - d_comprobante.txt.0 - Header row skipped in file '/opt/etl_pilaga/txt/d_comprobante.txt'
2017/03/21 16:18:41 - pilaga_tmp_d_comprobante - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Errors detected!
2017/03/21 16:18: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/03/21 16:18: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/03/21 16:18:41 - d_comprobante.0 - Unexpected conversion error while converting value [importe String] to a Number
2017/03/21 16:18:41 - d_comprobante.0 - 
2017/03/21 16:18:41 - d_comprobante.0 - importe String : couldn't convert String to number 
2017/03/21 16:18:41 - d_comprobante.0 - 
2017/03/21 16:18:41 - d_comprobante.0 - importe String : couldn't convert String to number : non-numeric character found at position 4 for value [441.25]
2017/03/21 16:18:41 - d_comprobante.0 - 
2017/03/21 16:18:41 - d_comprobante.0 - 
2017/03/21 16:18:41 - d_comprobante.0 - 
2017/03/21 16:18:41 - d_comprobante.0 - 	at org.pentaho.di.core.row.value.ValueMetaBase.getNumber(ValueMetaBase.java:1691)
2017/03/21 16:18:41 - d_comprobante.0 - 	at org.pentaho.di.core.row.value.ValueMetaBase.convertData(ValueMetaBase.java:3540)
2017/03/21 16:18:41 - d_comprobante.0 - 	at org.pentaho.di.core.row.value.ValueMetaBase.convertBinaryStringToNativeType(ValueMetaBase.java:1281)
2017/03/21 16:18:41 - d_comprobante.0 - 	at org.pentaho.di.core.row.value.ValueMetaBase.getString(ValueMetaBase.java:1481)
2017/03/21 16:18:41 - d_comprobante.0 - 	at org.pentaho.di.core.row.RowMeta.getString(RowMeta.java:309)
2017/03/21 16:18:41 - d_comprobante.0 - 	at org.pentaho.di.core.row.RowMeta.getString(RowMeta.java:817)
2017/03/21 16:18:41 - d_comprobante.0 - 	at org.pentaho.di.trans.steps.tableoutput.TableOutput.writeToTable(TableOutput.java:377)
2017/03/21 16:18:41 - d_comprobante.0 - 	at org.pentaho.di.trans.steps.tableoutput.TableOutput.processRow(TableOutput.java:118)
2017/03/21 16:18:41 - d_comprobante.0 - 	at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2017/03/21 16:18:41 - d_comprobante.0 - 	at java.lang.Thread.run(Thread.java:745)
2017/03/21 16:18:41 - d_comprobante.0 - Caused by: org.pentaho.di.core.exception.KettleValueException: 
2017/03/21 16:18:41 - d_comprobante.0 - importe String : couldn't convert String to number 
2017/03/21 16:18:41 - d_comprobante.0 - 
2017/03/21 16:18:41 - d_comprobante.0 - importe String : couldn't convert String to number : non-numeric character found at position 4 for value [441.25]
2017/03/21 16:18:41 - d_comprobante.0 - 
2017/03/21 16:18:41 - d_comprobante.0 - 
2017/03/21 16:18:41 - d_comprobante.0 - 	at org.pentaho.di.core.row.value.ValueMetaBase.convertStringToNumber(ValueMetaBase.java:803)
2017/03/21 16:18:41 - d_comprobante.0 - 	at org.pentaho.di.core.row.value.ValueMetaBase.getNumber(ValueMetaBase.java:1631)
2017/03/21 16:18:41 - d_comprobante.0 - 	... 9 more
2017/03/21 16:18:41 - d_comprobante.0 - Caused by: org.pentaho.di.core.exception.KettleValueException: 
2017/03/21 16:18:41 - d_comprobante.0 - importe String : couldn't convert String to number : non-numeric character found at position 4 for value [441.25]
2017/03/21 16:18:41 - d_comprobante.0 - 
2017/03/21 16:18:41 - d_comprobante.0 - 	at org.pentaho.di.core.row.value.ValueMetaBase.convertStringToNumber(ValueMetaBase.java:794)
2017/03/21 16:18:41 - d_comprobante.0 - 	... 10 more
2017/03/21 16:18:41 - Replace in string.0 - Finished processing (I=0, O=0, R=4, W=4, U=0, E=0)
2017/03/21 16:18:41 - d_comprobante.0 - Finished processing (I=0, O=0, R=1, W=0, U=0, E=1)
2017/03/21 16:18:41 - pilaga_tmp_d_comprobante - Transformation detected one or more steps with errors.
2017/03/21 16:18:41 - d_comprobante.txt.0 - Finished processing (I=7, O=0, R=0, W=5, U=0, E=0)
2017/03/21 16:18:41 - pilaga_tmp_d_comprobante - Transformation is killing the other steps!
2017/03/21 16:18:41 - pilaga_tmp_d_comprobante - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Errors detected!
2017/03/21 16:18:41 - principal_importacion_pilaga_tmp - Starting entry [Abort job]
2017/03/21 16:18:41 - Abort job - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : El proceso de importación al temporal falló y fue interrumpido. Revise el log para más detalles
2017/03/21 16:18:41 - principal_importacion_pilaga_tmp - Finished job entry [Abort job] (result=[false])
2017/03/21 16:18:41 - principal_importacion_pilaga_tmp - Finished job entry [d_comprobante] (result=[false])
2017/03/21 16:18:41 - principal_importacion_pilaga_tmp - Finished job entry [d_codigo_economico] (result=[false])
2017/03/21 16:18:41 - principal_importacion_pilaga_tmp - Finished job entry [d_circuito_gestion] (result=[false])
2017/03/21 16:18:41 - principal_importacion_pilaga_tmp - Finished job entry [d_banco_sucursal] (result=[false])
2017/03/21 16:18:41 - principal_importacion_pilaga_tmp - Finished job entry [asignar_y_probar_conexion] (result=[false])
2017/03/21 16:18:41 - importacion_pilaga - Starting entry [Abort job]
2017/03/21 16:18:41 - Abort job - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Aborting job.
2017/03/21 16:18:41 - importacion_pilaga - Finished job entry [Abort job] (result=[false])
2017/03/21 16:18:41 - importacion_pilaga - Finished job entry [tmp] (result=[false])
2017/03/21 16:18:41 - principal_importacion_pilaga - Starting entry [loguear error]
2017/03/21 16:18:41 - ERROR - Finalizó con errores la importación de datos de Pilagá.
2017/03/21 16:18:41 - principal_importacion_pilaga - Starting entry [Abortar trabajo]
2017/03/21 16:18:41 - Abortar trabajo - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Aborting job.
2017/03/21 16:18:41 - principal_importacion_pilaga - Finished job entry [Abortar trabajo] (result=[false])
2017/03/21 16:18:41 - principal_importacion_pilaga - Finished job entry [loguear error] (result=[false])
2017/03/21 16:18:41 - principal_importacion_pilaga - Finished job entry [Importación] (result=[false])
2017/03/21 16:18:41 - principal_importacion_pilaga - Finished job entry [Desempaquetado] (result=[false])
2017/03/21 16:18:41 - principal_importacion_pilaga - Finished job entry [loguear inicio] (result=[false])
2017/03/21 16:18:41 - principal_carga_pilaga - Starting entry [loguear error]
2017/03/21 16:18:41 - INFO - Finalizó con errores el proceso de carga de datos de Pilagá
2017/03/21 16:18:41 - principal_carga_pilaga - Starting entry [Abortar trabajo]
2017/03/21 16:18:41 - Abortar trabajo - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Aborting job.
2017/03/21 16:18:41 - principal_carga_pilaga - Finished job entry [Abortar trabajo] (result=[false])
2017/03/21 16:18:41 - principal_carga_pilaga - Finished job entry [loguear error] (result=[false])
2017/03/21 16:18:41 - principal_carga_pilaga - Finished job entry [Importación] (result=[false])
2017/03/21 16:18:41 - principal_carga_pilaga - Finished job entry [Extracción] (result=[false])
2017/03/21 16:18:41 - principal_carga_pilaga - Finished job entry [Set variables] (result=[false])
2017/03/21 16:18:41 - principal_carga_pilaga - Finished job entry [buscar_instalacion] (result=[false])
2017/03/21 16:18:41 - principal_carga_pilaga - Finished job entry [loguear inicio] (result=[false])
2017/03/21 16:18:41 - principal_carga_pilaga - Job execution finished
2017/03/21 16:18:41 - Kitchen - Finished!
2017/03/21 16:18:41 - Kitchen - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Finished with errors
2017/03/21 16:18:41 - Kitchen - Start=2017/03/21 16:17:50.814, Stop=2017/03/21 16:18:41.383
2017/03/21 16:18:41 - Kitchen - Processing ended after 50 seconds.

Hola Jorge, el archivo d_comprobante.txt tiene la siguiente forma:

fecha|“tipo_codigo”|persona_codigo|“numero”|importe|“descripcion”
2000/01/01 00:00:00.000|“FACT”|1111|“0001-00000001”| 10,01|“XXXXXX”
los cuales tienen los siguientes tipos de datos:
fecha → date
tipo_codigo -->string
persona_codigo–>string
numero–>string
importe–> number
descripcion–>string

El error indica que tenes un importe de tipo STRING: Unexpected conversion error while converting value [importe String] to a Number.
Podras revisar ese archivo? (/opt/etl_pilaga/txt/d_comprobante.txt)

Con respecto a las versiones de pilaga soporta a partir de la 2.0.0
Saludos,
Sabrina.

Hola, a mi me pasó lo mismo que a Jorge. Me parece que el problema pasa por la columna “importe”. El archivo generado después de la extracción usa puntos como separador decimal. Luego, en el archivo “pilaga_tmp_d_comprobante.ktr” el campo “importe” (con su definición en la línea 255) figura como:

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

Es decir, que espera que el separador decimal sea una coma (por el campo decimal). Cambiando la coma por el punto el script completa la carga exitosamente. No se cómo debería ser el archivo (si con puntos o con comas) pero haciendo ese cambio me funcionó. Quizás haya que cambiar la forma de generar el archivo.
Saludos, Elián.