# !# !bla

" destination="NONE" destination_routing_file="" doc_extents="1802 966" doc_top_left="82 -1032" end_python="" end_tcl="" explicit_bookmark_order="false" fme_build_num="18531" fme_document_guid="5af3cff9-5ff5-4b1d-8c15-9639071dc0ba" fme_document_priorguid="6c616562-a8cc-11e4-ba28-60030894943e,904237c5-99d8-406b-aee6-7bce45f3bc04,0880eb08-c5f3-44f1-a1dc-988909505b91" fme_geometry_handling="Enhanced" fme_implicit_csmap_reprojection_mode="Auto" fme_reprojection_engine="FME" fme_server_services="" fme_stroke_max_deviation="0" history="" ignore_reader_failure="No" last_save_build="FME(R) 2018.1.0.2 (20180802 - Build 18531 - macosx)" last_save_date="2018-12-20T13:21:55" log_file="" log_max_recorded_features="200" markdown_description="" markdown_usage="" max_log_features="200" multi_writer_dataset_order="BY_ID" password="" python_compatibility="27" redirect_terminators="NONE" show_annotations="true" show_info_nodes="true" source="NONE" source_routing_file="" terminate_rejected="NO" title="" usage="" use_markdown="NO" view_position="-267.003 33.0003" warn_invalid_xform_param="Yes" workspace_version="1" zoom_scale="100"> # ! # !# ! # !# ! # !# ! # !# ! # !# ! # !# ! # !# !

Notifies the FME Server with the
generated JSON. Remember to set your
server URL and password here.

" POSITION="1884 -146" TOP_LEFT="1884 -146" BOTTOM_RIGHT="1884 -146" BOUNDING_RECT="1884 -146 0 0" ORDER="6" FOLLOW_ANCHOR="true" INFO_NODE="false" COLOUR="1,1,0.78431372549019607,1" SIZE_POLICY="8" ANCHORED_NODE="9">
# !

send_test_email.fmw
2015, Safe Software


Updated for 2018.1

Sends a simple test email from FME Server
using the FMEServerNotifier.

" POSITION="82 -1032" TOP_LEFT="82 -1032" BOTTOM_RIGHT="82 -1032" BOUNDING_RECT="82 -1032 0 0" ORDER="7" FOLLOW_ANCHOR="true" INFO_NODE="false" COLOUR="1,1,0.78431372549019607,1" SIZE_POLICY="10" ANCHORED_NODE="0">
# !
# ! # !# ! # !# ! # ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# ! # !# ! # !# ! # !This transformer provides an easy method for creating an email message to be sent by the FME Server Notification Service.

" doc_dynamic_input_attrs="1" doc_extents="3985 1128" doc_top_left="38 -1194" fme_document_guid="411718c1-7b1a-4e88-8025-b4ff8df36d1a" fme_document_priorguid="" fme_process_count="NO_PARALLELISM" fme_process_groups_ordered="No" fme_process_group_by="" fmx_attribute_propogation_mode="AUTO" guid="411718c1-7b1a-4e88-8025-b4ff8df36d1a" history="21-03-2013,AaronKoning,Created" is_visible="false" last_save_build="" last_save_date="" markdown_description="" markdown_usage="" python_compatibility="" suppress_upgrade="false" title="FMEServerEmailGenerator" usage="

1. Create Topic and Email Subscriber


In the FME Server Web Interface, create a topic for notifications to be sent to and also create a email subscriber that subscribes to this topic.


2. Create a Workspace


Once you file out the the email fields in the transformer you can send the email message in two different ways:


A. Send an email when the workspace completes

  • add a text file writer to the workspace
  • connect this transformer to the text file writer's feature type
  • publish the workspace
  • register it with the Job Submitter, Data Download and/or Notification Service
  • for each service, click the edit button
  • for Topics to Publish (Success), select the topic you created earlier
  • for Notification Writer, select the text file writer you added eariler
  • finish publishing the workspace
  • now the workspace will send an email whenever it is run through the FME Server Service you registered it with.


B. Send an email using a transformer

  • add a FMEServerNotifier transformer to your workflow
  • configure it to publish to the topic that you created earlier
  • for Content, select the text_line_data attribute
  • now the workspace will send an email whenever it is run.
" use_markdown="NO" view_position="0 0" xform_deprecated="No" zoom_scale="100"> # ! # !# !# !# !# !# !# !# !# ! # !# ! # !# ! # ! # !# !# ! # ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # ! # !# ! # !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# ! # !# !
# !
# ! # !# !
FME_PYTHON_VERSION 27 # !START_HEADER # !START_WB_HEADER READER_TYPE MULTI_READER WRITER_TYPE NULL WRITER_KEYWORD NULL_DEST NULL_DEST_DATASET NULL #!END_WB_HEADER # !START_WB_HEADER # !END_WB_HEADER # !END_HEADER LOG_FILENAME”(FME_MF_DIR) 23671美元-发送测试邮件。日志“LOG_APPEND LOG_TIMINGS是的LOG_FILTER_MASK 1 LOG_MAX_FEATURES 200 LOG_MAX_RECORDED_FEATURES 200 FME_REPROJECTION_ENGINE FME FME_IMPLICIT_CSMAP_REPROJECTION_MODE汽车FME_GEOMETRY_HANDLING增强FME_STROKE_MAX_DEVIATION 0 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MULTI_READER_CONTINUE_ON_READER_FAILURE没有# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -宏WORKSPACE_NAME宏观FME_VIEWER_APP 23671 -发送测试电子邮件fmedatainspector DEFAULT_MACRO WB_CURRENT_CONTEXT # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tcl2 proc Creator_CoordSysRemover{}{全球FME_CoordSys;设置FME_CoordSys {}; } MACRO Creator_XML NOT_ACTIVATED MACRO Creator_CLASSIC NOT_ACTIVATED MACRO Creator_2D3D 2D_GEOMETRY MACRO Creator_COORDS INCLUDE [如果{{几何对象} == {几何对象}} {{放MACRO Creator_XML *}}] INCLUDE [如果{{几何对象} == {2D坐标列表}} {{放MACRO Creator_2D3D 2D_GEOMETRY};放{MACRO Creator_CLASSIC *}}] INCLUDE [如果{{几何对象} == {三维坐标列表}} {{放MACRO Creator_2D3D 3D_GEOMETRY};看跌期权{MACRO Creator_CLASSIC *}}]有[如果{{几何对象} == {2D最小/最大框}} {集评论{我们需要把它们了minX MINY maxX的美星的COORDS为坐标的完整列表多边形};集splitCoords [分裂[字符串装饰{ }]];如果{[llength $ splitCoords]> 4} {集trimmedCoords {};的foreach项$ {splitCoords如果{$项目= {}} {lappend trimmedCoords $项目}!};集splitCoords $ trimmedCoords;};如果{[llength $ splitCoords] = 4!} {{错误者:坐标列表中,预计四个数字为“疯丫头MINY MAXX MAXY”空格分隔列表 - ` 的是无效的};};设置minX [lindex $splitCoords 0];设置minY [lindex $splitCoords 1];set maxX [lindex $splitCoords 2];设置maxY [lindex $splitCoords 3];放入“宏Creator_COORDS $minX $minY $minX $maxY $maxX $maxY $maxX $minY $minX $minY”;放入{宏Creator_2D3D 2D_GEOMETRY};将{宏Creator_CLASSIC *}}] FACTORY_DEF美元(Creator_XML) CreationFactory FACTORY_NAME Creator_XML_Creator CREATE_AT_END没有输出FEATURE_TYPE _____CREATED______ @Geometry (FROM_ENCODED_STRING, xml ? 版本= 1.0 编码= US_ASCII 独立= 没有 几何 尺寸= 2 空值 几何 )FACTORY_DEF $(Creator_CLASSIC)CreationFactory FACTORY_NAME Creator_CLASSIC_Creator $(Creator_2D3D)$(Creator_COORDS)CREATE_AT_END无输出FEATURE_TYPE _____CREATED______ FACTORY_DEF * TeeFactory FACTORY_NAME Creator_Cloner INPUT FEATURE_TYPE _____CREATED______ @ TCL2(Creator_CoordSysRemover)@CoordSys()NUMBER_OF_COPIES 1 COPY_NUMBER_ATTRIBUTE “_creation_instance” 输出FEATURE_TYPE Creator_CREATED fme_feature_type造物主FACTORY_DEF * BranchingFactory FACTORY_NAME “Creator_CREATED分支器-1 3” INPUT FEATURE_TYPE Creator_CREATED TARGET_FACTORY “$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET” MAXIMUM_COUNT无的Passed FEATURE_TYPE *#------------------------------------------------------------------------ FACTORY_DEF * TeeFactory FACTORY_NAME “$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET” INPUT FEATURE_TYPE * OUTPUT FEATURE_TYPE *#------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME“FMEServerEmailGenerator INPUT输入收藏家” INPUT FEATURE_TYPE Creator_CREATED输出FEATURE_TYPE FMEServerEmailGenerator_INPUT MACRO FMEServerEmailGenerator_WORKSPACE_NAME FMEServerEmailGenerator宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_XFORMER_NAME FMEServerEmailGenerator宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_TRANSFORMER_GROUP宏$(FMEServerEmailGenerator_WORKSPACE_NAME)___ COMPOUND_PARAMETERS宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_SUB_DOC_NAME FMEServerEmailGenerator宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_email_to FOO bar.com宏$(fmeserveremailailgenerator_workspace_name)_email_cc宏$(fmeserveremailailgenerator_workspace_name)_email_from foo@baz.com宏$(fmeserveremailailgenerator_workspace_name)_email_replyto宏$(fmeserveremailailailgenerator_workspace_name)_email_subject Test 电子邮件宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_email_subscriber_content喜 你的 FME 服务器宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_email_attachment_paths DEFAULT_MACRO FMEServerEmailGenerator_WORKSPACE_NAME "" INCLUDE [puts{宏WB_OLD_CONTEXT_$(FMEServerEmailGenerator_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)};将{宏WB_CURRENT_CONTEXT $ (FMEServerEmailGenerator_WORKSPACE_NAME)}] FACTORY_DEF * TeeFactory FACTORY_NAME " $ (FMEServerEmailGenerator_WORKSPACE_NAME) _INPUT1545340915输入分流”输入FEATURE_TYPE " $ (FMEServerEmailGenerator_WORKSPACE_NAME) _INPUT“输出FEATURE_TYPE " $ (FMEServerEmailGenerator_WORKSPACE_NAME) _INPUT " # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #创建这个变压器将使用的域名。因为@Count本身会计算表达式的值来计算#域,所以我们不需要在Tcl中对每个特性做任何操作,包括[set domainPrefix {};if{{本地}=={本地}}{set domainPrefix [FMEServerEmailGenerator_WORKSPACE_NAME)_Counter_}];};放入“MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_Counter_FULL_DOMAIN ${domainPrefix}counter”;]FACTORY_DEF * ExecuteFunctionFactory FACTORY_NAME $ (FMEServerEmailGenerator_WORKSPACE_NAME) _Counter_Rejector COMMAND_PARM_EVALUATION SINGLE_PASS输入FEATURE_TYPE " $ (FMEServerEmailGenerator_WORKSPACE_NAME) _INPUT“FUNCTION_DEFINITION @Count (REJECTABLE_WITH_FLAG fme_encoded,美元($ (FMEServerEmailGenerator_WORKSPACE_NAME) _Counter_FULL_DOMAIN),“0”) RESULT_ATTRIBUTE“_email_feature_id”输出完整FEATURE_TYPE " $ (FMEServerEmailGenerator_WORKSPACE_NAME) _Counter_OUTPUT“拒绝FEATURE_TYPE输出“$ (FMEServerEmailGenerator_WORKSPACE_NAME) _Counter_ $(FMEServerEmailGenerator_WORKSPACE_NAME)_Counter Transformer输出Nuker" INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_Counter_ “# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tcl2 proc美元(FMEServerEmailGenerator_WORKSPACE_NAME) _ParameterFetcher_doFetch {} {foreach{名字val} {“_email_from {$ ((FMEServerEmailGenerator_WORKSPACE_NAME) _email_from编码)美元}_email_replyto {$ ((FMEServerEmailGenerator_WORKSPACE_NAME) _email_replyto美元)}_email_attachment_paths {$ ((FMEServerEmailGenerator_WORKSPACE_NAME) _email_attachment_paths美元)}_email_cc {$ ((FMEServerEmailGenerator_WORKSPACE_NAME) _email_cc美元)}”}{如果{ [string match {* $val] == 1} {set val [FME_Execute EvaluateExpression {STRING} $val {$(FMEServerEmailGenerator_WORKSPACE_NAME)_ParameterFetcher};} elseif {[string match {*FME_CONDITIONAL*} $val] == 1} {set val [FME_Execute EvaluateExpression {string} $val {$(FMEServerEmailGenerator_WORKSPACE_NAME)_ParameterFetcher}};} else{设置val [fme_decodet敲诈attr $val];};FME_SetAttribute [FME_DecodeText $ name] $ val}} FACTORY_DEF * TeeFactory FACTORY_NAME美元(FMEServerEmailGenerator_WORKSPACE_NAME) _ParameterFetcher输入FEATURE_TYPE " $ (FMEServerEmailGenerator_WORKSPACE_NAME) _Counter_OUTPUT“输出FEATURE_TYPE " $ (FMEServerEmailGenerator_WORKSPACE_NAME) _ParameterFetcher_OUTPUT“@Tcl2 ($ (FMEServerEmailGenerator_WORKSPACE_NAME) _ParameterFetcher_doFetch) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * AttrSetFactoryFACTORY_NAME $ (FMEServerEmailGenerator_WORKSPACE_NAME) _AttributeCreator NULL_ATTR_MODE空MULTI_FEATURE_MODE是的NUM_PRIOR_FEATURES NUM_SUBSEQUENT_FEATURES 0 NULL_ATTR_VALUE_PROMPT”属性替换值:“NULL_ATTR_VALUE”“输入FEATURE_TYPE " $ (FMEServerEmailGenerator_WORKSPACE_NAME) _ParameterFetcher_OUTPUT“ATTR _email_to美元($ (FMEServerEmailGenerator_WORKSPACE_NAME) _email_to) ATTR _email_subject美元($ (FMEServerEmailGenerator_WORKSPACE_NAME) _email_subject) ATTR_email_subscriber_content $(美元(FMEServerEmailGenerator_WORKSPACE_NAME) _email_subscriber_content)输出输出FEATURE_TYPE " $ (FMEServerEmailGenerator_WORKSPACE_NAME) _AttributeCreator_OUTPUT " # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * XMLTemplaterFactory FACTORY_NAME美元(FMEServerEmailGenerator_WORKSPACE_NAME) _JSONTemplater输入CONTROL_FEATURE FEATURE_TYPE DATA_FEATURE“$ (FMEServerEmailGenerator_WORKSPACE_NAME) _AttributeCreator_OUTPUT”输入FEATURE_TYPE $(FMEServerEmailGenerator_WORKSPACE_NAME)_JSONTemplater_DataFeatures RESULT_ATTR text_line_data OUTPUT_XML_HEADER没有连续的组没有BUCKET_ATTR_NAME其余xml_templater_bucket__ CONTROL_TEMPLATE_EXPR email_to FME:GET属性 _email_to email_cc FME:GET属性 _email_cc email_from FME:GET属性 _email_from email_replyto FME:GET属性 _email_replyto 电子邮件主题 FME:GET属性 _email_subject subscriber_content FME:GET属性 _email_subscriber_content OUTPUT XML_DOCUMENT FEATURE_TYPE “$(FMEServerEmailGenerator_WORKSPACE_NAME)_JSONTemplater_OUTPUT” #------------------------------------------------------------------------- FACTORY_DEF * TestFactory中FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_Tester INPUT FEATURE_TYPE“$(FMEServerEmailGenerator_WORKSPACE_NAME)_JSONTemplater_OUTPUT” TEST _email_attachment_paths ATTRIBUTE_IS_EMPTY ENCODED BOOLEAN_OPERATOR或输出PASSED FEATURE_TYPE “$(FMEServerEmailGenerator_WORKSPACE_NAME)_Tester_PASSED” 输出失败FEATURE_TYPE “$(FMEServerEmailGenerator_WORKSPACE_NAME)_Tester_FAILED” #------------------------------------------------------------------------- TCL2集$(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_8b8ad24c_409f_4f32_be42_3fc8ac5bb4c40_splitDelim [FME_DecodeText { });如果{[regexp {^ ([1 - 9] [0 - 9] * s) + $}[设置(FMEServerEmailGenerator_WORKSPACE_NAME) _AttributeSplitter_8b8ad24c_409f_4f32_be42_3fc8ac5bb4c40_splitDelim美元]]}{设置$ (FMEServerEmailGenerator_WORKSPACE_NAME) _AttributeSplitter_8b8ad24c_409f_4f32_be42_3fc8ac5bb4c40_splitWidths[分裂[regsub -{新元}{ }{}]s];$(FMEServerEmailGenerator_WORKSPACE_NAME) _attributesplitter_8b8ad24c_409f_4ff32_be42_3fc8ac5bb4c40_splitwidths;设置source [FME_GetAttribute {"_email_attachment_paths"}];设置attrNum 0;设置listName {_email_attachment_path_list};设置attrPos 0;foreach width[设置$(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_8b8ad24c_409f_4f32_be42_3fc8ac5bb4c40_splitWidths]{设置endPos [expr $attrPos + $width - 1];设置位[字符串范围$source $attrPos $endPos];FME_SetAttribute "$listName{$attrNum}" [string trim $bit];增加美元attrPos宽度; incr attrNum; }; }; } else { proc $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_doSplit {} { global $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_8b8ad24c_409f_4f32_be42_3fc8ac5bb4c40_splitDelim; set delim [set $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_8b8ad24c_409f_4f32_be42_3fc8ac5bb4c40_splitDelim]; set delimLength [string length $delim]; set source [FME_GetAttribute {"_email_attachment_paths"}]; set keepEmptyParts [string equal {No} {No}]; set bits {}; set startIndex 0; set nextIndex [string first $delim $source $startIndex]; while {$nextIndex >= 0} { set part [string range $source $startIndex [expr $nextIndex-1]]; if { $keepEmptyParts || $part != \"\" } { lappend bits $part; }; set startIndex [expr $nextIndex + $delimLength]; set nextIndex [string first $delim $source $startIndex]; }; set lastPart [string range $source $startIndex end]; if { $keepEmptyParts || $lastPart != \"\" } { lappend bits $lastPart }; set listName {_email_attachment_path_list}; set attrNum 0; foreach bit $bits { FME_SetAttribute "$listName{$attrNum}" [string trim $bit]; incr attrNum; } } } FACTORY_DEF * TeeFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_Tester_FAILED" OUTPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_OUTPUT" @Tcl2($(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_doSplit) # ------------------------------------------------------------------------- FACTORY_DEF * ElementFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_ListExploder INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_OUTPUT" LIST_NAME "_email_attachment_path_list{}" ELEMENT_NUMBER_FIELD "_element_index" CLONE_GEOMETRY MODE LEAN OUTPUT ELEMENT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_ListExploder_LIST_FOUND" @RemoveAttributes(ElementFactory.baseCloned) # ------------------------------------------------------------------------- Tcl2 proc $(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator_279d9929_177d_4019_98d1_fb0fd84f389f0_doSetAttr {attrText} { FME_SetAttribute [FME_DecodeText {_email_attachment_json}] [FME_DecodeText $attrText] } FACTORY_DEF * TeeFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_ListExploder_LIST_FOUND" OUTPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator_OUTPUT" @Tcl2("$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator_279d9929_177d_4019_98d1_fb0fd84f389f0_doSetAttr {@EvaluateExpression(STRING_ENCODED, email_attachment _element_index _email_attachment_path_list ,$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator)}“)#------------------------------------------------------------------------- DEFAULT_MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator_BREAK_ATTR有[如果{ “否” ==“是“} {看跌{宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator_BREAK_ATTR BREAK_BEFORE_FIELD_CHANGE _email_feature_id}}] FACTORY_DEF {*} AggregateFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator INPUT FEATURE_TYPE ”$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator_OUTPUT“ MODE ONE_LEVEL GROUP_BY {_email_feature_id} $($(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator_BREAK_ATTR)ACCUMULATE_ATTRIBUTES是CONCATENATE_FIELDS {_email_attachment_json} SEPARATOR PRODUCE_MULTIS YES输出聚合特性“$(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator_AGGREGATE”@Geometry(SET_TO_CONTAIN_INDIVIDUAL_GEOMS,NO) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -宏casemac包括(如果{{没有}= ={没有}}{把{宏casemac查看nocase}}] Tcl2 proc美元(FMEServerEmailGenerator_WORKSPACE_NAME) _StringReplacer_2_c683fa19_37c2_4783_a4d6_eda63c0aad5b0_replacer {findText replaceText invalidValue}{设置attrs[分裂\“_email_attachment_json \”{}];设置findValue [FME_DecodeText $findText];$ replaceValue [FME_DecodeText];设置attrVal [FME_GetAttribute $attr];设置noMatch真;如果{{NO} == {YES}} {set newAttrVal [regsub $(casemac) -all—$findValue $attrVal $replaceValue];} else {set newAttrVal [string map $(casemac) [list $findValue $replaceValue] $attrVal];};如果{$newAttrVal ne $attrVal}{设置noMatch false; FME_SetAttribute $attr $newAttrVal; }; if {$noMatch} { if { $invalidValue == {FME_NULL_VALUE} } { FME_SetAttributeNull $attr; } elseif { $invalidValue != {_FME_NO_OP_} } { FME_SetAttribute $attr [FME_DecodeText $invalidValue]; }; }; }; } FACTORY_DEF * TeeFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_2 INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator_AGGREGATE" OUTPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_2_OUTPUT" @Tcl2("$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_2_c683fa19_37c2_4783_a4d6_eda63c0aad5b0_replacer { }{ }{_FME_NO_OP_}”) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -宏casemac包括(如果{{没有}= ={没有}}{把{宏casemac查看nocase}}] Tcl2 proc美元(FMEServerEmailGenerator_WORKSPACE_NAME) _StringReplacer_3f5138e0_6b8b_4a19_8437_41a19f51af410_replacer {findText replaceText invalidValue}{设置attrs[分裂\“text_line_data \”{}];设置findValue [FME_DecodeText $findText];$ replaceValue [FME_DecodeText];设置attrVal [FME_GetAttribute $attr];设置noMatch真;如果{{NO} == {YES}} {set newAttrVal [regsub $(casemac) -all—$findValue $attrVal $replaceValue];} else {set newAttrVal [string map $(casemac) [list $findValue $replaceValue] $attrVal];};如果{$newAttrVal ne $attrVal}{设置noMatch false;FME_SetAttribute attr newAttrVal美元; }; if {$noMatch} { if { $invalidValue == {FME_NULL_VALUE} } { FME_SetAttributeNull $attr; } elseif { $invalidValue != {_FME_NO_OP_} } { FME_SetAttribute $attr [FME_DecodeText $invalidValue]; }; }; }; } FACTORY_DEF * TeeFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_2_OUTPUT" OUTPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_OUTPUT" @Tcl2("$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_3f5138e0_6b8b_4a19_8437_41a19f51af410_replacer { }{@EvaluateExpression (STRING_ENCODED _email_attachment_json $ (FMEServerEmailGenerator_WORKSPACE_NAME) _StringReplacer)}, {_FME_NO_OP_}”) FACTORY_DEF * TeeFactory FACTORY_NAME”(FMEServerEmailGenerator_WORKSPACE_NAME) _OUTPUT1545340915输出美元收集器”输入FEATURE_TYPE”(FMEServerEmailGenerator_WORKSPACE_NAME)美元_StringReplacer_OUTPUT“输入FEATURE_TYPE”(FMEServerEmailGenerator_WORKSPACE_NAME)美元_Tester_PASSED (FMEServerEmailGenerator_WORKSPACE_NAME) _OUTPUT美元“输出FEATURE_TYPE包括[{宏WB_CURRENT_CONTEXT(WB_OLD_CONTEXT_ (FMEServerEmailGenerator_WORKSPACE_NAME)美元)}]FACTORY_DEF * TeeFactory FACTORY_NAME“FMEServerEmailGenerator输出输出重命名/核”输入FEATURE_TYPE FMEServerEmailGenerator_OUTPUT输出FEATURE_TYPE FMEServerEmailGenerator_OUTPUT # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * ServerFactory FACTORY_NAME FMEServerNotifier_2输入FEATURE_TYPE FMEServerEmailGenerator_OUTPUT行动PUBLISH_TO_TOPIC主机“/ /你的服务器连接”主题“@EvaluateExpression (FDIV STRING_ENCODED, _creation_instance FMEServerNotifier_2)”BODY "@EvaluateExpression(FDIV,STRING_ENCODED, text_line_data FMEServerNotifier_2)”OUTPUT OUTPUT FEATURE_TYPE FMEServerNotifier_2_OUTPUT OUTPUT REJECTED FEATURE_TYPE FMEServerNotifier_2_ 输入特性:type FMEServerNotifier_2_OUTPUT FACTORY_DEF * TeeFactory FACTORY_NAME "FMEServerNotifier_2 变压器输出Nuker"输入特性类型FMEServerNotifier_2_ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * RoutingFactory FACTORY_NAME“目的地功能类型路由相关器”COMMAND_PARM_EVALUATION SINGLE_PASS输入FEATURE_TYPE * FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__输出路由FEATURE_TYPE *输出NOT_ROUTED FEATURE_TYPE __nuke_me__ @Tcl2 (“FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type) 818060 818061 fme_warn”) #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * TeeFactory FACTORY_NAME“最终输出核武器”输入FEATURE_TYPE __nuke_me__