#! #! bla

" # !GRID_HEIGHT = " 0 " # !标题= " " # !SHOW_BOOKMARKS = " true " # !MAX_LOG_FEATURES = " 200 " # !END_TCL = " " # !FME_BUILD_NUM = " 13518 " # !ZOOM_SCALE = " 100 " # !类别= " " # !REDIRECT_TERMINATORS = "没有" # !LEGAL_TERMS_CONDITIONS = " " # !FME”FME_REPROJECTION_ENGINE = " # !使用= " " # !END_PYTHON = " " # !历史= " " # !GRID_WIDTH = " 0 " # !REQUIREMENTS_KEYWORD = "没有" # !SOURCE_ROUTING_FILE = " " # !DESTINATION_ROUTING_FILE = " " # !目的地= "没有" # !LAST_SAVE_DATE = " 2013 - 09 - 25 t11:10:04 " # !FME_IMPLICIT_CSMAP_REPROJECTION_MODE = "自动" # !WORKSPACE_VERSION = " 1 " # !源= "没有" # !LAST_SAVE_BUILD="FME(R) 2013 SP3 (20130715 - Build 13518 - WIN32)"#!FME_SERVER_SERVICES = " " # !LOG_MAX_RECORDED_FEATURES = " 200 " # !LOG_FILE = " " # !需求= " " # !BEGIN_TCL = " " # !SHOW_ANNOTATIONS = " true " # !VIEW_PAGE_BREAKS = " false " # !IGNORE_READER_FAILURE = "不" # !WARN_INVALID_XFORM_PARAM = "是的" # !> # ! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! 版权所有(c) 2012安全软件有限公亚搏在线司


允许任何人,免费的,使用,为任何目的修改和分发此模板的目标代码形式,受下列限制:


1)不得歪曲本模板及相关FME(R)软件的来源。

2)本模板只能与有效授权的FME软件副本一起使用。


本软件由安全软件公司提供。亚搏在线以及任何明示或暗示的保证,包括,但不限于,隐含的适销性保证,不侵权和适合某一特定目的被拒绝。在任何情况下,安全软件公司。亚搏在线对任何直接的,间接的,偶然的,特别的,模范,或相应的损害赔偿(包括,但不限于,采购替代商品或服务;损失的使用,数据,或利润;或业务中断),但根据任何责任理论,无论是在合同,严格责任,或因使用本软件而以任何方式产生的侵权行为(包括疏忽或其他),即使被告知这种损害的可能性。


" # !FME_PROCESS_GROUP_BY = " " # !描述= "

这个转换器提供了一个简单的方法来创建要由FME服务器通知服务发送的电子邮件消息。

" # !TITLE =“FMEServerEmailGenerator”# !使用= "

1.创建主题和电子邮件订阅服务器


在FME服务器Web界面中,创建要发送到的通知的主题,并创建订阅此主题的电子邮件订阅器。


2.创建一个工作区


一旦您将转换器中的电子邮件字段归档,就可以以两种不同的方式发送电子邮件:


一个。工作空间完成后发送电子邮件

  • 将文本文件写入器添加到工作区
  • 将此转换器连接到文本文件编写器的特性类型
  • 发布工作
  • 向作业提交者注册,资料下载及/或通知服务
  • 对于每个服务,点击编辑按钮
  • 对于要发布的主题(成功),选择前面创建的主题
  • 通知作者,选择您添加的文本文件写入器
  • 完成发布工作区
  • 现在,无论何时通过您注册的FME服务器服务运行工作区,它都将发送一封电子邮件。


B。使用变压器发送电子邮件

  • 将FMEServerNotifier转换器添加到您的工作流中亚搏在线
  • 将其配置为发布到前面创建的主题
  • 为内容,选择text_line_data属性
  • 现在,工作区将在运行时发送电子邮件。
" # !历史= " 21-03-2013,亚伦 今敏,创造了“# !需求= "

FME Server 2013

" # !> # ! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #!
#!
#! #! #!
#!GUI IGNORE DestDataset_TEXTLINE_1,TEXTLINE_OUT_OVERWRITE_FILE_TEXTLINE_1,TEXTLINE_OUT_END_OF_LINE_TEXTLINE_1,TEXTLINE_OUT_WRITE_LAST_EOL_TEXTLINE_1,TEXTLINE_OUT_ENCODING_TEXTLINE_1,TEXTLINE_OUT_WRITE_UTF8_BOM_TEXTLINE_1DEFAULT_MACRO DestDataset_TEXTLINE c:\temp\email.txtGUI FILENAME DestDataset_TEXTLINE Text/Compressed_Text_Files(*.txt;*.txt.gz)|*.txt;*.txt.gz|Text_Files(*.txt)|*.txt|Compressed_Text_Files(*.txt.gz)|*.txt.gz|All_files(*.*)|*.* Destination Text File:INCLUDE [if {[string equal -length 15 {FME_CONDITIONAL} {$(DestDataset_TEXTLINE)} ] == 0} {set encodedVal [FME_EncodeText {$(DestDataset_TEXTLINE)}];输入“宏destdataset_textline_fmeencoded__ $encodedVal”;{$(DestDataset_TEXTLINE)};输入“宏destdataset_textline_fmeencoded__ $encodedVal”;};如果{{$(DestDataset_TEXTLINE)} == {}} {puts_real{参数'DestDataset_TEXTLINE'必须被赋予一个值。};退出1;};)# !START_HEADER # !new_idmulti_writer_first_writer_id 0MULTI_WRITER_TYPE{0} TEXTLINEMULTI_WRITER_KEYWORD{0} TEXTLINE_1#!END_WB_HEADER # !START_WB_HEADERMACRO WB_KEYWORD " TEXTLINE_1 " # !END_WB_HEADER # !START_DEST_HEADER TEXTLINE TEXTLINE_1 # = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #下面的GUI行提示输入一个目录作为#的目的地TEXTLINE文件。用户输入存储在# a宏中,然后用来定义要编写的数据集。END_DEST_HEADER # !START_WB_HEADERDEFAULT_MACRO DestDatasetINCLUDE [ if {"$(DestDataset)" != ""} { \ puts {DEFAULT_MACRO DestDataset_TEXTLINE_1 $(DestDataset)} \ } ]#!END_WB_HEADER # !START_DEST_HEADER TEXTLINE TEXTLINE_1DEFAULT_MACRO DestDataset_TEXTLINE_1 $(DestDataset_TEXTLINE)GUI FILENAME DestDataset_TEXTLINE_1 Text/Compressed_Text_Files(*.txt;*.txt.gz)|*.txt;*.txt.gz|Text_Files(*.txt)|*.txt|Compressed_Text_Files(*.txt.gz)|*.txt.gz|All_files(*.*)|*.* Destination Text File:# =====================================================================# The following GUI line prompts for the overwrite flag.默认值是# YES。可能的值是YES或NO。Any value other than NO or# no is interpreted as YES.DEFAULT_MACRO TEXTLINE_OUT_OVERWRITE_FILE_TEXTLINE_1 YESTEXTLINE_1_OVERWRITE_FILE "$(TEXTLINE_OUT_OVERWRITE_FILE_TEXTLINE_1)"GUI CHOICE TEXTLINE_OUT_OVERWRITE_FILE_TEXTLINE_1 YES%NO Overwrite Existing File:# =====================================================================# Set the type of encoding for the output file# =====================================================================# Set line termination characterDEFAULT_MACRO TEXTLINE_OUT_END_OF_LINE_TEXTLINE_1 SystemTEXTLINE_1_END_OF_LINE "$(TEXTLINE_OUT_END_OF_LINE_TEXTLINE_1)"GUI CHOICE TEXTLINE_OUT_END_OF_LINE_TEXTLINE_1 System%Windows%Unix%Macintosh%Source%None Line Termination:# =====================================================================# Set whether to write the last line termination characterDEFAULT_MACRO TEXTLINE_OUT_WRITE_LAST_EOL_TEXTLINE_1 YESTEXTLINE_1_WRITE_LAST_EOL "$(TEXTLINE_OUT_WRITE_LAST_EOL_TEXTLINE_1)"GUI CHOICE TEXTLINE_OUT_WRITE_LAST_EOL_TEXTLINE_1 YES%NO Write Last Line Terminator:DEFAULT_MACRO TEXTLINE_OUT_ENCODING_TEXTLINE_1 ANSITEXTLINE_1_ENCODING "$(TEXTLINE_OUT_ENCODING_TEXTLINE_1)"GUI STRING_OR_ENCODING TEXTLINE_OUT_ENCODING_TEXTLINE_1 UTF-8%UTF-16LE%UTF-16BE%ANSI%BIG5%SJIS%CP037%CP437%CP708%CP720%CP737%CP775%CP850%CP852%CP855%CP857%CP860%CP861%CP862%CP863%CP864%CP865%CP866%CP869%CP932%CP936%CP950%CP1250%CP1251%CP1252%CP1253%CP1254%CP1255%CP1256%CP1257%CP1258%ISO8859-1%ISO8859-2%ISO8859-3%ISO8859-4%ISO8859-5%ISO8859-6%ISO8859-7%ISO8859-8%ISO8859-9%ISO8859-13%ISO8859-15 Character Encoding:# =====================================================================# The following GUI line prompts for the overwrite flag.默认值是# YES。可能的值是YES或NO。Any value other than NO or# no is interpreted as YES.DEFAULT_MACRO TEXTLINE_OUT_WRITE_UTF8_BOM_TEXTLINE_1 YESTEXTLINE_1_WRITE_UTF8_BOM "$(TEXTLINE_OUT_WRITE_UTF8_BOM_TEXTLINE_1)"GUI CHOICE TEXTLINE_OUT_WRITE_UTF8_BOM_TEXTLINE_1 YES%NO Write UTF Byte Order Mark# =====================================================================# Set the mime type.注意——它实际上只在工作空间#中作为FORMAT_PARAMETER使用,即使在这种情况下,也只由FME Server# Repository ManagerTEXTLINE_1_DATASET "$(DestDataset_TEXTLINE_1)"#解析!END_DEST_HEADER # !END_HEADERLOG_FILENAME "$(FME_MF_DIR)send_email_on_end.log"LOG_APPEND NOLOG_MAX_FEATURES 200LOG_MAX_RECORDED_FEATURES 200FME_REPROJECTION_ENGINE FMEFME_IMPLICIT_CSMAP_REPROJECTION_MODE AutoFME_GEOMETRY_HANDLING EnhancedFME_STROKE_MAX_DEVIATION 0LOG_FILTER_MASK -1DEFAULT_MACRO DATASET_KEYWORD_TEXTLINE_1 TEXTLINE_1# -------------------------------------------------------------------------MULTI_READER_CONTINUE_ON_READER_FAILURE No# -------------------------------------------------------------------------MACRO WORKSPACE_NAME send_email_on_endMACRO FME_VIEWER_APP fmedatainspector# -------------------------------------------------------------------------INCLUDE [ if {[info exists env(FME_TEMP)] && [file isdirectory $env(FME_TEMP)]} {set gVisualizerTemp $env(FME_TEMP)} elseif {[info exists env(TEMP)] && [file isdirectory $env(TEMP)]} {set gVisualizerTemp $env(TEMP)} elseif { $tcl_platform(platform) == "unix" } {set gVisualizerTemp "/tmp"} else {set gVisualizerTemp c:};regsub - {[,]} {$ (WORKSPACE_NAME)} {_} wsname;设置gVisualizerTemp $gVisualizerTemp/${wsname}_[时钟格式[时钟秒]-格式%H%M%S];输入“宏WORKSPACE_TEMP_DIR $gVisualizerTemp”;MACRO VISUALIZER_FEATURE_FILE $(WORKSPACE_TEMP_DIR)/inspector.ffsMACRO VISUALIZER_SCHEMA_FILE $(WORKSPACE_TEMP_DIR)/inspector.fscMACRO VISUALIZER_CREATE_SPATIAL_INDEX YESDEFAULT_MACRO WB_CURRENT_CONTEXT# -------------------------------------------------------------------------Tcl2 proc Creator_CoordSysRemover {} { global FME_CoordSys;设置FME_CoordSys {};}宏creator_class_activatedmacro Creator_2D3D 2d_geometry宏Creator_COORDS if {{Geometry Object} == {2D坐标列表}}{put{宏Creator_2D3D 2D_GEOMETRY};{宏Creator_CLASSIC *}}包含[if{{几何对象}== {3D坐标列表}}{宏Creator_2D3D 3D_GEOMETRY};如果{{几何对象}== {2D Min/Max Box}} {set comment{我们需要将minX minY maxX maxY坐标转换成完整的多边形列表};设置splitcods [split]字符串修剪{ }]];如果{[llength $ splitcods] > 4} {set trimmedCoords {};如果{$item != {}} {lappend trimmedCoords $item}};设置splitCoords trimmedCoords美元;};如果{[llength $splitCoords] != 4} {error {Creator: Coordinate List必须有四个数字- ' 的是无效的};};设置minX [lindex $splitCoords 0];set minY [lindex $splitCoords 1];设置maxX [lindex $ splitcods 2];set maxY [lindex $splitCoords 3];放置“宏Creator_COORDS $minX $minY $minX $maxY $maxX $maxY $maxX $minY $minX $minY”;输入{宏Creator_2D3D 2D_GEOMETRY};Creator_XML_Creator CREATE_AT_END无输出特性 xml ? version = 1.0 编码= US_ASCII 独立的= 没有 吗? 几何 尺寸= 2 几何 )FACTORY_DEF $(Creator_CLASSIC) CreationFactory FACTORY_NAME Creator_CLASSIC_Creator $(Creator_2D3D) $(Creator_COORDS) CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______FACTORY_DEF * TeeFactory FACTORY_NAME Creator_Cloner INPUT FEATURE_TYPE _____CREATED______ NUMBER_OF_COPIES 1 COPY_NUMBER_ATTRIBUTE "_creation_instance" OUTPUT FEATURE_TYPE Creator_CREATED @Tcl2(Creator_CoordSysRemover) @CoordSys() fme_feature_type Creator# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "FMEServerEmailGenerator INPUT Input Collector" INPUT FEATURE_TYPE Creator_CREATED OUTPUT FEATURE_TYPE FMEServerEmailGenerator_INPUTMACRO FMEServerEmailGenerator_WORKSPACE_NAME FMEServerEmailGeneratorMACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_XFORMER_NAME FMEServerEmailGeneratorINCLUDE [if {[string equal -length 15 {FME_CONDITIONAL} {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_XFORMER_NAME)} ] == 0} {set encodedVal [FME_EncodeText {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_XFORMER_NAME)}];输入“宏$(FMEServerEmailGenerator_WORKSPACE_NAME) _xformer_name_fmeencoded__ $encodedVal”;$($(FMEServerEmailGenerator_WORKSPACE_NAME)_XFORMER_NAME)};输入“宏$(FMEServerEmailGenerator_WORKSPACE_NAME) _xformer_name_fmeencoded__ $encodedVal”;};宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_TRANSFORMER_GROUP包含[if {[string = -length 15 {fme_condition} {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_TRANSFORMER_GROUP)] == 0} {set encodedVal [FME_EncodeText {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_TRANSFORMER_GROUP)];输入“宏$(FMEServerEmailGenerator_WORKSPACE_NAME) _transformer_group_fmeencoded__ $encodedVal”;$($(FMEServerEmailGenerator_WORKSPACE_NAME)_TRANSFORMER_GROUP)};输入“宏$(FMEServerEmailGenerator_WORKSPACE_NAME) _transformer_group_fmeencoded__ $encodedVal”;};宏$(FMEServerEmailGenerator_WORKSPACE_NAME) _compound_parameters包含[if {[string = -length 15 {fme_condition} {$($(FMEServerEmailGenerator_WORKSPACE_NAME) _compound_parameters)] == 0} {set encodedVal [FME_EncodeText {$($(FMEServerEmailGenerator_WORKSPACE_NAME) _compound_parameters)];输入“宏$(FMEServerEmailGenerator_WORKSPACE_NAME) _compound_parameters_fmeencoded__ $encodedVal”;$($(FMEServerEmailGenerator_WORKSPACE_NAME) __compound_parameters)};输入“宏$(FMEServerEmailGenerator_WORKSPACE_NAME) _compound_parameters_fmeencoded__ $encodedVal”;};[if {[string = -length 15 {fme_condition} {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_SUB_DOC_NAME)] == 0} {set encodedVal [FME_EncodeText {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_SUB_DOC_NAME)];输入“宏$(FMEServerEmailGenerator_WORKSPACE_NAME) _sub_doc_name_fmeencoded__ $encodedVal”;$($(FMEServerEmailGenerator_WORKSPACE_NAME)_SUB_DOC_NAME)};输入“宏$(FMEServerEmailGenerator_WORKSPACE_NAME) _sub_doc_name_fmeencoded__ $encodedVal”;};美元)宏(FMEServerEmailGenerator_WORKSPACE_NAME) _email_to foo 如果{[string = -length 15 {fme_condition} {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_email_from)}] == 0} {set encodedVal [FME_EncodeText {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_email_from)};输入“宏$(FMEServerEmailGenerator_WORKSPACE_NAME) _email_from_fmeencoded__ $encodedVal”;$($(FMEServerEmailGenerator_WORKSPACE_NAME)_email_from)};输入“宏$(FMEServerEmailGenerator_WORKSPACE_NAME) _email_from_fmeencoded__ $encodedVal”;};宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_email_replyto包含[]宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_email_subject测试 宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_email_subscriber_content Hi 你的 FME 其中包含了[put {MACRO WB_OLD_CONTEXT_$(FMEServerEmailGenerator_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)};puts {MACRO WB_CURRENT_CONTEXT $(FMEServerEmailGenerator_WORKSPACE_NAME)}]FACTORY_DEF * TeeFactory FACTORY_NAME "$(FMEServerEmailGenerator_WORKSPACE_NAME)_INPUT Input Splitter" INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_INPUT" OUTPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_INPUT"# -------------------------------------------------------------------------Tcl2 proc $(FMEServerEmailGenerator_WORKSPACE_NAME)_ParameterFetcher_doFetch {} { foreach {name val} {"_email_from {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_email_from__FMEENCODED__)} _email_replyto {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_email_replyto)} _email_attachment_paths {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_email_attachment_paths)} _email_cc {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_email_cc)}"} { if { [string match {* {$(FMEServerEmailGenerator_WORKSPACE_NAME)_ParameterFetcher}];$val (FME_Execute EvaluateExpression {string} $val (FMEServerEmailGenerator_WORKSPACE_NAME)_ParameterFetcher});{set val [fme_decodet敲诈attr $val];};FME_SetAttribute [FME_DecodeText $name] $val } }FACTORY_DEF * TeeFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_ParameterFetcher INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_INPUT" OUTPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_ParameterFetcher_OUTPUT" @Tcl2($(FMEServerEmailGenerator_WORKSPACE_NAME)_ParameterFetcher_doFetch)# -------------------------------------------------------------------------FACTORY_DEF * AttrSetFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeCreator INPUT 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) OUTPUT OUTPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeCreator_OUTPUT" # -------------------------------------------------------------------------FACTORY_DEF * XMLTemplaterFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_JSONTemplater INPUT CONTROL_FEATURE FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeCreator_OUTPUT" INPUT DATA_FEATURE FEATURE_TYPE $(FMEServerEmailGenerator_WORKSPACE_NAME)_JSONTemplater_DataFeatures RESULT_ATTR text_line_data CONSECUTIVE_GROUPS NO BUCKET_ATTR_NAME __xml_templater_bucket__ CONTROL_TEMPLATE_EXPR email_to : fme: get-attribute _email_to email_cc : fme: get-attribute _email_cc email_from : fme: get-attribute _email_from email_replyto : fme: get-attribute _email_replyto email_subject : fme: get-attribute _email_subject subscriber_content : fme: get-attribute _email_subscriber_content INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_JSONTemplater_OUTPUT" TEST _email_attachment_paths ATTRIBUTE_IS_EMPTY $(FMEServerEmailGenerator_WORKSPACE_NAME)_Tester_FAILED"#——Tcl2 set $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_fbea8c81_752d_461f_a491_e02ba3c006f50_splitDelim });{set $(FMEServerEmailGenerator_WORKSPACE_NAME) }{}]s];全局$(FMEServerEmailGenerator_WORKSPACE_NAME) _attributesplitter_fbea8c81_752d_461f_a491_e02ba3c006f50_splitwidth;设置源[FME_GetAttribute {"_email_attachment_paths"}];设置attrNum 0;设置listName {_email_attachment_path_list};设置attrPos 0;fbea8c81_752d_461f_a491_e02ba3c006f50_splitwidths [set endPos [expr $attrPos + $width - 1];设置位[字符串范围$source $attrPos $endPos];FME_SetAttribute "$listName{$attrNum}" [string trim $bit];增加美元attrPos宽度;增加attrNum;};};{global $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_fbea8c81_752d_461f_a491_e02ba3c006f50_splitDelim;set delim [set $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_fbea8c81_752d_461f_a491_e02ba3c006f50_splitDelim];set delimLength [string length $delim];设置源[FME_GetAttribute {"_email_attachment_paths"}];设置keepEmptyParts [string = {No} {No}];设置位{};设置startIndex 0;设置nextIndex [string first $delim $source $startIndex];{set part [string range $source $startIndex [expr $nextIndex-1]];如果{$keepEmptyParts || $part != \"\"} {lappend bits $part;};设置startIndex [expr $nextIndex + $delimLength];设置nextIndex [string first $delim $source $startIndex];};设置lastPart [string range $source $startIndex end];如果{$keepEmptyParts || $lastPart != \"\"} {lappend bits $lastPart};设置listName {_email_attachment_path_list};设置attrNum 0;{FME_SetAttribute "$listName{$attrNum}" [string trim $bit];增加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_381a52fd_2cd9_4ee7_b7d5_c6f6a98a999f0_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_381a52fd_2cd9_4ee7_b7d5_c6f6a98a999f0_doSetAttr {@EvaluateExpression(STRING_ENCODED, email_attachment 价值 _element_index : 价值 _email_attachment_path_list ,$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator)} ")# -------------------------------------------------------------------------DEFAULT_MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator_BREAK_ATTRFACTORY_DEF * AggregateFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator_OUTPUT" MODE ONE_LEVEL $($(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator_BREAK_ATTR) ACCUMULATE_ATTRIBUTES Yes CONCATENATE_FIELDS _email_attachment_json SEPARATOR PRODUCE_MULTIS YES输出聚合特性_type "$(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator_AGGREGATE" @Geometry(set_to_contain_personal_geoms,NO) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -宏casemacINCLUDE(如果{{没有}= ={没有}}{把{宏casemac查看nocase}}] Tcl2 proc美元(FMEServerEmailGenerator_WORKSPACE_NAME) _StringReplacer_2_6ed460a0_f19d_41e6_b0b6_fc64b534b73b0_replacer {findText replaceText}{设置attrs[分裂\“_email_attachment_json \”{}];设置findValue [FME_DecodeText $findText];set replaceValue [FME_DecodeText $replaceText];{set attrVal [FME_GetAttribute $attr];set length [string length $attrVal];{FME_SetAttribute $attr [regsub $(casemac) -all——$findValue [FME_GetAttribute $attr] $replaceValue];{FME_SetAttribute $attr [string map $(casemac)] [list $findValue $replaceValue] [FME_GetAttribute $attr]];};};};$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_2_OUTPUT" @Tcl2 " (" FMEServerEmailGenerator_WORKSPACE_NAME ") _stringreplacer_2_6ed460a0_f19d_41e6_fc64b534b73b0_replacer " }{ }”)# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -宏casemacINCLUDE(如果{{没有}= ={没有}}{把{宏casemac查看nocase}}] Tcl2 proc美元(FMEServerEmailGenerator_WORKSPACE_NAME) _StringReplacer_44ecf7e5_c00d_4153_a8d3_2f9ede68c23d0_replacer {findText replaceText}{设置attrs[分裂\“text_line_data \”{}];设置findValue [FME_DecodeText $findText];set replaceValue [FME_DecodeText $replaceText];{set attrVal [FME_GetAttribute $attr];set length [string length $attrVal];{FME_SetAttribute $attr [regsub $(casemac) -all——$findValue [FME_GetAttribute $attr] $replaceValue];{FME_SetAttribute $attr [string map $(casemac)] [list $findValue $replaceValue] [FME_GetAttribute $attr]];};};};$(" FMEServerEmailGenerator_WORKSPACE_NAME ")_StringReplacer_OUTPUT" @Tcl2 " (" FMEServerEmailGenerator_WORKSPACE_NAME ")_StringReplacer_OUTPUT" @Tcl2 " (" FMEServerEmailGenerator_WORKSPACE_NAME ")_StringReplacer_44ecf7e5_c00d_4153_a8d3_2f9ede68c23d0_replacer " }{@EvaluateExpression (STRING_ENCODED 价值 _email_attachment_json ,$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer)}")FACTORY_DEF * TeeFactory FACTORY_NAME "$(FMEServerEmailGenerator_WORKSPACE_NAME)_OUTPUT Output Collector" INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_Tester_PASSED" INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_OUTPUT" OUTPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_OUTPUT"INCLUDE [puts {MACRO WB_CURRENT_CONTEXT $(WB_OLD_CONTEXT_$(FMEServerEmailGenerator_WORKSPACE_NAME))}]FACTORY_DEF * TeeFactory FACTORY_NAME "FMEServerEmailGenerator OUTPUT Output Renamer/Nuker" INPUT FEATURE_TYPE FMEServerEmailGenerator_OUTPUT OUTPUT FEATURE_TYPE FMEServerEmailGenerator_OUTPUT# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "FMEServerEmailGenerator_OUTPUT -> text_line Correlator" INPUT FEATURE_TYPE FMEServerEmailGenerator_OUTPUT OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id 0 @Transform(FME_GENERIC,TEXTLINE) @SupplyAttributes(ENCODED,__wb_out_feat_type__,text_line)# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME "Final Output Feature Type Router" INPUT FEATURE_TYPE * TEST @Value(__wb_out_feat_type__) != "" OUTPUT PASSED FEATURE_TYPE * @FeatureType(@Value(__wb_out_feat_type__)) OUTPUT FAILED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type] 818060 818061 fme_warn")# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "Final Output Nuker" INPUT FEATURE_TYPE __nuke_me__