Skip to main content
Question

ChangeDetector User-Parameter for Selected Attributes can't be triggered from a workspace runner (FME Desktop 2021)


Forum|alt.badge.img

Hi

 

I have spent far too many hours trying to make the change detector dynamically pick up changes. The scenario is:

  • I have 10 datasets that need to be compared between the original and updated databases.
  • Each dataset has only a few fields that need to be checked for changes. These fields are different for each dataset.
  • I have a CSV which is acting as a 'config' file and contains a list of the field names to check for each dataset
  • I have 2 workbenches; the first workbench gets all of the information from the config file, then passes through the information via user-parameters to the Change Detection workbench via workspace runner.
  • Even though I have created a user parameter for the "Match Selected Attributes" config in the ChangeDetector, I can't pass through this information via the workspace runner. It ONLY works if I run the Change Detection workbench individually, and this isn't linked to the config file, so it's not dynamic at all.

 

I got so frustrated trying to figure this out that I made a single workbench with 10 Change Detectors and hard coded all of them. Really disappointed that I couldn't make this dynamic when the option is there to create a user-parameter. If anyone knows why this is the case, what I'm doing wrong, or if this is a bug with FME 2021 please let me know!

imageimage.pngIn the command line when I pass through the list from the workspace runner, the list is passed through as <@(ChangeAttributes)> instead of <STATUS CLASSIFICATION IN_USE>

2 replies

danminneyatsaf
Safer
Forum|alt.badge.img+12

Hi @kaz​ I just tested a similar workflow in FME 2023.0 and was able to get this working. When you create your list of attributes that you want to use for the Selected Attributes parameter, how are you formatting the attribute value? 

For my workflow, I created a list using the ListBuilder, then created a new attribute containing the values from this list, and separate them by commas. This was done using the ListConcatenator. 

As an example, my attribute containing the attributes I want to detect changes on looks like this: 

attribute1,attribute2

 

In the WorkspaceRunner, when I'm selecting this attribute containing the list of attributes to detect, I click on the elipses (...) and choose the attribute with the brown arrow next to it. Selecting any of the other options will not work. 

image 

I've also attached the parent workspace containing the WorkspaceRunner for your reference. 


paul_haakma
Participant
Forum|alt.badge.img
  • Participant
  • May 6, 2025

@danminneyatsaf 

 

I am attempting this same workflow and finding the same issue as ​@kaz although I am running FME 2024.1.

Forgetting about the WorkspaceRunner just for a moment… I create a User Parameter called COMPARISON_ATTRIBUTES. When I run the workbench, the value of the parameter is set to the value “label colour” (without the quotes) which are the two attributes I want to match in my ChangeDetector.

In my ChangeDetector, I set the Selected Attributes to this User Parameter. When I run the workbench, no attribute matching takes place. I can see changes from geometry matching happening, but no attribute changes are detected.

However, if I manually hard code the exact same string “label colour” into the Selected Attributes of the ChangeDetector, the attribute changes are detected as I expect them to be.

I suspect this is a bug, and that the User Parameter value is not being passed to the ChangeDetector.

 

Does not work
Showing the comparison_attributes value passed in
Does work

Since the User Parameter is not working, this means that using the WorkspaceRunner to call this workbench also does not work, as it also relies on setting a UserParameter.


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