三
设计原理
设计原理很简单,基本上一句话可以表达:
通过一个集中配置表配置下面思维导图中提到的要点,用一个程序读取配置表中的配置,生成SQL语句访问特定的表,把访问结果集中呈现出来
访问结果表达为
监控程序执行的方式:
同时也支持短信(需要短信服务),企业微信通知
四
配置表详情
通知平台使用了两个配置表
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单据号的字段名
DATEFED日期字段
TIMEFED时间字段名
ZSUPC_FD1补充条件字段1
ZSUPC_VL1补充条件值1 允许多值,通过逗号分隔,空白直接输入逗号)
ZSUPC_FD2补充条件字段2
ZSUPC_VL2补充条件值2
SQL_CONDI附加SQL条件
LINK_TCODE跳转的TCODE
LINK_TCODE_STATUS跳转到目标程序的状态选择条件名
LINK_TCODE_DATUM跳转到目标程序的日期选择条件名
LINK_TCODE_PID链接TCODE 的参数ID
LINK_TCODE_SEL补充的跳转传递的选择条件
LINK_COMP_SEL调整监控与跳转的公司代码/地点选择
RFCDEST目标 监控其它系统的内容
TZUSER监控通知人员
TZCOND通知的阀值
GET_BUKRS获取公司代码方式
GET_WERKS获取地点信息
USR_ASSIGN用户分配
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_7PI配置人员
ROLE_8监控人员
MSG_1短信通知(未支持)
MSG_2企业微信通知
MSG_3SAP系统弹窗通知
MSG_4系统邮件通知
MSG_5外部邮件通知(需配置企业邮件服务器)
五
邮件通知的配置示例
洋洋洒洒列了这么多字段,其实只是为了做个记录,在邮件通知配置时,很多和单据跳转相关的字段是用不着的.
下面从一个具体的示例来看邮件通知都需要做些什么.
单据由两部分字段,A部门人员维护了其中一部分字段后,需要发邮件通知B部门维护另外一部分字段.
首先 分析两个部门需要维护数据的表 ZTPP1001_H
其次 分析B 部门需要维护的重要字段 CERTIFICATE
当该字段为空时, 需要发出通知,把为空的信息维护到失败标识值中
维护内容如下图即可
六
测试
执行程序 ZBC_MONITOR, 输入监控ID,放大期间(后台执行时,指定当前日期或昨天即可)
前台执行,进入监控显示界面
点击失败记录数 跳转到处理程序
后台执行
收到通知邮件,通知方式在ZTDEV_USER中配置. 可以配置成外部邮件通知(需要在S4应用服务器上配置邮件系统). 定义后台作业每天执行该程序就可以实现定时发送邮件了.
也可配置短信通知(需要短信网关) 或企业微信
如果想更及时的获取邮件通知, 可以同时添加日期/时间配置,后台作业定义每小时一次,获取当前日期,指定时间段的数据即可.
下面的描述不足以明确提醒用户维护数据, 可以在监控配置表中补充一段文字,用于说明被通知人员要处理的事项,
比如:存在N行没有维护认证信息(N=报错数) . 请尽快登录系统维护(维护程序ZPP1001).
七
邮件系统配置
TCODE : SCOT
详细配置过程就不再赘述了. 感兴趣的可以自行CHATGPT一下
八
集中监控预配置
ZBC_MONITOR_PREPARE 监控数据准备
通过预配置程序,可以把一些常用的监控条目添加到监控配置表中
比如
九
总结
邮件发送功能是相对简单的基础功能, 如果不整合在一起, 就需要每个特定的程序中取完成这个部分, 不利于统一的维护及调整.
通过邮件通知平台整合后, 特殊的个性化的需求可能无法实现. 但是可以通过配置实现通知功能.方便后续添加各种各样的通知.
邮件信息还有个改进点, 可以把NWBC或WEBGUI访问TCODE的地址附加在邮件中, 这样用户点击链接,就能通过浏览器进入数据处理程序,执行相关处理.
THE
END
约定
如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.
(如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)
请微信联系管理员:
syjf1976
sharry_xlp
Yannick_Duan
申请进入公众号讨论群提问或者参与话题讨论