SAP 工具箱邮件通知平台

作者:ABAP技巧与实战 约 9 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:工具, 技术
目录

无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)

**点击蓝字** 关注我们

前言

项目中总会有人提出发邮件通知的需求

• 订单创建后,请发邮件通知领导审批

• 数据维护了一部分内容,请发邮件通知其它部门完成另一部分内容

• 系统报错了,请发邮件通知管理员及时处理

• 孩子要出生了, 请发邮件通知孩他爹来医院

• ……

这么多的通知需求,能不能在一个统一的程序(平台)中通过配置实现呢?

**本文主要介绍一个集中的邮件通知程序(平台)的原理及配置过程**

集中监控

之前简单介绍过一个集中监控程序,发邮件通知只是这个集中监控程序的一个功能.

但因为发邮件的需求及意义已经大于了集中监控,所以把这个部分整理出来,喧宾夺主一下.

> 详见链接 无峰,公众号:ABAP开发技巧 [ SAP开发框架系列之 集中监控

> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247484840&idx=1&sn=8ea5b14cc88df2d3dae0202414dfdb9a&chksm=cf5dd89ef82a51884ad890907419c5ac7acbc22c8be64829fd676c9559bdce7041572862131a&token=656574815&lang=zh_CN#rd)

设计原理

设计原理很简单,基本上一句话可以表达

通过一个集中配置表配置下面思维导图中提到的要点,用一个程序读取配置表中的配置,生成SQL语句访问特定的表,把访问结果集中呈现出来

访问结果表达为

• 总行数

• 成功的行数

• 失败的行数

• 未处理的行数

监控程序执行的方式

• 前台执行,就是集中监控平台,

• 后台执行,发邮件通知,就是邮件通知平台

同时也支持短信(需要短信服务),企业微信通知

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

配置表详情

通知平台使用了两个配置表

• ZTBC_MONI_CONFG 监控配置表

• ZTDEV_USER 开发清单的用户信息

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

_**01** _

**监控配置表**

表名:ZTBC_MONI_CONFG 监控配置表

相关字段

ZMONT_ID 监控ID

ZMONT_NM 监控名称

ZMONT_NM_EN 英文监控名称

ZMONT_TABLE 监控表名

ZMONT_FD 监控字段

ZMONT_VL 监控字段值(允许多值,通过逗号分隔)

ZWIN_VL 成功标识值: 允许多值,通过逗号分隔,单独的逗号表示空白

ZFAIL_VL 失败标识值: 允许多值,通过逗号分隔,单独的逗号表示空白

ORDER_KEY_FD单据号的字段名

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

DATEFED 日期字段

TIMEFED 时间字段名

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

ZSUPC_FD1 补充条件字段1

ZSUPC_VL1 补充条件值1 允许多值,通过逗号分隔,空白直接输入逗号)

ZSUPC_FD2 补充条件字段2

ZSUPC_VL2 补充条件值2

SQL_CONDI 附加SQL条件

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

LINK_TCODE 跳转的TCODE

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

LINK_TCODE_STATUS 跳转到目标程序的状态选择条件名

LINK_TCODE_DATUM 跳转到目标程序的日期选择条件名

LINK_TCODE_PID 链接TCODE 的参数ID

LINK_TCODE_SEL 补充的跳转传递的选择条件

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

LINK_COMP_SEL 调整监控与跳转的公司代码/地点选择

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

RFCDEST目标 监控其它系统的内容

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

TZUSER 监控通知人员

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

TZCOND 通知的阀值

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

GET_BUKRS 获取公司代码方式

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

GET_WERKS 获取地点信息

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

USR_ASSIGN 用户分配

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

ADDITION_MESSAGE 附加的邮件正文信息

ADDITION_MESSAGE_E 附加信息(英文)

ZTDEV_USER 开发清单的用户信息

这个用户表本意是为开发清单管理使用的, 后来扩展到相关程序共用.

_**02** _

**用户通知方式**

表名: DUSER开发清单用到的用户

字段

ZSYS 项目

ZMOD 模块

BNAME 用户

MOBILE 手机号

WEAPP 微信应用ID

WECHATUID 企业微信用户ID

SMTP_ADDR 电子邮件地址

ROLE_1 关键用户

ROLE_2 顾问

ROLE_3 单元测试人员

ROLE_4 开发人员

ROLE_5 业务测试人员

ROLE_6 接口开发人员

ROLE_7 PI配置人员

ROLE_8 监控人员

MSG_1 短信通知(未支持)

MSG_2 企业微信通知

MSG_3 SAP系统弹窗通知

MSG_4 系统邮件通知

MSG_5 外部邮件通知(需配置企业邮件服务器)

邮件通知的配置示例

洋洋洒洒列了这么多字段,其实只是为了做个记录,在邮件通知配置时,很多和单据跳转相关的字段是用不着的.

下面从一个具体的示例来看邮件通知都需要做些什么.

单据由两部分字段,A部门人员维护了其中一部分字段后,需要发邮件通知B部门维护另外一部分字段.

首先 分析两个部门需要维护数据的表 ZTPP1001_H

其次 分析B 部门需要维护的重要字段 CERTIFICATE

当该字段为空时, 需要发出通知,把为空的信息维护到失败标识值中

维护内容如下图即可

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

测试

执行程序 ZBC_MONITOR, 输入监控ID,放大期间(后台执行时,指定当前日期或昨天即可)

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

前台执行,进入监控显示界面

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

点击失败记录数 跳转到处理程序

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

后台执行

收到通知邮件,通知方式在ZTDEV_USER中配置. 可以配置成外部邮件通知(需要在S4应用服务器上配置邮件系统).

定义后台作业每天执行该程序就可以实现定时发送邮件了.

也可配置短信通知(需要短信网关) 或企业微信

如果想更及时的获取邮件通知, 可以同时添加日期/时间配置,后台作业定义每小时一次,获取当前日期,指定时间段的数据即可.

下面的描述不足以明确提醒用户维护数据, 可以在监控配置表中补充一段文字,用于说明被通知人员要处理的事项,

比如: 存在N行没有维护认证信息(N=报错数) . 请尽快登录系统维护(维护程序ZPP1001).

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

邮件系统配置

TCODE : SCOT

详细配置过程就不再赘述了. 感兴趣的可以自行CHATGPT一下

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

集中监控预配置

ZBC_MONITOR_PREPARE 监控数据准备

通过预配置程序,可以把一些常用的监控条目添加到监控配置表中

比如

• ST22监控

• SXI_MONITOR的监控

• 队列处理监控

• 自动单据监控体系

• ……

SAP 工具箱邮件通知平台 - 封面图
SAP 工具箱邮件通知平台 - 封面图

总结

邮件发送功能是相对简单的基础功能, 如果不整合在一起, 就需要每个特定的程序中取完成这个部分, 不利于统一的维护及调整.

通过邮件通知平台整合后, 特殊的个性化的需求可能无法实现. 但是可以通过配置实现通知功能.方便后续添加各种各样的通知.

邮件信息还有个改进点, 可以把NWBC或WEBGUI访问TCODE的地址附加在邮件中, 这样用户点击链接,就能通过浏览器进入数据处理程序,执行相关处理.

** THE **

** END **

**约定**

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.

( **如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程.

越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.** )

请微信联系管理员

syjf1976

sharry_xlp

Yannick_Duan

申请进入公众号讨论群提问或者参与话题讨论

ABAP技巧与实战

关于作者:ABAP技巧与实战

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「SAP工具箱邮件通知平台.md」整理生成,仅用于内部技术分享与学习交流。