Hi,
It seems I've uncovered an error in the automated (when run) export of FMW workspace to FME mapping file.
My setup includes a custom transformer, which contains a SpatialRelator. I just parameterized the SpatialRelator's "Input Ordered" and "Group By" entries (by choosing the automated creation of new published parameters). The "Group By" ends up as an optional "Attribute List (space delimited)".
However, the workspace now fails with:
f_51(TransformFact): Definition of transformer 'SpatialCrossJoiner_SpatialRelator' is invalid. 'PROCESS_GROUP_BY' statement doesn't have 2 tokens
I then exporting it to an FME, and searched for "PROCESS_GROUP_BY", and found it.
FACTORY_DEF * TransformFact:9:SpatialRelator \
FACTORY_NAME "$(SpatialCrossJoiner_WORKSPACE_NAME)_SpatialRelator" \
FACTORY_META_PARAMS \
TRANSFORMER_NAME:"$(SpatialCrossJoiner_WORKSPACE_NAME)_SpatialRelator" \
TRANSFORMER_PARAMS:XFORMER_NAME,$(SpatialCrossJoiner_WORKSPACE_NAME)_SpatialRelator,TRANSFORMER_GROUP,,GROUP_BY,$($(SpatialCrossJoiner_WORKSPACE_NAME)_GROUP_BY$encode),TESTS_GROUP,,AGGREGATE_HANDLING,Yes,PREDICATES,$($(SpatialCrossJoiner_WORKSPACE_NAME)_RELATIONS$encode),DIFFATTRS,,CURVE_BOUNDARY_RULE_PARAM,Default<space>Rule,OUTPUT_GROUP,,SUCCESS_ATTR,_related_candidates,CALC_CARD,No,ATTR_ACCUM_GROUP,YES,MERGE_ATTR_GROUP,YES,ATTR_ACCUM_MODE,Merge<space>Supplier,ATTR_CONFLICT_RES,Use<space>Requestor,ATTR_PREFIX,<lt>Unused<gt>,GENERATE_LIST_GROUP,YES,LIST_NAME,_relationships,LIST_ATTRS_TO_INCLUDE_MODE,All<space>Attributes,LIST_ATTRS_TO_INCLUDE,<lt>Unused<gt> \
PROCESS_GROUP_BY $($(SpatialCrossJoiner_WORKSPACE_NAME)_GROUP_BY) \
MULTI_PROCESS "NO_PARALLELISM" \
GROUPS_ARE_ORDERED $($(SpatialCrossJoiner_WORKSPACE_NAME)_GROUPS_ORDERED) \
INPUT Requestor FEATURE_TYPE "$(SpatialCrossJoiner_WORKSPACE_NAME)_Save_feature_type_OUTPUT" \
INPUT Supplier FEATURE_TYPE "$(SpatialCrossJoiner_WORKSPACE_NAME)_Supplier" \
OUTPUT Output FEATURE_TYPE "$(SpatialCrossJoiner_WORKSPACE_NAME)_SpatialRelator_Output"
It seems that the line with PROCESS_GROUP_BY needs to have its argument in quotes.
I put quotes around the argument, and ran the mapping file instead of the workspace, and it worked !
PROCESS_GROUP_BY "$($(SpatialCrossJoiner_WORKSPACE_NAME)_GROUP_BY)"
Unfortunately I'll have to do a manual save+edit to run my workspace now :-(
Please fix. I'm using 2017.1 x64.