首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SAP—IDoc操作步骤

第一步为Client创建逻辑系统(SALE)

在ALE过程中,消息在系统之间,每一个ALE分布处理的参与系统必须拥有唯一的ID,这个ID即为逻辑系统。一般一个逻辑系统代指一个集团如果没有两个SAP系统,可以在一个SAP系统中的两个不同的Client端完成。我选择了800作为发送方,而810作为接收方。我将从800发送物料主数据到810中

如果参与ALE的两个集团不在同一SAP系统中,则需要在两边系统中分别为这两个集团设定逻辑系统名称,且要相同;如果是在同一SAP系统中不同集团之间,则只需要进行一次逻辑系统名称的定义即可,因为该设定是跨集团Client的。

第二步为Client指派逻辑系统(SALE)

定义好逻辑系统名后,可将名分配给相关的集团

系统中已经分配了逻辑系统的,只能重新分配了(即修改逻辑系统):

第三步维护RFC目标(SM59)

ALE的通信实例技术是RFC,需要为数据交换的对方维护RFC目标,以建立通信连接。由于是在SAP系统之间通信,所以选择ABAP连接类型

名称最好跟逻辑系统名称一致,以便于自动生成partner profile

第四步在发送端创建Distribution Model(BD64)

分布模型用于描述业务对象在逻辑系统间的分布流程。分布模型视图将所有系统分布情景组织起来集中维护,一旦在其视图中为两个逻辑系统分配了消息类型或BAPI,即建立了两个系统之间的连接

点击“创建模型视图”按钮:

选择刚创建的模型视频,点击“添加消息类型”按钮(或者点击“Add BAPI”以BAPI的方式实例ALE)

点击

保存。

第五步在发送系统中创建伙伴参数(BD82)

伙伴参数(partner profile)是Idoc发送和接收过程中的基本连接设定。在ALE中,需要将另一方设为伙伴,定义类型为逻辑系统的伙伴参数,才可完成通信。

输入BD82(或在BD64界面选中上一步所创建的模型视图,则点击菜单

,这样在下图中就不用输入模型视图了),在下图中输入分布模型视图(为上一步所创建的模型视图)以及伙伴系统,伙伴系统应该ALE另一方的逻辑系统名,而不是当前系统:

选择执行功能后,系统将自动生成逻辑伙伴、端口(自动分配)以及输出参数。成功生成接收系统810伙伴参数后,日志界面:

第六步检查发送端端口配置(WE21)

IDoc或其状态记录总是通过端口和外部系统进行传递的,是IDoc接口中系统通信相关的基础配置,代表SAP系统和伙伴系统的通信途径。对于每个外部系统都至少需要配置一个端口。在端口配置需指定目标系统

上一步中,从日志发现自动创建了A000000059的端口,并且使用的是前面我们创建RFC目标,可以使用WE21,展开事务性RFC,可以查看:

目标系统使用的是前面创建的RFC接连

6种端口类型,应用于不同的的IDoc传输实现方式:

第七步在发送端修改伙伴参数文件Partner Profile(WE20)

伙伴参数可以通过WE20手工设定,这里是自动生成的

在第五步之后,创建自动产生伙伴参数文件,通过事务代码WE20,可以查看与修改刚创建好的伙伴参数。

每个在ALE过程中需要传输的消息类型都将添加到端口的出站参数中,本例中所需关注的是物料主数据对应的消息类型MATMAS(CREMAS为其他模型视图所生成的):

双击 MATMAS消息,可以对其修改,将基本类型修改为MATMAS01:

第八步向目的端发布Distribution Model(BD64)

在发送系统800中维护了分布模型视图并根据该视图生成接收系统伙伴参数之后,还需在接收系统810中为发送系统维护伙伴参数,但目前接收系统中还不存在ALE分布模型视图,因此不能够自动创建伙伴参数。一个简单的解决方法是:将相关的ALE分布模型视图发布到接收系统中,然后就可以通过同样的视图在目标系统中自动生成发送系统的伙伴参数了,在800系统中,进入BD64界面,并选中MATMAS消息(否则有可能发布不了):

再登录810查看:

第九步在目的端生成Partner profile(BD64)

登录到810,T-code:BD64

选定传输过来的Distribution Model,点击菜单Environment -> Generate Partner Profiles:

第十步检查接收端端口号(WE21)

已经自动建立了端口,并且使用的是此前建立的目标连接

第十一步调整接收端Partner Profile(WE20)

选择新创建的Partner Type:ZCLIENT800,双击Inbound下的MATMAS:

该界面中最重要的内容是处理代码(即为进行具体IDoc处理的功能模块或工作流的代号),数据在所指定的处理中被写入IDoc或是从IDoc中读取出

将其Process code改成MATM,保存。如果你不修改这个,默认情况下它自动选择了以A打头的Process code,而并非物料主数据需要的MATM处理码:

一旦传输数据过来后,相应的处理模型不对应,会产生错误:

至此,整个IDoc发送与接收配置工作已经完成。

版权归原作者所有,如有侵权请联系删除。

更多资讯,欢迎扫码了解关注!

举报
领券