Skip to main content

I am using a WorkspaceRunner so that I can run multiple times the same FME workbench on different DNG separately. Just to be clear I will call the WorkspaceRunner to the workbench that runs the “child” workbench, and i will just call Workbench to the child workbench.

 

I was all working fine the first times and now I find that some User Parameter (in my case “DNG”) I was “sending” from the WorkspaceRunner to the Workbench is not working anymore (I didn’t change the parameter in the WorkspaceRunner but maybe i used it in more places inside my Workbench).

 

When I run it directly inside my Workbench it makes no problem. But when I run it from the workspacerunner the following error appears: 
 

ERROR : Undefined macro `DGN' dereferenced in file `G:\Buzon\Miguel\CQ_topologia_copia\wb-xlate-1738321227449_8672'

I think the wb-xlate is a temporary file of some sort. I have a wb-xlate in the root of the project but not the name does not match the one appearing here. That wb-xlate actually contains the DNG macro. I have tried to change the name of the wb-xlate to the one appearing in the error message wb-xlate-1738321227449_8672 but it does nothing. Neither it does deleting the file. 

Even when I set the workspace runner DNG user parameter to a hardcoded value it does not work. 

Is there any cache or something I can delete? I am losing my patience here. 

 

I am using the following version:
FME(R) 2024.1.0.0 (20240628 - Build 24612 - WIN64)

 

Thanks in advance for your time.

I found the solution to this problem. I created a DNG user parameter in my WorkspaceRunner Workbench and I right clicked on it and opened the Show References option. There I found my WorkspaceRunner was using that user parameter in other fields other than the one it was defined in the first instance. Something like this (check the “Destination Google KML File”):

This new input was created automatically while i was editing the child Workbench, and it does not take the $(DNG) value that is passed to the child as DNG: path_rootname , but instead it assumes it must be defined in the parent WorkspaceRunner. So the WorkspaceRunner had no User Parameter called DNG and that means it could not find it.

¿The solution I found? Just substitute every $(DNG) with a @Value(path_rootname), and be aware that it could change in the future and that I might need to change it. 

I think there should be a way of just using the value of the DNG as defined at the top, but i don’t know if there is a way of doing this at the time.