Skip to main content
Solved

Unable to use user parameter in user attribute name with Oracle Non spatial writer

  • January 12, 2018
  • 5 replies
  • 17 views

When I enter $(user_parameter) as user attribute name, it will be replaced to $_user_parameter_

Best answer by takashi

Hi @nlaszlo1976, I guess you have entered it to the 'Name' column in the User Attributes tab in the Oracle writer feature type.

In the User Attributes tab in a writer feature type, you will have to define an attribute name with a literal string, cannot set it referring either a user parameter value or a feature attribute value.

FME Workbench considers the string you have entered as a field name literally. However, in the Oracle naming conventions, since brackets aren't allowed to be contained in a field name, FME Workbench has replaced them with underscores automatically.

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

5 replies

  • Author
  • January 12, 2018
Editing the XML fine directly works, but not a good solution.

 

 


fmelizard
Safer
Forum|alt.badge.img+21
  • Safer
  • January 12, 2018

 

Hi @nlaszlo1976, where are you setting this attribute up? On the Feature Type or earlier in the workspace with an AttributeManager?

takashi
Celebrity
  • Best Answer
  • January 12, 2018

Hi @nlaszlo1976, I guess you have entered it to the 'Name' column in the User Attributes tab in the Oracle writer feature type.

In the User Attributes tab in a writer feature type, you will have to define an attribute name with a literal string, cannot set it referring either a user parameter value or a feature attribute value.

FME Workbench considers the string you have entered as a field name literally. However, in the Oracle naming conventions, since brackets aren't allowed to be contained in a field name, FME Workbench has replaced them with underscores automatically.


  • Author
  • January 13, 2018

Hi @nlaszlo1976, I guess you have entered it to the 'Name' column in the User Attributes tab in the Oracle writer feature type.

In the User Attributes tab in a writer feature type, you will have to define an attribute name with a literal string, cannot set it referring either a user parameter value or a feature attribute value.

FME Workbench considers the string you have entered as a field name literally. However, in the Oracle naming conventions, since brackets aren't allowed to be contained in a field name, FME Workbench has replaced them with underscores automatically.

Yes exactly. However I am also using version 2016.1 in another project that do not have this User Attribute "Name escaping" feature and work perfectly. This seems to be a new feature but unfortunately we have lost some others. Editing the XML directly by a text editor works. I attached two files: the one ending manedit is what I needed to do (direct XML editing and reopen) the one ending dialog what i get after doing the same in the write parameters dialog box.

 

calc-totalroadlength-dialog.fmw

 

calc-totalroadlength-dialog.fmw

 

 


takashi
Celebrity
  • January 13, 2018

Hi @nlaszlo1976, I guess you have entered it to the 'Name' column in the User Attributes tab in the Oracle writer feature type.

In the User Attributes tab in a writer feature type, you will have to define an attribute name with a literal string, cannot set it referring either a user parameter value or a feature attribute value.

FME Workbench considers the string you have entered as a field name literally. However, in the Oracle naming conventions, since brackets aren't allowed to be contained in a field name, FME Workbench has replaced them with underscores automatically.

Looks like the DatabaseUpdater transformer could be more suitable.

 

Alternatively, the SQLExecutor could also be used to execute an SQL (UPDATE) statement. I think you can construct an appropriate SQL statement using the values of the feature attributes and user parameters.