1, 基本概念
IDOC技术在早起版本的R/3系统就已经集成了,不过国内真正用起来还是05年以后了,其实IDOC是很强大的,在主数据和一些业务数据同步方面,几乎不需要做任何开发就可以配置完成,例如BD11,BD13这些事务就是已经做好的。
但是IDOC的整个配置,涉及了远程连接、ALE、消息控制、tRFC等技术的集成,所以要从整体架构上理解IDOC还是需要一些时间的。
IDOC支持异步、同步,可以收集一定数量的包后再发送,最重要的是,IDOC有完整的一套监控系统和错误处理机制。
IDOC支持SAP 系统集团之间,SAP-CRM/SRM/PI等之间,SAP-第三方系统之间的集成
通过系统预定义的IDOC类型,我们可以配置自动收集IDOC,挂JOB定时发送;也可以配置消息控制,例如采购订单,可以在创建后立即通过IDOC发送出去。
基于IDoc的应用技术有:
ALE(Application Link and Enabling)是SAP专门为SAP与SAP之间所设计的整合中间件,多用于同一个企业中不同SAP系统之间的数据交换,通过IDoc格式的数据创建分布式系统 。ALE从SAP 3.0版本开始就作为SAP整个应用体系的一部分,分布式数据交换提供了可靠安全的通讯机制。ALE的设计,原本作为两个SAP流程之间的一种消息传递服务,使SAP与SAP的业务流程之间数据能够有效的交换,为两个独立的SAP系统提供整合服务。不过随着应用的发展,ALE接口机制也成为了其它非SAP系统的标准整合方式。
EDI(Electronic Document Interchange,电子数据交换)其实就是采用标准格式的电子数据,用于在通讯网络中在业务伙伴间交换业务文档所用。你可这样理解EDI,就是大家都按相同的排列放置数据到一个数据文档中,并按相同的排列解析此文档以得到所需的内容。 EDI又被叫做无纸化交换。
IDoc(Intermediate Document,中转文档)是SAP提供的系统整合专用的数据/消息格式,它通过ALE方式来进行交换,而SAP就是IDoc提供了EDI的支持,你也可以把IDoc认为是EDI的一个实现。
IDoc的事务码比较多,不常用的话记不住,但SAP提供了一个事务码列出的基本上所有的IDoc相关的事务码,即wedi,运行结果如下:
2, 交换流程
EDI的交换有两个流程:
外发(Outbound process或简称OP)
接收(Inbound process或简称IP)
SAP也是完全遵循着EDI的这两个流程,并做了相应的实现。在外发过程中:
- 应用文档被创建
- IDoc生成
- IDoc从SAP传送到操作系统
- IDoc被转换成EDI标准格式
- EDI文件被传送到业务伙伴处(所以业务伙伴可以没有SAP,因为EDI是个标准)
- EDI子系统将传送的状态回报给SAP
在接收过程中:
- EDI文档被接收
- EDI文档被转换成IDoc
- IDoc传送到SAP层
- 应用文档在SAP中创建
- 应用文档现在可供浏览了
3, Process code
Process code处理代码设定(WE41、WE42、WE40、WE64)
处理代码用于确定数据写入IDoc或从IDoc读取的处理方式,处理代码对应具体的功能模块或者工作流。入站和出站处理的伙伴参数中都可以指定处理代码
4, IDoc的特性
每个IDoc都被分派了唯一的号码,用于跟踪及其后参考所用
IDoc包含多个段(segment),而段内包含有多个字段
IDoc包含有三种类型的记录:一条控制记录,一个或多个数据记录,一个或多个状态记录
IDoc type:IDoc结构,不同的SAP业务对象对应不同的IDoc类型(一个或多个)。IDoc类型中定义了数据段以及数据段的层级和次序
标准SAP系统提供的IDoc类型称为基本类型(Basic type),该类型可以通过IDoc扩展(Extention)进行调整,即在SAP IDoc类型结构的基础上增加新的数据段或者在数据段中增加新字段
IDoc定义及扩展(WE30)
如下面的FIDCCP01 IDoc类型对应于业务对象:账务凭证(FI Document):
5, 端口(Port)
端口用于外发流程,它判断EDI子系统程序名称、IDoc文件传送到操作系统的目录,IDoc文件名和RFC目的地
Tcode:WE21
6, RFC目的地
用于定义到远程系统通讯连接的特性以及需要调用何种功能
TCode:SM59
7, Partner Profile
Partner Profile指定在外发过程中所用的各类组件(业务伙伴号、IDoc类型、信息类型、端口、处理码等),通讯方式(异步或同步)以及当错误时通知何人
Tcode:WE20
8, message type
相关Tcode we81, 创建消息类型
WE82,连接message 类型和IDOC类型
9, IDoc类型定义相关函数
除IDoc类型定义工具外,SAP还提供了一系列与IDoc类型和数据段开发相关的功能模块
函数组EDIM中的SAP内部功能模块用于操作IDoc基本类型和扩展:
SE80:function group EDIM
10, IDoc其他工具
WE02:IDoc显示工具
WE09:在不知道IDoc类型、伙伴参数等技术细节情况下,有时不能通过IDoc控制记录中的信息来确定一个IDoc,如在需要通过其中所包含的应用数据来确定一个IDoc的情况下。如,需要查找包含物料A001的采购订单,此时就需要通过IDoc查找工具,该工具可以查找数据库及已经归档文件中的IDoc
以上。
辛苦 了,谢谢。
2019-05-22 6:30 上午