环境介绍
我在一套IDES系统中,将两个client模拟成发送方与接收方。因为所需传送的数据是client相关的,所以这个方案可行。
我选择了800作为发送方,而810作为接收方。我将从800发送物料主数据到810中。
操作步骤
第一步 为Client创建逻辑系统
T-code:SALE
IDoc Interface / Application Link Enabling (ALE) -> Basic Settings -> Logical Systems -> Define Logical System
点New Entries
创建并保存,返回
第二步 为Client指派逻辑系统
这次选Assign Logical System to Client
双击你要指派的Client
将逻辑系统指派给这个Client,保存
同样的为810指派了逻辑系统,保存并返回
第三步 创建RFC连接
Communication -> Create RFC Connection或T-code:SM59
选定ABAP Connections,点创建
输入名称及描述(名称最好跟你的逻辑系统名称一致,以便于自动生成partner profile),由于是相同的Instance,所以在Target Host这部分我不需要填。如果是不同的Instance,这里需要填上对端机器的机器名或IP,以及SAP系统号
切换到Logon & Security页,输入登录810的信息。我在810创建了一个用户,叫recuser。保存后点Connection Test
同样的创建了到800的连接
我在800创建了相应的用户,叫senduser。
第四步 在发送端创建Distribution Model
T-code:BD64
切换到编辑模式
点Create model View
输入相关值,点确定
选择新建的Model View,点Add message type
选择对应的发送方与接收方,以及信息类型,点确定
此时展开Model View可以看到这样的情形
Environment -> Generate Partner Profiles
选择相应值,点执行
生成成功,返回
第五步 检查发送端端口配置
T-code:WE21
展开Transactional RFC,它自动命名了一个端口号,但使用的是我们此前创建的RFC连接
第六步 修改发送端Partner Profile
T-code:WE20
展开Partner Type LS,找到与逻辑系统同名的Partner,双击信息类型
将Basic Type换成MATMAS01,保存
第七步 向目的端发布Distribution Model
Edit -> Model View -> Distribute
在弹出列表中选择810这个Client,确定
分发成功
第八步 在目的端生成Partner profile
登录到810,T-code:BD64
选定传输过来的Distribution Model,Environment -> Generate Partner Profiles
输入相关值,点执行
创建成功
第九步 检查接收端端口号
T-code:WE21
已经自动建立了端口,使用的是此前建立的连接
第十步 调整接收端Partner Profile
T-code:WE20
选择新创建的Partner Type:IDSCLNT800,双击Inbound下的MATMAS
将其Process code改成MATM,保存。如果你不修改这个,默认情况下它自动选择了以A打头的Process code,而并非物料主数据需要的MATM处理码。
一旦传输数据过来后,相应的处理模型不对应,会产生错误。
至此,整个IDoc发送与接收配置工作已经完成。