Skip to main content

I am reading from one Excel file and writing to another.

I have an attribute named "timestamp2" which contains datetime-formatted values from 6/15/17 00:00 to 8/1/18 23:45 (I do realize I'm looking into the future).  They are in 15 minute intervals.

FME recognizes that  this attribute is datetime and sets the reader accordingly.  However, when writing, a number of the values (about 2,300 of them) between 06/15/17 01:00 and 07/09/2017 21:45 get written with the same value.

Furthermore, when I view the data in the Inspector, the FME datevalue appears incorrect.  For example, a date of "06/15/2017 02:15" is being represented as 20170615021460 instead of 20170615021500.  FME appears to be taking one minute and replacing it with 60 seconds instead.

I was trying to test this further to find the source of the error and I added a DateTimeConverter.  It yielded the following error:

DateTimeConverter: '60' is out of range for 'seconds'. Range of 'seconds' is from '0' to '59.999999999'

DateTimeConverter: Failed to evaluate expression '@DateTimeParse(20170615012960,FME|ISO)'.  Result is set to null.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Feature Type: `DateTimeConverter__TEST_NULL__'

Attribute(string)        : `fme_expression_warnings{0}.attributeName' has value `timestamp2'

Attribute(string)        : `fme_expression_warnings{0}.message' has value `Failed to evaluate expression '@DateTimeParse(20170615012960,FME|ISO)'.  Result is set to null.'

Attribute(string)        : `fme_expression_warnings{0}.transformerName' has value `DateTimeConverter'
Attribute(string)        : `fme_feature_type' has value `Sheet1'

Attribute(string)        : `fme_type' has value `fme_no_geom'

Attribute(64 bit real)   : `timestamp1' has value `42901.062499999985'

Attribute(string)        : `timestamp2' is <null>

Attribute(64 bit real)   : `timestamp3' has value `42901.062499999985'

Attribute(32 bit integer): `xlsx_row_id' has value `8'

Geometry Type: Unknown (0)

Oddly, out of the 39,552 records entering the transformer, 2,386 were rejected and 37,166 made it through.  It is clear to me that you can't have '60' as a second (or minute) value.  it's outside a logical range.  But FME appears to be creating this issue by itself.

Hi @mikeszwaya, sounds the Excel reader has an issue on datetime conversion. I would recommend you to contact Safe, sending the workspace and data that reproduce the issue.

As a symptomatic treatment, you can set Yes to the Repair Overflow parameter in the DateTimeConverter so that the transformer accepts '60' seconds and converts it to 1 minute.


Reply