成本中心ALE的IDOC实现

IDOC是比较老的SAP接口技术,很多新人都没用过这种方式。在这里以两个SAP系统间同步成本中心数据为例,介绍一下IDOC接口的完整配置。

背景:系统ST5 810中财务部门会维护成本中心主数据,创建或修改保存后需要同步更新到系统HD1 110中。

配置步骤如下:

  1. 在ST5 810和HD1 110分别定义逻辑系统

执行事务码SALE,定义逻辑系统,两边系统都需要定义
成本中心ALE的IDOC实现
2. SM59维护RFC目标,两个系统分别维护
成本中心ALE的IDOC实现
成本中心ALE的IDOC实现
3. 在发送端创建Distribution Model(BD64)

ST5810客户端中执行BD64
成本中心ALE的IDOC实现
成本中心ALE的IDOC实现
4. 在发送系统中创建伙伴参数(BD82)

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

输入BD82(或在BD64界面选中上一步所创建的模型视图,则点击菜单
成本中心ALE的IDOC实现
这样在下图中就不用输入模型视图了),在下图中输入分布模型视图(为上一步所创建的模型视图)以及伙伴系统,伙伴系统应该ALE另一方的逻辑系统名,而不是当前系统:
成本中心ALE的IDOC实现
选择执行功能后,系统将自动生成逻辑伙伴、端口(自动分配)以及输出参数。成功生成接收系统810伙伴参数后,日志界面:
成本中心ALE的IDOC实现
5. 检查发送端端口配置(WE21)
成本中心ALE的IDOC实现
6. 在发送端检查伙伴参数文件(WE20)
成本中心ALE的IDOC实现
双击COSMAS,检查基本类型
成本中心ALE的IDOC实现
7. 向目标端发布Distribution Model(BD64)

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

选定传输过来的Distribution Model,点击菜单Environment -> Generate Partner Profiles:
成本中心ALE的IDOC实现
成本中心ALE的IDOC实现
9. 检查接收端端口号(WE21)
成本中心ALE的IDOC实现
自动创建的端口号会使用之前建的目标连接。

  1. 检查接收端Partner Profile(WE20)
    成本中心ALE的IDOC实现
    成本中心ALE的IDOC实现
    该界面中最重要的内容是处理代码(即为进行具体IDoc处理的功能模块或工作流的代号),数据在所指定的处理中被写入IDoc或是从IDoc中读取出

确认Processcode为COSM,保存。默认情况下它可能自动选择了以A打头的Process code,如果是这种情况,需要修改处理代码。

  1. 跨系统公司代码参考文档“ALE-related configuration”

  2. 发起方定义后台作业传输数据

PS:喜欢的同学可以关注微信公众号
成本中心ALE的IDOC实现