Skip to main content
Solved

Functions in SchemaMapper

  • November 21, 2019
  • 1 reply
  • 44 views

helmoet
Forum|alt.badge.img+8

Hi, I attempted to use SchemaMapper for the migration of data. In general successful, however, in the Mapping Excelsheet I defined a rule to add an attribute, which uses a string function in the "NewValue" column. I can use the functions @Timestamp and @Value, however, the functions @ReplaceString or @ReplaceRegEx fail, and FME (2017.1 build 17652) is complaining "This FME edition does not recognize the `ReplaceRegEx' function." Is there a list of functions available that are recognized by SchemaMapper? The functions work fine from e.g. AttributeCreator.

Best answer by peterlaulund

Hi

You can use all functions but some – string and date functions - have to be wwjd encoded and wrapped in @EvaluateExpresion(). Mat functions have to be wrapped in @Evaluate().

For example must this expression @ReplaceRegEx(@Value(etableringstidspunkt),[<>=],"") look like this @EvaluateExpression(unused1,<at>ReplaceRegEx<openparen><at>Value<openparen>etableringstidspunkt<closeparen><comma><openbracket><lt><gt>=<closebracket><comma><quote><quote><closeparen>,unused2)

What I do is to have the mapping in a database and then use sql or an function to do the wwjd encoding.

I gave a talk about this in Copenhagen and Bonn at the World Tour, you can find my presentation here https://dataflow.center/references/fme-world-tour-2019/index.html here you can find the Oracle function I use to do the wwjd encoding with

Peter

View original
Did this help you find an answer to your question?

1 reply

Forum|alt.badge.img
  • Best Answer
  • November 21, 2019

Hi

You can use all functions but some – string and date functions - have to be wwjd encoded and wrapped in @EvaluateExpresion(). Mat functions have to be wrapped in @Evaluate().

For example must this expression @ReplaceRegEx(@Value(etableringstidspunkt),[<>=],"") look like this @EvaluateExpression(unused1,<at>ReplaceRegEx<openparen><at>Value<openparen>etableringstidspunkt<closeparen><comma><openbracket><lt><gt>=<closebracket><comma><quote><quote><closeparen>,unused2)

What I do is to have the mapping in a database and then use sql or an function to do the wwjd encoding.

I gave a talk about this in Copenhagen and Bonn at the World Tour, you can find my presentation here https://dataflow.center/references/fme-world-tour-2019/index.html here you can find the Oracle function I use to do the wwjd encoding with

Peter


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings