SAP PO 消息报文存储详解(永久保存SAP PO中间件消息之三)

 

C#连接SAP HANA数据库(永久保存SAP PO中间件消息之一)

SAP PO 消息监控里消息状态预览的设置(永久保存SAP PO中间件消息之二)

SAP PO 消息报文存储详解(永久保存SAP PO中间件消息之三)

 

 

 

为什么要详解这块内容?

因为需要把PO的消息报文读到我们自己的系统数据库中,永久保存数据。而在PO的HANA数据中,还是按照10天的保存期保存日志就好。

 

一、PO的HANA数据库中,存放消息报文相关的表和视图:

BC_MSG_LOG   存放消息日志报文

BC_MSG_LOG_STAT   存放消息传输的状态

BC_MSG_LOG_VIEW   按BC_MSG_LOG_STAT表去BC_MSG_LOG中抓日志数据和报文

 

二、一个WebService接口示例,PO的工作组件、步骤和日志:

BI=2,AM=2,MS=2的时候,PO上的三个组件都记录日志,可以看到日志的类型有BIMSAM:

(这几个参数在PO中的设置,请查看上一篇blog文章)

日志组件的官方说明:

MS:  between receiver determination and mapping step
AM:  between mapping and schema validation
BI:    before inbound processing
SC:   no logged?

 

在数据call方向,有三个步骤:0,1,2;在数据Rtrn方向,有两步:0,1。
在BC_MSG_LOG_STAT表中,记录了一个方向上最后一步的状态是成功还是失败。
在BC_MSG_LOG_VIEW视图中,会参照BC_MSG_LOG_STAT表中的内容去BC_MSG_LOG表取数,

如果日志记录全开,BI=2,AM=2,MS=2的时候,BC_MSG_LOG_VIEW视图会看到call方向上的最后第2步的传递状态,在return方向上可以看到最后1步的传递状态。STATUS字段中 “DLVD” 表示成功传递(我猜的),“FAIL”表示消息失败。

BC_MSG_LOG_VIEW视图其实也就是PO管理端页面看到的内容,这也就是一次接口消息是成对出现的原因,其实是记录了call和return两个方向的报文内容:

三、报文放在哪儿?

报文放在BC_MSG_LOG表的MSG_BYTES字段中,以二进制的方式存储,要查看报文只需要把二进制转换成文本即可。

我们可以简单把报文读到自己的数据库中,永久保存。

call的报文

return的报文:

而在ERP S4系统sxi_monitor中看到的报文,是存放在ERP的数据库中,和PO的数据库关系不大。

sxi_monitor参数中可以设置日志保存的天数。

 

 

 

 

 

 

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘欣的博客

你将成为第一个打赏博主的人!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值