IDOC配置手册.doc
- 文档编号:230795
- 上传时间:2022-10-07
- 格式:DOC
- 页数:29
- 大小:842.50KB
IDOC配置手册.doc
《IDOC配置手册.doc》由会员分享,可在线阅读,更多相关《IDOC配置手册.doc(29页珍藏版)》请在冰豆网上搜索。
IDOC配置手册
作为目前ERP市场上最为领先的应用系统之一,一直以来,SAPR/3在提供API应用编程接口和接口工具方面也同样领先于其它ERP厂商。
ALE/IDocs是SAP公司为SAPR/3R4.6C版本所提供的接口机制,目前应用最为广泛。
在R4.0以后的版本中,又添加了技术上先进的BAPI。
本文作为系列介绍之一,对ALE/IDocs,BAPI以及其它可用的整合方式进行介绍。
1、ALE/IDocs是什么?
ALE是ApplicationLinkandEnabling的缩写,是SAP专门为SAP与SAP之间所设计的整合中间件。
IDocs是中介文本(IntermediateDOCument)的缩写,是SAP提供的系统整合专用的数据/消息格式。
ALE在SAP3.0版本开始就作为SAP整个应用体系的一部分,为分布式数据交换提供了可靠安全的通讯机制。
ALE的设计,原本作为两个SAP流程之间的一种消息传递服务(MessagingService),使SAP与SAP的业务流程之间企业数据能够有效的交换,为两个独立的SAP之间提供了的系统整合服务。
不过,随着应用的发展,ALE/IDocs接口机制也已然成为与其它非SAP系统的标准的整合方式。
ALE的设计结构可以分为三层,即应用层,数据/消息分配层和通讯层。
通讯层是SAP整合机制的基础,它利用远程功能呼叫RFC(RemoteFunctionCall)调用SAP系统的功能模块。
数据/消息分配层,主要提供三个关键服务:
按数据分配模型决定数据接收者。
消息的过滤和转换。
数据/消息的压缩,以提高传递效率。
应用层直接与SAP系统接口,生成或从其它系统接收含有路由信息的消息文本IDocs,包括消息接收者的姓名,要求发送的类型以及对消息进行处理的规则。
ALE的机制代替了原来的SAP所提供的批数据通讯BDC(BatchDataCommunication)方式。
顾名思义,BDC为系统之间提供了简单的数据批处理服务,还不能作为一种中间件技术,它没有提供系统之间进行无缝整合所要求的纠错功能、系统管理和其它安全措施。
总得说来,应用SAP的ALE机制进行SAP与SAP或非SAP系统整合有以下几个好处:
ALE技术不受SAP版本升级的影响,它提供了版本向后兼容性。
ALE定义于SAP应用层,与SAP的逻辑层相对独立,整个ALE中间件独立于发送和接收系统。
ALE消息设计逻辑保证消息的“一次且只有一次”的消息传递。
ALE采用“存储-发送”技术确保消息即使系统发生故障或接收方没有准备接收时也可以达到目的地。
这样就保证接收方不至于收到重复消息。
ALE也提供了IDocs管理功能。
主要有文本缩减、文本版本控制以及文本数据过滤。
三种控制机制使得SAP开发人员可以根据实际需要对IDocs文本在运行中进行动态处理。
ALE提供了系统管理功能,允许对ALE系统进行启动/复位/恢复等系统操作,为开发人员提供了进一步的管理控制。
IDoc几乎可以传带任何SAP应用的数据,是一种“外围”定义格式,与SAP的应用数据定义不直接相关。
IDocs已经广泛应用于早期的SAP-EDI的数据交换,因而它的设计有点类似于EDI的标准,即EDIFACT标准。
IDocs是以字符基础的,因而是可读的。
它有三种纪录类型,即:
控制纪录-含文本信息,如IDoc类型,发送/接收方信息以及文本标识。
数据纪录-含管理和实际数据部分。
状态纪录-用来追踪文本传递各点的状态,如状态码,系统时间,错误标识等。
1.自建IDOC类型 3
2.扩展标准IDOC 10
3.WE21,选择端口类型后点新建按钮 15
4.配置分布模型和伙伴参数 19
5.激活指针 23
RBDMIDOC增量发送程序 23
6.设置筛选器 24
7.异常处理 29
1.自建IDOC类型
1.1首先创建用来记录增量发送时间戮的自建表ZIDOC_LOG,结构如下图:
通过自建表来记录IDOC发送的时间戳,有一定的漏单危险,推荐每次取值设置的时间为当前时间往前一段时间来避免因为多次IDOC发送过程中遗漏的记录。
假如想统计或查询已发记录,可以通过自建表来保存已发送信息。
1.2WE31定义自定义段ZMKAL(用于自定义IDOC类型发布生产版本),开发完成后可设置批准,表示开发完成,如需修改则需要取消批准
1.3WE30定义基本类型ZMKAL_IDOC,将刚才定义的段ZMKAL挂在此类型下,开发完成后可设置版本,表示开发完成,如需修改则需要取消发布。
1.4WE81定义消息类型MKAL_IDOC。
1.5WE82把基本类型ZMKAL_IDOC分配给消息类型MKAL_IDOC。
1.6定义自定义IDOC类型所需的结构ZMKAL_LINE。
表结构,ZMKAL_TYP,对应行类型结构为ZMKAL_LINE
1.7创建发送生产版本IDOC用的函数:
ZMKAL_IDOC_SEND,
源代码如下,参数、异常定义见函数开头说明
FUNCTION zmkal_idoc_send .
*"----------------------------------------------------------------------
*"*"Local interface:
*" TABLES
*" ZMKAL TYPE ZMKAL_TYP
*" EXCEPTIONS
*" NO_IDOC
*" NO_MODEL
*"----------------------------------------------------------------------
*variables of general interest
DATA:
*control record for the IDoc
idoc_control LIKE edidc,
*data records for the IDoc
t_idoc_data LIKE edidd OCCURS 0 WITH HEADER LINE,
*table for the IDocs created by MASTER_IDOC_CONTROL
t_comm_control LIKE edidc OCCURS 0 WITH HEADER LINE,
*partner type for logical system
c_partner_type_logical_system LIKE edidc-rcvprt,
*help variable for the check if an IDoc has to be created
h_create_idoc.
* variables specific for this example
DATA:
* field strings with IDoc segment structure
e1xmkal TYPE zmkal_line,
* data to be put to the control record
c_message_type LIKE edidc-mestyp VALUE 'ZMKAL_IDOC',
c_base_idoc_type LIKE edidc-idoctp VALUE 'ZMKAL_IDOC',
* segment types to be put to the data record table
c_header_segtyp LIKE edidd-segnam VALUE 'ZMKAL'.
* check if an IDoc has to be created, read the distribution model
CALL FUNCTION 'ALE_MODEL_DETERMINE_IF_TO_SEND'
EXPORTING
message_type = c_message_type
* SENDING_SYSTEM = ' '
* RECEIVING_SYSTEM = ' '
* VALIDDATE = SY-DATUM
IMPORTING
idoc_must_be_sent = h_create_idoc.
* exceptions
* own_system_not_defined = 1
* others = 2.
IF h_create_idoc IS INITIAL.
raise no_model.
* no message flow maintained in the model, nothing to do
EXIT.
ENDIF.
* put the application header record to the IDoc
LOOP AT zmkal.
MOVE-CORRESPONDING zmkal TO e1xmkal.
* append record to IDoc data table
t_idoc_data-segnam = c_header_segtyp.
t_idoc_data-sdata = e1xmkal.
APPEND t_idoc_data.
ENDLOOP.
idoc_control-mestyp = c_message_type.
idoc_control-idoctp = c_base_idoc_type.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
* in update task "if application document is posted in update task
EXPORTING
master_idoc_control = idoc_control
TABLES
communication_idoc_control = t_comm_control
master_idoc_data = t_idoc_data
EXCEPTIONS
error_in_idoc_control = 1
error_writing_idoc_status = 2
error_in_idoc_data = 3
sending_logical_system_unknown = 4
OTHERS = 5.
* A commit work has to be done. It could also be done in the calling
* application.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IDOC 配置 手册