二维码

[IDOC] IDOC结构、类型、消息类型、outbound和inbound的处理流程

Twilight发表于 2014-10-29 20:17CK_Rocky 最后回复于 2016-05-10 14:31 [复制链接] 8066 1

1、IDOC:intermidiate document 中间文档

2、IDOC结构包括一个控制记录,一段或多段数据记录以及一段或多段状态记录,学过网络原理的人,不难理解,这就像TCPIP报文一样,控制记录control record也叫IDOC头,里面包括IDOC的发送者,接收者等信息。数据记录data record中包括具体的数据信息,比如一个订单的数据信息。状态记录status record记录IDOC从应用到其送达方的当前状态信息,如“已创建”、“准备发送”等,是对IDOC进行控制的重要信息。

3、IDOC类型,IDOC结构是根据IDOC type决定的,一个业务对象如销售订单对应特定的一个IDOC type。IDOC type 通过数据段,数据段层次和次序进行定义,可以通过T-code:WE30查看IDOC type的层次结构。SAP提供的标准的IDOC type也称为基本类型 basic type。

4、消息类型,message type。IDOC type 是IDOC 数据结构的说明,而消息类型 message type 则是IDOC type 的视图。一个IDOC type 可以对应多个 message type。如IDOC类型EMPINF是业务对象员工 Employee的数据结构说明,包含员工的所有信息,该IDOC type 对应多个视图,如消息类型EMPADD是员工地址信息的视图,消息类型EMPSYS是员工系统权限的视图,上述两个message type均是基于IDOC类型EMPINF。

5、IDOC outbound的处理流程
      在IDOC的处理流程中,根据流向分为outbound(向外,即从SAP向外部系统)和inbound (向内,从外部系统向SAP)两种。
数据交互的合作对象(即发送方或接受方)必须在业务伙伴参数文档(parter profile)中定义。parter profile中需指定的内容包括消息类型message type和传递方式以及输出或接受到的数据的处理细节。

      对业务伙伴做一下说明。SAP中业务伙伴和逻辑系统logical system概念相关,逻辑系统是指系统之间数据传输过程中用于唯一标识各个系统的ID,在t-code:SALE中定义,是系统定制的一部分。对每一个logical system都需要定义一个业务伙伴参数文档,可通过T-code:WE20定义。
     outbound向外处理流程:
     1)应用文件的记入
     2)创建相关的向外IDOC outbound IDOC
     3)寻找伙伴参数和端口
     4)通过该端口将IDOC传递至外部系统。
如:SAP系统A要向系统B传输数据,系统A必须定义其outbound IDOC的接口(outbound IDOC interface),在端口表述中,系统A定义IDOC的目标系统以及其参数设定,在伙伴参数的设定中,系统A将指定系统B为其伙伴,接受特定IDOC类型,并未该伙伴定义端口。
     inbound向内处理流程:
     1)从系统的向内端口中接收到外部系统传来的IDOC数据
     2)创建向内IDOC inbound IDOC
     3)通过伙伴参数文档查找该IDOC的处理类型
     4)找到正确的应用后记入应用文件

6、idoc相关表:
EDIDC  控制记录 (IDoc)
EDIDS  状态记录 (IDoc)
EDID4  4.0 以上版本的 IDoc 数据记录
EDID2  3.0C 以上版本的 IDoc 数据记录
EDIDD_OLD  IDoc 数据记录
详细见 IDOC_TREE_CONTROLF01 程序142行开始
EDI40  IDoc 的内容
回复

使用道具 举报

CK_Rocky
不错,了解一些IDOC的基本知识!
回复 支持 反对

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表