Skip to main content
All,

 

 

The answer is probably right in front of my face, but I'm not seeing it.  I'm trying to use a Public Parameter, MG say, in the Dataset for the Bentley MicroStation Design (V7) data Reader to specify the top level directory containing all my design files.  I am entering $(MG)\\**\\*.dgn in the Dataset and when I click OK to save the Reader, I get the error "Undefined macro 'MG' dereferenced in file ...."  Program Terminating.

 

 

I'm using FME 2013 Workbench.  Any hint in the right direction would be appreciated.

 

 

Steve
Hi Steve,

 

 

I tried on my machine and I got the same error. I suspect you will have to put everything into your published parameter, rather than splitting it up like you've done here.

 

 

David
David,

 

 

Thanks for the quick response.  I'm still having two issues.

 

 

1.  If I set my parameter to the full string and only use the parameter in the Dataset option when creating a new Reader, I still get the same error message.

 

 

2.  If I create Reader with a hard coded path in the dataset and then go back and update the dataset on the Reader to use the parameter, the parameter substitution takes place when I click OK to save my changes on the Reader.  Any changes to the Parameter after that are ignored by the Reader since it has replaced the Parameter with the hard coded path.

 

 

Steve
Hi Steve,

 

 

I have tested an alternative solution and it seems to work in FME2013 sp1.

 

  • Create a published parameter "MG" that is defined as a Directory (exisiting)
  • Create a private scripted Python parameter called "MG2" that contains the following two lines:
----- source_dir = FME_MacroValuesl"MG"] return source_dir + "/**/*.dgn" -----
  • In the navigator tree, right click on the reader source file and link it to the user parameter "MG2"
This enables you to specify a directory for "MG", whereas "MG2" will contain the value of "MG" plus the necessary wildcards to include all the subdirectories, etc.

 

 

Hope this helps.

 

 

David
Thanks David.  Works great!

Reply