SAP PO 消息报文应用2例(永久保存SAP PO中间件消息之四)
上回说到,通过自己的后台取数工具程序,PO的消息永久的落地在了我们自己的数据库中:
在保存消息的同时,我们还可以给消息压缩一下放数据库里,这样我们的数据库可以减少一半的增长,我初步计算了一下:
每1000条消息,未压缩保存到数据库有100MB,压缩后数据为50MB。
数据有了后,我们要放到管理平台上来查询消息:
随便找一对消息,让我们来解读一下:
152117,这个消息是外围系统A发出的请求数据,通过PO在8点58分26秒这个时间点转发给ERP。
152118,这个消息是ERP系统处理后,再通过PO在8点58分26秒这个时间点发回给外围系统A。
这一进一出的时间点差,就是后端ERP系统处理所耗费的时间,这里ERP只用了不到1秒。
接口问题一:
部署没几天,我们收到一个接口问题,系统A传输凭证给ERP,积压了大量凭证数据,为此大家成立一个专项小组来解决这个问题。我先在平台上查询这个接口的消息,发现后端PO到ERP,ERP还给PO这段时间,只耗时1秒钟,而外围系统发一次数据需要等2分钟,然后专项小组集中在外围系统A解决优化这个2分钟的损耗,最后开发人员把每一次的全表搜索改为只第一次才全表搜索。
优化后系统A的整个接口效率从2分钟传出一个凭证,提高到1秒钟传出2个凭证,效率一下提高了240倍,本来系统积压的几千个凭证,财务部门眼看国庆节都处理不完的数据,顷刻间在1个小时内就处理完成了。
接口问题二:
第二天,运维人员报告外围系统B某项业务数据没有更新,我们很快锁定这个相关接口的编号,用这个编号,在管理平台我查询了接口的消息,发现在昨天中午之后,这个接口就没有消息出现,也就是说,这个接口在昨天中午后就没有再工作,所以当然业务人员看不到新数据的更新。 问题传递到外围系统B的管理员,他打开了这个接口的定时作业,新数据就又不断的更新到了系统B。