IDoc是 SAP 提供系统集成专用的数据/消息格式。它几乎可以传送任何 SAP 应用数据。IDoc是一种系统间通用数据交换的媒介文件(数据容器),而不是次交换过程。
IDocs以文本字符为基础,存储在数据库中,他独立于发送和接收系统,并且独立于数据交换的方向,因而方便的和外部系统进行数据交换,它可以内/外传送以实现系统自动化。
IDoc的类型是SAP中数据存储的类型,SAP定义了销售订单、发票,包括了这些字段组成,顺序和形式,IDoc类型其实就是系统中定义的结构,IDoc是由满足IDoc类型的数据集。
SAP中IDoc用到以下技术:
- ALE(Application Link Enabling):用于在同一集团中不同的SAP系统之间的数据交换
- EDI(electronic data exchange):实现不同企业间电子数据的交换,通过IDoc文件和业务伙伴进行数据交换
IDoc结构
IDoc中的信息从记录类型上分为控制记录、数据记录和状态记录3种。
- 控制记录:每个IDoc的Control Record可以认为是文件头,它包含发送及接收端, IDoc ID,发送日期等信息,当Idoc被触发时,SAP会首先检查这些信息是否正确.
- 数据记录:多个数据段(Segment)组成的一个层次结构,装载传输的数据且每个数据段不能超过1000个字符;当发送或接收这些IDoc时,数据将会被解析到这些特定层级关系的数据段中
- 状态记录:来记录IDOC从发送方到接受方的历史状态信息,用来追踪文本传递各点的状态,如状态码、系统时间、错误标识等。通常,如果是自行开发的IDoc,可以在处理IDoc逻辑的FM中加入自已定义的状态,以此满足不同的需求.
IDoc类型
IDoc类型是IDoc文件的结构定义和说明,在SAP中,不同的业务对象有不同的IDoc类型,这些类型可以根据不同的传输格式或数据要求多个并存.
查看IDoc类型(TCODE:WE30)
PATH: Tools -> ALE -> ALE Development -> IDoc -> IDoc Type Development IDoc Types
消息类型
消息类型是指IDoc类型的视图,一个消息类型可以包含多个IDoc类型
T-CODE:WE81 定义消息类型
T-CODE:WE82 IDoc 类型分配给消息类型,Release代表不同的版本
数据段
数据段是IDoc的结构组件,这些数据段包含特定的数据类型,每个字段可以参照SAP数据字典,也可以自定义字段,保存后系统自动创建版本号.
功能:向外部系统发送数据 从外部接收数据。
创建IDOC:
第一步:WE31 创建IDOC所包含的字段.
第二步:WE30 创建IDOC 把Segment分配给IDOC
第三步:WE81 创建信息类型
第四步:WE82 把IDOC类型与信息类型对应.
第五步:WE57 Assign Message & Idoc Type to a Function Module for Data Process
第六步:SM59 Define a RFC connection for Idoc transfer
第七步:WE21 Define a Port ( Assign a RFC destination which created in SM59 )
第八步:WE41/42 Creat Process Code
第九步:WE20 Define a Partner Profiles( Also creat a Outbound parameters with Port, or Inbound parameters with Process code )
管理IDOC:
WE02 显示IDOC,可以根据时间,IDOC类型查找IDOC,查看成功,出错信息。
WE46 IDOC管理(出\入)
WE60 IDOC类型文档(可以查看IDOC结构,和每个字段的描述.
WE19 根据IDOC号进行IDOC处理,可以修改IDOC值进行补发动作,处理分为内向和外向。
消息配置:
WE20 配置伙伴消息进和出IDOC类型
WE21 配置伙伴,