IDOC的状态

2 篇文章 1 订阅

这篇文章介绍IDOC Status的概念和它们的用途,明确IDOC status的类别,看一下完整的状态列表,包括INBOUND和OUTBOUND,还有入站和出站iDoc处理时iDoc状态的顺序。
另外还有监控SAP IDOC status的工具,比如AIF,BD87, WE02,还有如何手工修改IDOC status,最后再深入研究几个最常用的的状态,比如51, 53, 64,1,30等等
https://wiki.scn.sap.com/wiki/display/ABAP/IDoc+Statuses
Note 817939 IDoc: IDocs remain in status 75
IDOC Channel

IDoc Status的概念

IDoc的整个处理过程会经历一系列的事件Event和步骤,每个处理步骤的结果都用两位数字表示,也就是我们的说IDoc Status。例如,成功创建入站iDoc用状态50表示,即“Doc added”。如果传入的iDoc成功创建了应用程序凭证,iDoc进入状态53,“Application document posted”。这些状态就是IDOC处理的一个个的里程碑,它以IDoc Status Record的形式被记录下来,这样的话IDoc的处理过程就可以被监控,在问题处理时,我们可以根据状态快速定位哪些步骤被成功处理了,哪里出现的Error。

最后一个状态码被认为是Final Status。
在这里插入图片描述

入站IDOC状态码示例:
在这里插入图片描述

出站IDOC状态码示例
在这里插入图片描述
请注意这些idoc的状态。在本例中,Inbound iDoc成功地完成了4个处理步骤。开始时,创建了iDoc(状态50),最后iDoc成功地发布了应用程序文档(状态53)。
样例出站iDoc的记录中有5个状态:从iDoc创建(状态01)到iDoc被传递到应用程序接口框架(状态03)。

IDoc status 类别

根据iDoc状态消息的类型或严重程度,iDoc状态代码可以大致分为以下几类:

  • Success成功
  • Error错误
  • Ready to process待处理
  • Warning警告

类别可以表示IDOC处理步骤的总体状态,用红黄绿灯来表示,Success 绿灯,Error 红灯,Ready to process 和Warning黄灯。红绿灯很好理解,黄灯一般表示中间状态或是存在警告,比如入站的64,表示ready to be processed by 应用层和post documents。出站的03表示IDOC ready to be transfer到外部系统。

出站状态

出站IDOC Outbound iDoc就是要发出的IDOC,状态码从01到49。下面是完整列表:

在这里插入图片描述

入站状态

入站就是进入到系统的IDOC,入站的状态码从50开始
在这里插入图片描述

入站iDoc状态顺序

在系统中创建入站iDoc时,其状态为50。然后,根据合作伙伴概要文件的设置,它将立即被处理或被收集。如果idoc被收集,它们将保持状态64(“准备处理”),直到它们被处理。

接下来,iDoc传递到应用层进行处理。IDoc的应用程序处理通过process code进程代码进行,这是一个专门用于IDoc处理的函数,具体取决于IDoc类型。
无错误处理的入站iDoc的最后一个阶段是状态53。但是,如果出现错误,iDoc将进入状态51。
在这里插入图片描述

出站iDoc状态顺序

在系统中创建Outbound iDocs成功,进入状态01。如果没有语法错误,则iDoc进入状态30(“iDoc准备分派”)。但是,如果有语法错误,iDoc将以状态26结束。
在这里插入图片描述

如何监控iDoc状态?

在SAP S4 HANA中,有几种方法可以监视iDoc的状态。但是,监视方法取决于SAP系统的配置和实现的iDoc监视功能。
对于S4 HANA,建议使用SAP Application Integration Framework (AIF)进行iDoc监控。但您也可以使用其他标准工具,如bd87、we02等来查看iDoc状态。
AIF,可以参考我之前整理的另一个笔记,简单说一句,这个组件不是免费的。

以下是可以用于监视SAP S4 HANA中的idoc的事务:

  1. 标准iDoc监视工具:事务bd87we02we05等。
  2. AIF 应用集成框架: /n/aif/err/n/aif/ifmon

标准iDoc监控工具

WE02/WE05(这俩没有区别,都是程序RSEIDOC2)查看IDOC清单 。
BD87通过状态统计查询IDOC。

如何手工修改IDOC状态?

为了纠正错误的数据,iDoc可以进入编辑状态,当编辑入站iDoc的内容时,它进入状态69(“iDoc已编辑”)。类似地,当编辑出站iDoc时,它会进入状态32或33。注意,系统无法在“iDoc was edited”状态下进一步处理iDoc。因此,需要先将iDoc设置为“ready to process准备处理”状态。也就是说,入站idoc的状态为64,出站idoc的状态为30。
可以使用 SE38执行程序 RC1_IDOC_SET_STATUS 来修改IDOC的状态。
在这里插入图片描述

怎么处理有错误状态的IDOC?

  • BD87
  • /AIF/ERR
  • 使用标准程序修改,见下面列表:
program功能
RBDAPP01Inbound Processing of IDocs Ready for Passing (处理Inbound 黄灯数据)
RSEOUT00Process All Selected IDocs (EDI) (处理Outbound 黄灯数据)
RBDMANI2Manual Processing of IDocs: Post IDocs Not Yet Posted (重处理那些红灯Inbound)
RBDAGAINReprocess Outbound iDocs in Error(重处理那些红灯Outbound)
RSETESTDDelete IDocs删除IDOC(TCODE :WE11)
RC1_IDOC_SET_STATUS手工修改IDOC状态(通常用于修改状态为 68 no further processing)
RBDMIDOCCreate iDocs from Change Pointers
RBDSYNERProcess IDoc Despite Syntax Errors
RBDAGAIEReprocessing of Edited IDocs

可以参考:https://wiki.scn.sap.com/wiki/display/ABAP/IDoc+Statuses
其中有详细的status和后续处理方式

重新触发队列:RSEINBQUEUE

在这里插入图片描述

删除队列:RBDQUEUEDELETE

第一屏幕选择入站还是出站,第二屏幕输入队列号和发送方,此时可以选择删除后IDOC的状态,可以是64或是68。
在这里插入图片描述

在这里插入图片描述

IDOC状态存在哪张表?

EDIDC 和 EDIDS,前者存的是当前状态,后者是历史状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值