一.说明

Office的邮件合并的目的是将一份模板文档快速生成多份,利用此功能可为SAP的批处理SHDB批量生成执行脚本(参见《BDC批处理使用方法》)。邮件合并本身功能繁多,可快速生成证件、邮件并具有格式编辑能力,但为SAP批处理生成的脚本只涉及文本,则非常简单。

邮件合并需要一个文本编辑和一个数据源,前者通常是Word,而后者可用类型繁多,例如纯文本文件、Excel电子表格、Access数据库、Outlook中的联系人、ODBC等,相比较Excel使用最为简洁方便,本文就以Word 2007、Excel 2007为例进行描述。

二.数据准备

SHDB经过对事物码录屏操作生成脚本,可以导出一个文本文件。本例是对事物码MMPV的录屏,导出文件ZMMPV.txt如图 1 所示,在这里注意I_LFMON对应的月份(4),I_LFGJA对应的年份(1998),后续操作将作为变量进行处理。

图 1 SHDB导出的脚本文件

新建一个Excel 2007电子表格文件,如图 2 所示,在工作表Sheet1中输入数据源,列标题有两栏分别是“年份”、“月份”,本例从1998年5月至1999年12月,共20条数据。维护好后保存,文件名设为“日历.xlsx”。

图 2 存储数据的Excel表

三.邮件合并操作

新建一个Word文档(不用保存),将SHDB导出的脚本文件(ZMMPV.txt)信息粘贴过来,如图 3 所示。邮件合并流程的初始需选择类型,在“邮件”选项卡的“开始”组件中,下拉菜单,可以看到邮件合并的类型,由于生成的脚本是纯文本,所以要点击 “普通Word文档(N)”菜单项。

图 3 Word文档_开始邮件合并

选择数据源,在“邮件”选项卡的“选择收件人”组件中下拉菜单,选择“使用现有列表(E)…”菜单项如图 4 所示,弹出打开文件对框,可见到有多种数据源类型,在此打开刚才生成的Excel文件“日历.xlsx”,文件下有三个工作表,选择默认的Sheet1如图 5 所示。当加入数据源后,“邮件”选项卡右侧的很多组件才能从灰色转换成有效状态。

图 4 Word文档_插入数据文件

图 5 选择Excel文件的工作表

选择数据源后,就开始替换模板中的变量操作,如图 6 所示,在“邮件”选项卡的“插入合并域”组件中,点击下拉菜单,可以看到从Excel文件带来的列标题字段(年份、月份)。在此首先替换月份,选中需要替换的字符串,再点击下拉菜单的“月份”项。在选取月份时,注意要选择“ 4”两个字符(4前面有一空格),否则后续生成脚本当月份为10、11、12时,加上前导的空格则占用3个字符,超过字段I_LFMON的限制。

图 6 Word文档_替换月份

发表评论

Post Navigation