Question

Problem renaming attribute

  • 29 February 2016
  • 6 replies
  • 8 views

One of the input files of my model has been changed and with it the name of the attributes. The old name was DATUM_STRT, the new name is BEGINDATUM. I placed an AttributeRenamer as the first transformer in the model. According to the writer files, the old attributename kan be filled (green arrow).

At the end of the translation the log states that DATUM_STRT cannot be filled, so the item is dropped. Result is that nothing is written as output altough the model results in multiple outputs. All the lines are dropped:

FileGDB Writer: The `DATUM_STRT' attribute could not be written. The containing feature has been dropped

... Last line repeated 3707 times ...

Am I missing something?


6 replies

Userlevel 4

Hi

Try re-creating the reader based on the file with the new attribute name.

David

Userlevel 2
Badge +12

If the INPUT dataset is changed you need to use the "Update Featuretypes" function in the Readers menu to load the new schema definition.

If you do not use that, FME will try to read the old definition and that will not exist in the data.

You do not need to rename the attribute afterwards using the AttributeRenamer as the new name is available fro the data.

I found the problem: the attribute type has been changed. How do I fix this? I tried changing it in the attributeRenamer, but that doesn't work.

Userlevel 4

I found the problem: the attribute type has been changed. How do I fix this? I tried changing it in the attributeRenamer, but that doesn't work.

Try my above suggestion: re-create the reader based on the new file format. That is probably the easiest of all methods.

Badge

An attribute can be mapped to a new home using the AttributeCreator. Make a new attribute named "BEGINDATUM" and set the value of that new attribute to "DATUM_STRT".

When you first add a Writer to a workplace you have the option to set the "Overwrite Database" to "Yes", that will delete all old records in that database and insert new ones, but it also will overwrite your database with new datatypes if you change them in Writer properties. To update "BEGINDATUM" datatype you have to set it in your Writer properties and it has to match your "DATUM_STRT" column datatype in the Reader. Now your Writer should have a datatype that fits the value that you are writing into it. This is a good solution if you are fine with keeping your original datatype from the Reader database.

Badge +3

if it is in dynamic writer mode (from input) then changing name halfway won't do any good.

If inputdatatype is changed refresh/update your writer or use a attributeformatter (though mostly the engine is pretty good in auto-mode).

Reply