您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > EDI+IDoc技术
EDI+IDoc技术MartinLi2013年4月21日星期日2全国免费咨询热线:400-011-210891ABAP官网:本章内容IDoc概述IDoc开发示例IDoc归档3全国免费咨询热线:400-011-210891ABAP官网:全国免费咨询热线:400-011-210891ABAP官网:概述IDoc(Intermediatedocument)是一种系统间通用的数据交换媒介文件,通过IDoc可以方便的和外部系统进行数据交换,它可以内/外传送以实现系统的自动化,在SAP中IDOC主要应用到以下技术:ALE(ApplicationLinkEnabling):用于在同一集团中不同的SAP系统之间的数据交换EDI(electronicdataexchange):实现不同企业间电子数据的交换,通过IDoc文件和业务伙伴进行数据交换通过IDoc也可连接其它应用系统右图展示的是以IDoc文件交换数据的逻辑示意图,由此可见以它做为通讯媒介构成了一个强大的分布且开放的系统5全国免费咨询热线:400-011-210891ABAP官网:的结构作为一种传输媒介,IDoc文件的结构包含有特定的格式,如下图所示:控制记录(ControlRecord)数据记录(DataRecord)状态记录(StatusRecord)IDoc结构SAP中一个IDoc的文件结构6全国免费咨询热线:400-011-210891ABAP官网:控制记录(ControlRecord)每个IDoc的ControlRecord可以认为是文件头,它包含发送及接收端,IDocID,发送日期等信息,当Idoc被触发时,SAP会首先检查这些信息是否正确7全国免费咨询热线:400-011-210891ABAP官网:数据记录(DataRecord)多个数据段(Segment)组成的一个层次结构,装载传输的数据且每个数据段不能超过1000个字符当发送或接收这些IDoc时,数据将会被解析到这些特定层级关系的数据段中8全国免费咨询热线:400-011-210891ABAP官网:状态记录(StatusRecord)用来记录IDOC从发送方到接受方的历史状态信息.IDOC状态示例系统状态列表(TCODE:WE47)通常,如果是自行开发的IDoc,可以在处理IDoc逻辑的FM中加入自已定义的状态,以此满足不同的需求.9全国免费咨询热线:400-011-210891ABAP官网:文件的结构定义和说明,在SAP中,不同的业务对象有不同的IDoc类型,这些类型可以根据不同的传输格式或数据要求多个并存.查看IDoc类型(TCODE:WE30)PATH:Tools-ALE-ALEDevelopment-IDoc-IDocTypeDevelopmentIDocTypes输入:1,在”Obj.Name”栏位输入类型右图的示例是标准供应商的IDoc类型10全国免费咨询热线:400-011-210891ABAP官网:消息类型(MessageType)消息类型是指IDoc类型的视图,一个消息类型可以包含多个IDoc类型.T-CODE:WE81定义消息类型T-CODE:WE82IDoc类型分配给消息类型,Release代表不同的版本11全国免费咨询热线:400-011-210891ABAP官网:数据段(Segment)T-CODE:WE31定义数据段数据段是IDoc的结构组件,这些数据段包含特定的数据类型,每个字段可以参照SAP数据字典,也可以自定义字段,保存后系统自动创建版本号.可以自定字段,以满足特殊的需求.12全国免费咨询热线:400-011-210891ABAP官网:处理流程如左图,按照系统间的数据流向,分为如下两种处理模式:1:出站处理(Outbound):SAP到外部系统.2:入站处理(Inbound):外部系统到SAP系统.如右图演示一个IDOC处理的过程:13全国免费咨询热线:400-011-210891ABAP官网:部分:它的流程可以理解成以下几个步骤:1),应用层:生成应用数据2),ALE层:创建出站IDOC3),通讯层:寻找伙伴和端口4),发送IDoc14全国免费咨询热线:400-011-210891ABAP官网:),通过应用模块的消息控制间接的传送到IDOC接口.伙伴参数的消息控制应用模块的输出类型对应通过消息控制的发送处理注意:IDOC和应用模块的消息类型有联系,但不是同一概念.15全国免费咨询热线:400-011-210891ABAP官网:),直接从应用发送到IDOC接口,这些处理主要是通过以下的FM控制:标准:MASTER_IDOC_DISTRIBUTE/COMMUNICATION_IDOC_CREATE自定义IDOC:L_IDOC_SEND/L_IDOC_SEGMENT_CREATE/L_IDOC_HEADER_CREATE直接发送IDOC的模型16全国免费咨询热线:400-011-210891ABAP官网:部分:它的流程可以理解成以下几个步骤:1),通讯层:接收入站端口传来的数据.2),ALE层:创建入站IDOC并通过伙伴参数文件查找IDOC处理类型.3),应用层:写入文档.Inbound应用处理1.直接处理:通过FMIDOC_INPUT_?处理.2.间接处理:通过SAP业务工作流处理.17全国免费咨询热线:400-011-210891ABAP官网:全国免费咨询热线:400-011-210891ABAP官网:传输主数据通常在实际应用中,为了简化系统过多的人为操作或更好的实现自动化,有时我们需要在同一集团内跨公司交易时传输相关的数据1).在SAP系统中同一集团A和B两个公司,A向B开PO并传出IDoc自动创建B公司的SO.2).在主数据中,可以方便的通过Idoc传输物料主档/BOM/WorkCenter/Routing/Vendor/Customer等资料.3).SAP也可轻易地做到跨Client交换数据.SAPR/3SenderSAPR/3ReceiverIDocFilesPortRFC19全国免费咨询热线:400-011-210891ABAP官网:用来配置IDoc逻辑命令集合1-1),配置发送和接收的逻辑系统.逻辑系统用来识别同一服务器上不同的Client唯一标识20全国免费咨询热线:400-011-210891ABAP官网:),将逻辑系统指派给Client(T-CODE:SCC4)在PRD系统,逻辑系统设定后,如果有数据产生,不能被更改.21全国免费咨询热线:400-011-210891ABAP官网:),创建RFC连接创建一个逻辑连接图1-3-1图1-3-2定义RFC连接目标时,首先指定连接名称,连接类型(如图1-3-1),描述等信息.22全国免费咨询热线:400-011-210891ABAP官网:如果是请转到屏幕如果编码类型设定有误,对于中文字符的传输会有乱码或不能执行IDoc等原因.测试RFC连接23全国免费咨询热线:400-011-210891ABAP官网:),定义端口IDoc通过端口和目标系统交换数据,它是接口中通信基础,请看以下逻辑示意图:端口类型RFC事务ALE分布式传输过程端口,外部系统也是R/3的解决方案.文件接口以文件形式输出,外部系统可以读取此IDoc文件CPI-C连接到R/2系统ABAP-编程接口将IDoc文件发送到用户定义的FM,以实现特殊的逻辑.XML文件格式输出到XML文件HTTP格式的XML文件输出到MIME(MultipurposeInternetMailExtensions)文件格式24全国免费咨询热线:400-011-210891ABAP官网:选中一个端口类型,点击按钮,在图1-4-2中输入端口号图1-4-1图1-4-2图1-4-3在图1-4-3中输入描述及RFC目标25全国免费咨询热线:400-011-210891ABAP官网:),定义分配模型T-CODE:BD64,用它可以完成在分布式逻辑中发送或接收的对象.传输过程序中筛选数据新建一个视图模型用BAPI处理IDoc逻辑添加一个消息类型1-5-1),点击”Createmodelview”.在此输入描述及技术名称,注意:技术名称在此必须是唯一的26全国免费咨询热线:400-011-210891ABAP官网:),点击”Addmessagetype”按钮增加Messagetype图1-5-2在图1-5-2中维护发送/接收者,消息类型,这三个参数是必须的,它们告诉SAP如何传输数据以及传输对象是什么.在Filter中可以定义或扩展筛选条件27全国免费咨询热线:400-011-210891ABAP官网:),自动建立伙伴参数,T-CODE:BD82选中一个消息类型,在菜单Environment-Generatepartnerprofiles.点击执行,系统自动建立Partnerprofile相关参数,以下是系统返回结果:28全国免费咨询热线:400-011-210891ABAP官网:),手工建立和检查伙伴参数,用此维护发送及接收端伙伴,进/出站,消息类型等参数,T-CODE:WE201-6-1),建立发送端参数维护进站参数Processcode都关联一个FM,用此来处理IDoc逻辑,也可以自定义Processcode,用自定义的FM29全国免费咨询热线:400-011-210891ABAP官网:),建立接收端参数维护出站参数设定端口(请参考端口的配转置及说明)立即执行必须设定BasicType物料主数据没有MessageControl,大部分IDoc一般用这个来触发.30全国免费咨询热线:400-011-210891ABAP官网:),测试IDoc(T-CODE:WE19)SAP可以有以下几种测试方式,常用的是ExistingIDOC和BasicType两种数据结构:EDID
本文标题:EDI+IDoc技术
链接地址:https://www.777doc.com/doc-5705807 .html