SAP PO 消息报文存储详解(SAP PO 消息报文存储详解二)

   日期:2020-09-20     浏览:488    评论:0    
核心提示:为什么要详解这块内容?因为需要把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的工作组件、步骤和日志...

为什么要详解这块内容?

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

(SAP PO 是SAP公司推出的ESB中间件产品,就是本文的PO;不是采购订单PO,也不是JAVA持久化对象POJO)

一、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参数中可以设置日志保存的天数。

 

 

 

 

 

 

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服