IDOC学习 (转)


From:http://blog.chinaunix.net/uid-23309125-id-2431819.html

Application Link Enabling ALE主要为了分布式业务系统而设计的。它可以使业务流程中的每个步骤分布在不同的SAP系统上,系统间可以通过IDoc交互数据.

IDoc可以认为是个信封,它捎带消息从发送系统到接收系统中,它们可以用于SAP系统或非SAP系统中。

IDoc中包含一个control record,其中有接收系统、发送系统的一些配置信息,还有多条data record,或status record.

一,Idoc:Intermediate document,系统间数据交换过程的媒介
1): 面向消息(message-oriented)
2): 异步(asynchronous)

二,IDoc的Structure和Type
1)最小结构单元:Segment数据段
2)控制记录(Control Record),也称为Idoc头
3) 数据记录(Data Record),不超过1000个字符的数据段文本
4)状态记录(Status Record),历史状态信息
5)Idoc类型(IDoc Type):定义了数据段以及数据段的层次和次序。标准SAP系统提供了IDOC类型,也称为基本类型(basis Type).
6) 数据段:命名部分包括SAP版本无关的数据段类型以及至少一个版本相关的数据段名称。
7) 数据段类型均为定义在数据字典中的ABAP结构。SAP标准数据段类型以E1作为前缀,数据段名称则以E2作为前缀。

三,IDoc Outbound process
1,系统中生成新的应用文档(即应用数据)
2,创建出站IDoc
3,寻找伙伴参数和端口
4,通过该端口将IDoc传递至外部系统
         4.1:通过消息控制的发送处理:消息查找和Idoc发送
         4.2:通过ALE的发送处理
                4.2.1,首先创建仅存在于运行时的Master IDoc
                4.2.2,传入FM: MSATER_IDOC_DISTRIBUTE
                4.2.3,调用FM: Communication_IDoc_Create,该FM对Master Idoc进行"过滤",过滤后的IDoc称为Communication IDoc
                4.4.4,调用FM: EDI_OUTPUT_NEW

四,IDoc Inbound process
1,从系统的入站端口中接受发送方的Idoc数据
2,创建入站Idoc (Inbound Idoc)
3,通过伙伴参数文档查找Idoc的处理类型
4,确定相关应用后写入文档
         4.1:直接处理
         4.2:通过SAP业务工作流

五,Idoc的Exception process
      通过工作流实现

六,Idoc的连接配置
1:Idoc数据交换的合作方必须在业务伙伴参数文档(Parter Profile,简称伙伴参数)中定义
2:端口配置(Port:WE21)
          文件接口(File)
          事务性RFC(Transcation RFC)
          CPI-C: 直接连接R/2
          编程接口:(ABAP-PI,Programming Interfase)
          文件格式的XML(XML File)
          HTTP格式的XML(XML HTTP)
3:伙伴参数的配置(WE20)
          通用设定、出站伙伴参数、入站伙伴参数
          通用设定:伙伴类型(Partner Type)和代码(Partner-Num)
          出站伙伴参数:伙伴功能、消息类型、消息代码、消息功能
          入站伙伴参数
4:代码处理设定(WE41和WE42)

七,Idoc开发
    A:Idoc类型编辑器(WE30)
    B:数据段类型(Segment Type)和数据段定义(Segment definition)   WE31

八,Idoc文档工具

九,Idoc的测试工具
        WE19:通用测试工具
        WE15:测试通过消息控制(Message Control)的出站过程
        WE14:测试直接出站过程
        WE18:测试状态、文档的创建
        WE17:测试状态、文档的处理
        WE12:测试入站处理:已更新的出站文档
        WE16:测试入站处理:原始入站文档
十,Idoc状态监控工具:WE02
    Idoc查找工具:WE09
    Idoc统计工具:WE07
   
十一,主动监控功能:设置后台作业RSEIDOCM

=============================================================

创建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:

从DEV300发送到SRM200

we31 开发Segment Type 出站配置
we30 开发IDOC Type
we81 开发Message Type
we82 Message Type 和 IDOC Type 绑定
BD64 增加消息类型
we20 配置发送系统出站信息
se38 编写发送程序
we14 若为黄灯,手动发送
we31 开发Segment Type 入站配置
we30 开发IDOC Type
we81 开发Message Type
we82 Message Type 和 IDOC Type 绑定
BD64 增加消息类型
se37 编写接收接口
we57 分配IDOC类型给处理函数
BD51 配置进站函数模块属性
we42 配置进站处理代码
we20 配置接收系统入站信息
we02 IDOC发送信息检查


WE02 显示IDOC,可以根据时间,IDOC类型查找IDOC,查看成功,出错信息。
WE46 IDOC管理(出\入)
WE60 IDOC类型文档(可以查看IDOC结构,和每个字段的描述.
WE19 根据IDOC号进行IDOC处理,可以修改IDOC值进行补发动作,处理分为内向和外向。
消息配置:
WE20 配置伙伴消息进和出IDOC类型
WE21 配置伙伴,

SALE - IMG ALE Configuration root
WE20 - Manually maintain partner profiles
BD64 - Maintain customer distribution model
BD71 - Distribute customer distribution model
SM59 - Create RFC Destinations
BDM5 - Consistency check (Transaction scenarios)
BD82 - Generate Partner Profiles
BD61 - Activate Change Pointers - Globally
BD50 - Activate Change Pointer for Msg Type
BD52 - Activate change pointer per change.doc object
BD59 - Allocation object type -> IDOC type
BD56 - Maintain IDOC Segment Filters
BD53 - Reduction of Message Types
BD21 - Select Change Pointer
BD87 - Status Monitor for ALE Messages
BDM5 - Consistency check (Transaction scenarios)
BD62 - Define rules
BD79 - Maintain rules
BD55 - Defining settings for IDoc conversion 

WEDI - ALE IDoc Administration
WE21 - Ports in Idoc processing
WE60 - IDoc documentation
SARA - IDoc archiving (Object type IDOC)
WE47 - IDoc status maintenance
WE07 - IDoc statistics 

BALE - ALE Distribution Administration
WE05 - IDoc overview
BD87 - Inbound IDoc reprocessing
BD88 - Outbound IDoc reprocessing
BDM2 - IDoc Trace
BDM7 - IDoc Audit Analysis
BD21 - Create IDocs from change pointers
SM58 - Schedule RFC Failures 

Basic config for Distributed data:
BD64: Maintain a Distributed Model
BD82: Generate Partner Profile
BD64: Distribute the distribution Model 

Programs:
RBDMIDOC – Creating IDoc Type from Change Pointers
RSEOUT00 – Process all selected IDocs (EDI)
RBDAPP01 - Inbound Processing of IDocs Ready for Transfer
RSARFCEX - Execute Calls Not Yet Executed
RBDMOIND - Status Conversion with Successful tRFC Execution
RBDMANIN - Start error handling for non-posted IDocs
RBDSTATE - Send Audit Confirmations
For testing you can use WE19