SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
IDoc 概述
IDoc 处理流程
IDoc 连接配置
IDoc 开发示例
SAP IDoc 技术
内容
IDoc 归档
IDoc 概述
IDoc (Intermediate document)是一种系统间通用的数据交换媒介文件,通过
IDoc可以方便的和外部系统进行数据交换,它可以内/外传送以实现系统的自
动化,在SAP中IDOC主要应用到以下技术:
>>ALE(Application Link Enabling):用于在同一集团中不同的SAP系统之间的数据交换
>>EDI(electronic data exchange):实现不同企业间电子数据的交换,通过IDoc文件和业
务伙伴进行数据交换
>>通过IDoc也可连接其它应用系统.
左图展示的是以IDoc文件交换数据的
逻辑示意图,由此可见以它做为通讯
媒介构成了一个强大的分布且开放的
系统
IDoc概述
IDoc的结构
作为一种传输媒介, IDoc文件的结构包含有特定的格式,如下图所示:
控制记录(Control
Record)
数据记录(Data Record)
状态记录(Status Record)
IDoc结构
SAP中一个IDoc的文件结构
IDoc概述
控制记录(Control
Record)
每个IDoc的Control Record可以认为是
文件头,它包含发送及接收端, IDoc ID,
发送日期等信息,当Idoc被触发时,SAP
会首先检查这些信息是否正确.
IDoc概述
多个数据段(Segment)组成的一个层
次结构,装载传输的数据且每个数据
段不能超过1000个字符
数据记录(Data Record)
当发送或接收这些IDoc时,数
据将会被解析到这些特定层
级关系的数据段中
IDoc概述
状态记录(Status Record) 用来记录IDOC从发送方到接受
方的历史状态信息.
IDOC状态示例 系统状态列表(TCODEl:WE47)
通常,如果是自行开发的IDoc,可以在
处理IDoc逻辑的FM中加入自已定义
的状态,以此满足不同的需求.
IDoc概述
IDoc类型
IDoc类型是IDoc文件的结构定义和说明,在SAP中,不同的业务对象有不同的IDoc类型,
这些类型可以根据不同的传输格式或数据要求多个并存.
查看IDoc类型(TCODE:WE30)
PATH: Tools -> ALE -> ALE Development -> IDoc -> IDoc Type Development IDoc Types
输入:
1,在” Obj. Name”栏位输入类型.
右图的示例是自定义委外加工PO的IDoc类型定义.
ZSUBH:委外PO的Header资料
ZSUBL_H:委外PO的Item资料
ZUBL:每个Item的装配组件资料.
IDoc概述
消息类型(Message Type)
消息类型是指IDoc类型的视图,一个消息类型可以包含多个IDoc类型.
T-CODE:WE81 定义消息类型
T-CODE:WE82 IDoc 类型分配给消息类型,Release代表不同的版本
IDoc概述
数据段(Segment)(T-CODE:WE31)
数据段是IDoc的结构组件,这些数据段包含特定的数据类型,每个字段可
以参照SAP数据字典,也可以自定义字段,保存后系统自动创建版本号.
可以自定字段,以满足
特殊的需求.
IDoc概述
IDoc处理流程
如左图,按照系统间的数据流向,分为如下两种
处理模式:
1:出站处理(Outbound): SAP 到外部系统.
2:入站处理(Inbound):外部系统到SAP系统.
如右图演示一个IDOC处理的过程:
IDoc概述
IDoc出站处理
如上图Outbound Processing部分:它的流程可以理解成以下几个步骤:
1),应用层:生成应用数据
2),ALE层:创建出站IDOC
3),通讯层:寻找伙伴和端口
4),发送 IDoc
IDoc概述
IDoc的出站触发机制
IDOC可以通过不同的机制发送IDOC:
1),通过应用模块的消息控制间接的传送到IDOC接口.
伙伴参数的消息控制
应用模块的输出类型
对应
通过消息控制的发送处理
注意:IDOC和应用模块的消息类型
有联系,但不是同一概念.
IDoc概述
IDoc的触发机制
IDOC可以通过不同的机制发送IDOC:
2),直接从应用发送到IDOC接口,这些处理主要是通过以下的FM控制:
标准:MASTER_IDOC_DISTRIBUTE/COMMUNICATION_IDOC_CREATE
自定义IDOC: L_IDOC_SEND /L_IDOC_SEGMENT_CREATE / L_IDOC_HEADER_CREATE
直接发送IDOC的模型
IDoc概述
IDoc入站处理
如上图Inbound Processing部分:它的流程可以理解成以下几个步骤:
1),通讯层:接收入站端口传来的数据.
2),ALE 层:创建入站IDOC并通过伙伴参数文件查找IDOC处理类型.
3),应用层:写入文档.
Inbound 应用处理
1.直接处理:通过FM IDOC_INPUT_?处理.
2.间接处理:通过SAP业务工作流处理.
IDoc示例
演示2个示例帮助理解IDoc具体工作模式和设计:
1,配置一个跨Client传输主数据的示例.
通常在实际应用中,为了简化系统过多的人为操作或更好的实现自动化,有时我们
需要在同一集团内跨公司交易时传输相关的数据,
例如:
1).在SAP系统中同一集团A和B两个公司,A向B开PO并传出IDoc自动创建B公司的SO.
2).在主数据中,可以方便的通过Idoc传输物料主档/BOM/Work
Center/Routing/Vendor/Customer等资料.
3).SAP也可轻易地做到跨Client交换数据.
SAP R/3
Sender
SAP R/3
Receiver
IDoc Files
Port
RFC
配置一个跨Client传输主数据的示例
T-CODE:SALE 用来配置IDoc逻辑命令集合
1-1),配置发送和接收的逻辑系统.
逻辑系统用来识别同一服务器上不同的Client唯一标识
1-2),将逻辑系统指派给Client(T-CODE:SCC4)
在PRD系统,逻辑系统设定后,如果有数据产生,不能被更改.
配置一个跨Client传输主数据的示例
1-3),创建RFC连接
创建一个逻辑连接
图1-3-1
图1-3-2
定义RFC连接目标时,首先指定连接名称,连接类型(如图1-3-1),描述等信息.
配置一个跨Client传输主数据的示例
在 屏幕维护目标Client的登入参数
请确认目标系统是否是Unicode,如果是请转到 屏幕
如果编码类型设定有误,对于中文字符的传
输会有乱码或不能执行IDoc等原因.
测试RFC连接
配置一个跨Client传输主数据的示例
1-4),定义端口
IDoc通过端口和目标系统交换数据,它是接口中通信基础,请看以下逻辑
示意图:
端口类型
RFC事务 ALE分布式传输过程端口,外部系统也是R/3的解决方案.
文件接口 以文件形式输出,外部系统可以读取此IDoc 文件
CPI-C 连接到R/2系统
ABAP-编程接口 将IDoc文件发送到用户定义的FM,以实现特殊的逻辑.
XML文件格式 输出到XML文件
HTTP格式的XML文件 输出到MIME(Multipurpose Internet Mail Extensions)文件格式
配置一个跨Client传输主数据的示例
定义端口T-CODE:WE21
选中一个端口类型,点击 按钮,在图1-4-2中输入端口号
图1-4-1
图1-4-2
图1-4-3
在图1-4-3中输入描述及RFC目标
配置一个跨Client传输主数据的示例
1-5),定义分配模型
T-CODE:BD64,用它可以完成在分布式逻辑中发送或接收的对象.
传输过程序中筛选数据
新建一个视图模型
用BAPI处理IDoc逻辑
添加一个消息类型
1-5-1),点击”Create model view”.
在此输入描述及技术名称,注意:技术名称在此必须是唯一的
配置一个跨Client传输主数据的示例
1-5-2),点击”Add message type”按钮增加Message type
图1-5-2
在图1-5-2中维护发送/接收者,消息类型,这三个参数是必须的,它们告诉SAP如何
传输数据以及传输对象是什么.
在Filter中可以定义或扩展筛选条件
配置一个跨Client传输主数据的示例
1-5-3),自动建立伙伴参数
选中一个消息类型,在菜单Environment->Generate partner profiles.
点击执行,系统自动建立Partner profile相关参数,以下是系统返回结果:
配置一个跨Client传输主数据的示例
1-6),手工建立和检查伙伴参数,用此维护发送及接收端伙伴,进/出站,消息
类型等参数, T-CODE:WE20
1-6-1),建立发送端参数 维护进站参数
Process code都关联一个FM,用此来处理IDoc逻辑,也可以自定义Process
code,用自定义的FM
配置一个跨Client传输主数据的示例
1-6-2),建立接收端参数 维护出站参数
设定端口(请
参考端口的配
转置及说明)
立即执行
必须设定Basic Type
物料主数据没有Message Control,大部分IDoc一般用这个来触发.
配置一个跨Client传输主数据的示例
1-7),测试IDoc(T-CODE:WE19)
SAP可以有以下几种测试方式,常用的是Existing IDOC和Basic Type两种
数据结构:
EDIDC: Control Records
E1*****:Data Records
配置一个跨Client传输主数据的示例
1-8)发送物料(T-CODE:BD10)
当点击”执行”后,系统分别会提示以下两个信息以告诉用户有多少IDoc产生
配置一个跨Client传输主数据的示例
1-9检查IDoc日志(T-CODE:WE02)
通常用这个来查看或监视IDoc 的执行结果和状态,如果有问题,例如一修
改一些测试数据可以放在WE19测试执行,以此找到IDOC的错误原因.
配置一个跨Client传输主数据的示例
可以按进/出站IDoc来查看结果
进一步显示单个IDOC的结果,SAP按照以下方式显示:
技术信息
如前所述,每个IDoc包含有Control Record, Data Record以及Status Record三个必须内容
配置一个跨Client传输主数据的示例
配置一个跨Client传输主数据的示例
第一个示例演示完毕.
小结:
1,配置逻辑系统
2,配置RFC连接
3,配置端口
4,配置分配模型
5,配置伙伴参数
6,如有必要可以在规则中设定转换规则(实际中也常用)
通常SAP会和外部非SAP系统交换数据,或客户及供应商的SAP系统交换数据,除直
接用编程的技术通过RFC和外部沟通外,IDOC也是一个很好的解决方案,以下示例
演示如何从头定义一个全新结构的IDoc.
2,自定义IDoc传输SO资料到外部系统.
自定义IDoc传输SO资料到外部系统示例
明细字段 参照字段 字段长度
VBELN VBELN_VA 10
POSNR POSNR_VA 6
MATNR MATNR 18
ZMENG DZMENG 13
表头字段 参照字段 字段长度
VBELN VBELN_VA 10
KUNNR KUNAG 10
AUART AUART 4
模拟情景:需要传输的数据结构,在实际应中可以定义更复杂的结构
自定义IDoc传输SO资料到外部系统示例
2-2),定义数据段(TCODE:WE31)
PATH: Tools -> ALE -> ALE Development -> IDoc -> IDoc Type Development-> Segments
定义传输的表头数据段:
在Segment Type栏位中输入ZORDH然后点选新增
如下图:输入需要传输的表头段的字段
当你保存后,系统自动生成000版本,同时可以
点选菜单(EDIT->>SET RELEASE) Release这个段.
自定义IDoc传输SO资料到外部系统示例
定义SO ITEM段结构:
很简单的三个步骤
自定义IDoc传输SO资料到外部系统示例
2-3),定义IDOC类型(T-CODE:WE30)
PATH: Tools -> ALE -> ALE Development -> IDoc -> IDoc Type Development -> IDoc Types
图2-3-1
图2-3-2
图2-3-3
选中IDOC Type,然后点选新增按钮
如图2-3-3:
Mandatory Seg.: 这表示必须要维护此Segment
Min. /Max Number: 最小/大的数量行
自定义IDoc传输SO资料到外部系统示例
继续添加子Segment:
输入方法同图2-3-3相同.
左图是IDOC类型的Segment层次结构.
自定义IDoc传输SO资料到外部系统示例
2-4),定义消息类型(T-CODE:WE81)
PATH: Tools -> ALE -> ALE Development -> IDoc -> IDoc Type Development-> Logical Messages
2-5),指定IDOC 类型到消息类型(TCODE:WE82)
PATH: Tools -> ALE -> ALE Development -> IDoc -> IDoc Type Development-> IDoc Type for Message
2-6),定义分布式模型(T-CODE:WE64)
自定义IDoc传输SO资料到外部系统示例
2-7),定义Outbound Function Module(T-CODE:SE37)
可以从标准的FM 复制过来
2-7-1),Import的参数必须存在
2-7-2),Export的参数必须存在
2-7-3),Tables的参数必须存在
这三个内容必须存在自定义的
FM中,它为底层访问提供了接
口
自定义IDoc传输SO资料到外部系统示例
2-8),FM的代码逻辑部份.
目标:将数据从VBAK/VBAP读取并写到DATA RECORD中
2-8-1),在FM的Global中加入用到的表.
2-8-2),在FM的逻辑中分三个处理片段
代码段1:根据需要处理Control Record
代码段2:读取销售单表头
代码段3:读取销售单项目行
自定义IDoc传输SO资料到外部系统示例
2-9),分配自定义FM到IDOC TYPE(T-CODE:WE57).
请注意:一定要在此指定后,在后续的Process Code维护才不会有问题
自定义IDoc传输SO资料到外部系统示例
2-10),定义Outbound Process Code(T-CODE:WE41)
上图是将定义好的Process Code分配给具体的Message Type,
通常这一步操作也非必须的.
自定义IDoc传输SO资料到外部系统示例
2-11),分定分发模型(TCODE:BD64)
自定义IDoc传输SO资料到外部系统示例
2-12).建立文件输出端口(T-CODE:WE20).
系统可以按Logical Directory和Physical
Directory两种方式来指定,传出的文件名
按指定的FM逻辑产生,同时系统也可以
自定义一些FM来满足需要产生特殊文
件名的需求.
特别是服务器
组的情况用这
种方式很好.
自定义IDoc传输SO资料到外部系统示例
2-13).建立伙伴参数(T-CODE:WE20)
2-13-1).维护出站参数:
分配消息类型,注意要和分配模型中的
消息类型对应
在Outbound Options中先指定端口为
刚刚配置的文件接口的端口,然后选择
立即执行标记,在Basic Type输入
ZORD01
注意:如果不清楚一个MSSAGE TYPE对应了哪
些BASIC TYPE,可以用T-CODE:WE82查到
自定义IDoc传输SO资料到外部系统示例
Message Control的作用及配置
Message Control在IDOC中起作触发IDOC执行的作用,通过配置可以在支持输出类型
的对象中触发IDoc.
在Application栏输入V1(每个模块中的对象都以Appli.区分),输入消息类型BA00(这
个也可以自定义),双击”ZORD_OUTBOUND”,可以看到之前定义的FM.
自定义IDoc传输SO资料到外部系统示例
2-14).维护入站参数:
自定义IDoc传输SO资料到外部系统示例
2-15).测试IDOC(注意:以下这些测试是手工加入,也可通过配置自动化).
2-15-1).点选SO主界面菜单中选择:
输入Output Type和伙伴
配置中的Message Type
中设定的类型相同,目的
是用此来触发IDOC.
点击
上图1~4,可根据情况而定,可批量或单独,可手工可自动执行
自定义IDoc传输SO资料到外部系统示例
2-15-2).在VA02中IDOC状态显示如下:
IDOC 归档
IDOC 归档
一般而言,归档不仅仅限于IDOC,也涉及到其它模块的数据归档,根据当地政府结
合本公司的实际需要定期将相关数做归档,以下是归档的逻辑:
在实际应用中,通常会按IDOC状态来做归
档,因为这些状态往往代表一个特定业务
流程的结束.
小结
本讲议介绍了IDOC技术在SAP的应用与具体实现方法,在实际应用中请注意以下
一些内容:
1,IDOC记录的结构:不管何种应用的IDOC,都存在控制记录,数据记录,状态记录三个部份.
2,IDOC的类型:IDOC的类型只是体现IDOC记录的数据结构,通俗地讲也只是告诉SAP需要组
织什么样的数据.
3,分配模型:告诉SAP如何通信,传输何种对象到目标系统.
4,端口:以何种方式处理收到的IDOC数据,如前所述,可以通过RFC传到另一SAP系统,也可以
以文件方式传到外部系等.

Weitere ähnliche Inhalte

Ähnlich wie SAP_IDoc.pdf

企业系统商务智能设计
企业系统商务智能设计企业系统商务智能设计
企业系统商务智能设计George Ang
 
Hyperion基础架构
Hyperion基础架构Hyperion基础架构
Hyperion基础架构Jack Wong
 
Ibm Soa编程模型
Ibm Soa编程模型Ibm Soa编程模型
Ibm Soa编程模型olderp
 
医药企业的数字化转型 - 逻辑数据结构策略
医药企业的数字化转型 - 逻辑数据结构策略医药企业的数字化转型 - 逻辑数据结构策略
医药企业的数字化转型 - 逻辑数据结构策略Denodo
 
如何快速实现数据编织架构
如何快速实现数据编织架构如何快速实现数据编织架构
如何快速实现数据编织架构Denodo
 
Big Data 101 一 一個充滿意圖與關聯世界的具體實現
Big Data 101 一 一個充滿意圖與關聯世界的具體實現Big Data 101 一 一個充滿意圖與關聯世界的具體實現
Big Data 101 一 一個充滿意圖與關聯世界的具體實現Fred Chiang
 
Cloud client : 达尔文信息云浏览器
Cloud client : 达尔文信息云浏览器Cloud client : 达尔文信息云浏览器
Cloud client : 达尔文信息云浏览器Ying LI
 
12.AISWare_DataOS_大数据操作系统_V4.3_ 产品白皮书.pdf
12.AISWare_DataOS_大数据操作系统_V4.3_ 产品白皮书.pdf12.AISWare_DataOS_大数据操作系统_V4.3_ 产品白皮书.pdf
12.AISWare_DataOS_大数据操作系统_V4.3_ 产品白皮书.pdfShan Fu
 
Modernising Data Architecture for Data Driven Insights (Chinese)
Modernising Data Architecture for Data Driven Insights (Chinese)Modernising Data Architecture for Data Driven Insights (Chinese)
Modernising Data Architecture for Data Driven Insights (Chinese)Denodo
 
逻辑数据编织如何完善IT架构,盘活数据资产
逻辑数据编织如何完善IT架构,盘活数据资产逻辑数据编织如何完善IT架构,盘活数据资产
逻辑数据编织如何完善IT架构,盘活数据资产Denodo
 
Compose forms more software solutions china_2012
Compose forms more software solutions china_2012Compose forms more software solutions china_2012
Compose forms more software solutions china_2012More Software Solutions
 
借助数据虚拟化,实现数据网格架构
借助数据虚拟化,实现数据网格架构借助数据虚拟化,实现数据网格架构
借助数据虚拟化,实现数据网格架构Denodo
 
Rockbay 20180403-scm saa s introduction
Rockbay 20180403-scm saa s introductionRockbay 20180403-scm saa s introduction
Rockbay 20180403-scm saa s introductionRalph Yin
 
Spiderweb項目簡報.pdf
Spiderweb項目簡報.pdfSpiderweb項目簡報.pdf
Spiderweb項目簡報.pdfSpiderweb
 
数据领导者的多云数据集成.pdf
数据领导者的多云数据集成.pdf数据领导者的多云数据集成.pdf
数据领导者的多云数据集成.pdfChunLei(peter) Che
 
Se shang hai_04_cloudybi
Se shang hai_04_cloudybiSe shang hai_04_cloudybi
Se shang hai_04_cloudybiTech2IPO
 
Keynote: What Is the next Big Data?
Keynote: What Is the next Big Data?Keynote: What Is the next Big Data?
Keynote: What Is the next Big Data?Etu Solution
 
ESD 2012 Keynote: What Is the next Big Data?
ESD 2012 Keynote: What Is the next Big Data?ESD 2012 Keynote: What Is the next Big Data?
ESD 2012 Keynote: What Is the next Big Data?Fred Chiang
 

Ähnlich wie SAP_IDoc.pdf (20)

企业系统商务智能设计
企业系统商务智能设计企业系统商务智能设计
企业系统商务智能设计
 
Hyperion基础架构
Hyperion基础架构Hyperion基础架构
Hyperion基础架构
 
Ibm Soa编程模型
Ibm Soa编程模型Ibm Soa编程模型
Ibm Soa编程模型
 
Ibm Soa编程模型
Ibm Soa编程模型Ibm Soa编程模型
Ibm Soa编程模型
 
医药企业的数字化转型 - 逻辑数据结构策略
医药企业的数字化转型 - 逻辑数据结构策略医药企业的数字化转型 - 逻辑数据结构策略
医药企业的数字化转型 - 逻辑数据结构策略
 
如何快速实现数据编织架构
如何快速实现数据编织架构如何快速实现数据编织架构
如何快速实现数据编织架构
 
Big Data 101 一 一個充滿意圖與關聯世界的具體實現
Big Data 101 一 一個充滿意圖與關聯世界的具體實現Big Data 101 一 一個充滿意圖與關聯世界的具體實現
Big Data 101 一 一個充滿意圖與關聯世界的具體實現
 
Cloud client : 达尔文信息云浏览器
Cloud client : 达尔文信息云浏览器Cloud client : 达尔文信息云浏览器
Cloud client : 达尔文信息云浏览器
 
12.AISWare_DataOS_大数据操作系统_V4.3_ 产品白皮书.pdf
12.AISWare_DataOS_大数据操作系统_V4.3_ 产品白皮书.pdf12.AISWare_DataOS_大数据操作系统_V4.3_ 产品白皮书.pdf
12.AISWare_DataOS_大数据操作系统_V4.3_ 产品白皮书.pdf
 
Modernising Data Architecture for Data Driven Insights (Chinese)
Modernising Data Architecture for Data Driven Insights (Chinese)Modernising Data Architecture for Data Driven Insights (Chinese)
Modernising Data Architecture for Data Driven Insights (Chinese)
 
逻辑数据编织如何完善IT架构,盘活数据资产
逻辑数据编织如何完善IT架构,盘活数据资产逻辑数据编织如何完善IT架构,盘活数据资产
逻辑数据编织如何完善IT架构,盘活数据资产
 
Compose forms more software solutions china_2012
Compose forms more software solutions china_2012Compose forms more software solutions china_2012
Compose forms more software solutions china_2012
 
借助数据虚拟化,实现数据网格架构
借助数据虚拟化,实现数据网格架构借助数据虚拟化,实现数据网格架构
借助数据虚拟化,实现数据网格架构
 
Rockbay 20180403-scm saa s introduction
Rockbay 20180403-scm saa s introductionRockbay 20180403-scm saa s introduction
Rockbay 20180403-scm saa s introduction
 
Spiderweb項目簡報.pdf
Spiderweb項目簡報.pdfSpiderweb項目簡報.pdf
Spiderweb項目簡報.pdf
 
数据领导者的多云数据集成.pdf
数据领导者的多云数据集成.pdf数据领导者的多云数据集成.pdf
数据领导者的多云数据集成.pdf
 
Se shang hai_04_cloudybi
Se shang hai_04_cloudybiSe shang hai_04_cloudybi
Se shang hai_04_cloudybi
 
Keynote: What Is the next Big Data?
Keynote: What Is the next Big Data?Keynote: What Is the next Big Data?
Keynote: What Is the next Big Data?
 
ESD 2012 Keynote: What Is the next Big Data?
ESD 2012 Keynote: What Is the next Big Data?ESD 2012 Keynote: What Is the next Big Data?
ESD 2012 Keynote: What Is the next Big Data?
 
Ria lqj
Ria lqjRia lqj
Ria lqj
 

SAP_IDoc.pdf