Question

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

  • 27 April 2023
  • 1 reply
  • 12 views

Badge

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>


1 reply

Userlevel 2
Badge +10

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. 

Reply